@idmwx/idmui-gl4 2.8.8 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-3VYIPD3A-73e25db9.js → chunk-3VYIPD3A-de747d6d.js} +1 -1
- package/dist/{chunk-ANSXOGKI-b2118bbc.js → chunk-ANSXOGKI-052d4843.js} +1 -1
- package/dist/{chunk-T4JIPPZO-dc555c11.js → chunk-T4JIPPZO-0e79060d.js} +1 -1
- package/dist/{download-31a0c019.js → download-3de535de.js} +3 -3
- package/dist/{index-44a5187f.js → index-1e2659ec.js} +41 -41
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/{rasterize-JS5G2XHH-a62dc60f.js → rasterize-JS5G2XHH-9f640430.js} +3 -3
- package/dist/{toBlob-e903c0f4.js → toBlob-0e8242d8.js} +3 -3
- package/dist/{toCanvas-99d0338b.js → toCanvas-6ad4bbd7.js} +2 -2
- package/dist/{toImg-8919c669.js → toImg-418ff752.js} +3 -3
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as a } from "./chunk-3VYIPD3A-
|
|
1
|
+
import { W as a } from "./chunk-3VYIPD3A-de747d6d.js";
|
|
2
2
|
async function o(r, t) {
|
|
3
3
|
let i = await a(r, t), e = new Image();
|
|
4
4
|
return e.src = i.toDataURL(`image/${t.format}`, t.quality), await e.decode(), e.style.width = `${i.width / t.dpr}px`, e.style.height = `${i.height / t.dpr}px`, e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { m as d } from "./chunk-T4JIPPZO-
|
|
2
|
-
import { W as f } from "./chunk-3VYIPD3A-
|
|
3
|
-
import "./index-
|
|
1
|
+
import { m as d } from "./chunk-T4JIPPZO-0e79060d.js";
|
|
2
|
+
import { W as f } from "./chunk-3VYIPD3A-de747d6d.js";
|
|
3
|
+
import "./index-1e2659ec.js";
|
|
4
4
|
import "axios";
|
|
5
5
|
import "vuetify";
|
|
6
6
|
import "vue";
|
|
@@ -13462,7 +13462,7 @@ function vu(e, t, o, i, a, r) {
|
|
|
13462
13462
|
"xlink:href": `#icon-lng-${o.theme}`
|
|
13463
13463
|
}, null, 8, kh)
|
|
13464
13464
|
])),
|
|
13465
|
-
n("div", null, b(e.$t("spot.
|
|
13465
|
+
n("div", null, b(e.$t("spot.lat")), 1)
|
|
13466
13466
|
]),
|
|
13467
13467
|
L(p, { class: "ma-0" }, {
|
|
13468
13468
|
default: C(() => [
|
|
@@ -13472,14 +13472,17 @@ function vu(e, t, o, i, a, r) {
|
|
|
13472
13472
|
}, {
|
|
13473
13473
|
default: C(() => [
|
|
13474
13474
|
L(m, {
|
|
13475
|
-
modelValue: a.form.
|
|
13476
|
-
"onUpdate:modelValue": t[0] || (t[0] = (w) => a.form.
|
|
13477
|
-
rules: a.formRules.
|
|
13475
|
+
modelValue: a.form.latDegree,
|
|
13476
|
+
"onUpdate:modelValue": t[0] || (t[0] = (w) => a.form.latDegree = w),
|
|
13477
|
+
rules: a.formRules.latDegree,
|
|
13478
|
+
label: "",
|
|
13478
13479
|
density: "compact",
|
|
13479
13480
|
variant: "outlined",
|
|
13480
|
-
|
|
13481
|
+
height: "32px",
|
|
13482
|
+
"min-height": "32px",
|
|
13481
13483
|
required: "",
|
|
13482
|
-
dense: ""
|
|
13484
|
+
dense: "",
|
|
13485
|
+
class: "text-body-1 input-btn-bg-1"
|
|
13483
13486
|
}, null, 8, ["modelValue", "rules"]),
|
|
13484
13487
|
t[10] || (t[10] = n("span", { class: "px-1" }, "°", -1))
|
|
13485
13488
|
]),
|
|
@@ -13492,9 +13495,9 @@ function vu(e, t, o, i, a, r) {
|
|
|
13492
13495
|
}, {
|
|
13493
13496
|
default: C(() => [
|
|
13494
13497
|
L(m, {
|
|
13495
|
-
modelValue: a.form.
|
|
13496
|
-
"onUpdate:modelValue": t[1] || (t[1] = (w) => a.form.
|
|
13497
|
-
rules: a.formRules.
|
|
13498
|
+
modelValue: a.form.latMinute,
|
|
13499
|
+
"onUpdate:modelValue": t[1] || (t[1] = (w) => a.form.latMinute = w),
|
|
13500
|
+
rules: a.formRules.latMinute,
|
|
13498
13501
|
label: "",
|
|
13499
13502
|
density: "compact",
|
|
13500
13503
|
variant: "outlined",
|
|
@@ -13520,10 +13523,10 @@ function vu(e, t, o, i, a, r) {
|
|
|
13520
13523
|
height: "32",
|
|
13521
13524
|
class: "text-body-1 btn-bg-1",
|
|
13522
13525
|
style: { border: "1px solid rgba(var(--v-theme-on-surface), 0.38)" },
|
|
13523
|
-
onClick: t[2] || (t[2] = (w) => a.form.
|
|
13526
|
+
onClick: t[2] || (t[2] = (w) => a.form.latDirection = a.form.latDirection === "N" ? "S" : "N")
|
|
13524
13527
|
}, {
|
|
13525
13528
|
default: C(() => [
|
|
13526
|
-
me(b(a.form.
|
|
13529
|
+
me(b(a.form.latDirection), 1)
|
|
13527
13530
|
]),
|
|
13528
13531
|
_: 1
|
|
13529
13532
|
})
|
|
@@ -13539,7 +13542,7 @@ function vu(e, t, o, i, a, r) {
|
|
|
13539
13542
|
"xlink:href": `#icon-lng-${o.theme}`
|
|
13540
13543
|
}, null, 8, Lh)
|
|
13541
13544
|
])),
|
|
13542
|
-
n("div", null, b(e.$t("spot.
|
|
13545
|
+
n("div", null, b(e.$t("spot.lng")), 1)
|
|
13543
13546
|
]),
|
|
13544
13547
|
L(p, { class: "ma-0" }, {
|
|
13545
13548
|
default: C(() => [
|
|
@@ -13549,17 +13552,14 @@ function vu(e, t, o, i, a, r) {
|
|
|
13549
13552
|
}, {
|
|
13550
13553
|
default: C(() => [
|
|
13551
13554
|
L(m, {
|
|
13552
|
-
modelValue: a.form.
|
|
13553
|
-
"onUpdate:modelValue": t[3] || (t[3] = (w) => a.form.
|
|
13554
|
-
rules: a.formRules.
|
|
13555
|
-
label: "",
|
|
13555
|
+
modelValue: a.form.lngDegree,
|
|
13556
|
+
"onUpdate:modelValue": t[3] || (t[3] = (w) => a.form.lngDegree = w),
|
|
13557
|
+
rules: a.formRules.lngDegree,
|
|
13556
13558
|
density: "compact",
|
|
13557
13559
|
variant: "outlined",
|
|
13558
|
-
|
|
13559
|
-
"min-height": "32px",
|
|
13560
|
+
class: "text-body-1 input-btn-bg-1",
|
|
13560
13561
|
required: "",
|
|
13561
|
-
dense: ""
|
|
13562
|
-
class: "text-body-1 input-btn-bg-1"
|
|
13562
|
+
dense: ""
|
|
13563
13563
|
}, null, 8, ["modelValue", "rules"]),
|
|
13564
13564
|
t[12] || (t[12] = n("span", { class: "px-1" }, "°", -1))
|
|
13565
13565
|
]),
|
|
@@ -13572,9 +13572,9 @@ function vu(e, t, o, i, a, r) {
|
|
|
13572
13572
|
}, {
|
|
13573
13573
|
default: C(() => [
|
|
13574
13574
|
L(m, {
|
|
13575
|
-
modelValue: a.form.
|
|
13576
|
-
"onUpdate:modelValue": t[4] || (t[4] = (w) => a.form.
|
|
13577
|
-
rules: a.formRules.
|
|
13575
|
+
modelValue: a.form.lngMinute,
|
|
13576
|
+
"onUpdate:modelValue": t[4] || (t[4] = (w) => a.form.lngMinute = w),
|
|
13577
|
+
rules: a.formRules.lngMinute,
|
|
13578
13578
|
label: "",
|
|
13579
13579
|
density: "compact",
|
|
13580
13580
|
variant: "outlined",
|
|
@@ -13600,10 +13600,10 @@ function vu(e, t, o, i, a, r) {
|
|
|
13600
13600
|
height: "32",
|
|
13601
13601
|
class: "text-body-1 btn-bg-1",
|
|
13602
13602
|
style: { border: "1px solid rgba(var(--v-theme-on-surface), 0.38)" },
|
|
13603
|
-
onClick: t[5] || (t[5] = (w) => a.form.
|
|
13603
|
+
onClick: t[5] || (t[5] = (w) => a.form.lngDirection = a.form.lngDirection === "E" ? "W" : "E")
|
|
13604
13604
|
}, {
|
|
13605
13605
|
default: C(() => [
|
|
13606
|
-
me(b(a.form.
|
|
13606
|
+
me(b(a.form.lngDirection), 1)
|
|
13607
13607
|
]),
|
|
13608
13608
|
_: 1
|
|
13609
13609
|
})
|
|
@@ -17280,52 +17280,52 @@ Ce.capture = async (e, t, o) => {
|
|
|
17280
17280
|
if (o !== wr)
|
|
17281
17281
|
throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");
|
|
17282
17282
|
let i = await br(e, t), a = { img: async (f, d) => {
|
|
17283
|
-
let { toImg: u } = await import("./toImg-
|
|
17283
|
+
let { toImg: u } = await import("./toImg-418ff752.js");
|
|
17284
17284
|
return u(i, { ...f, ...d || {} });
|
|
17285
17285
|
}, svg: async (f, d) => {
|
|
17286
|
-
let { toSvg: u } = await import("./toImg-
|
|
17286
|
+
let { toSvg: u } = await import("./toImg-418ff752.js");
|
|
17287
17287
|
return u(i, { ...f, ...d || {} });
|
|
17288
17288
|
}, canvas: async (f, d) => {
|
|
17289
|
-
let { toCanvas: u } = await import("./toCanvas-
|
|
17289
|
+
let { toCanvas: u } = await import("./toCanvas-6ad4bbd7.js");
|
|
17290
17290
|
return u(i, { ...f, ...d || {} });
|
|
17291
17291
|
}, blob: async (f, d) => {
|
|
17292
|
-
let { toBlob: u } = await import("./toBlob-
|
|
17292
|
+
let { toBlob: u } = await import("./toBlob-0e8242d8.js");
|
|
17293
17293
|
return u(i, { ...f, ...d || {} });
|
|
17294
17294
|
}, png: async (f, d) => {
|
|
17295
|
-
let { rasterize: u } = await import("./rasterize-JS5G2XHH-
|
|
17295
|
+
let { rasterize: u } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17296
17296
|
return u(i, { ...f, ...d || {}, format: "png" });
|
|
17297
17297
|
}, jpeg: async (f, d) => {
|
|
17298
|
-
let { rasterize: u } = await import("./rasterize-JS5G2XHH-
|
|
17298
|
+
let { rasterize: u } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17299
17299
|
return u(i, { ...f, ...d || {}, format: "jpeg" });
|
|
17300
17300
|
}, webp: async (f, d) => {
|
|
17301
|
-
let { rasterize: u } = await import("./rasterize-JS5G2XHH-
|
|
17301
|
+
let { rasterize: u } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17302
17302
|
return u(i, { ...f, ...d || {}, format: "webp" });
|
|
17303
17303
|
}, download: async (f, d) => {
|
|
17304
|
-
let { download: u } = await import("./download-
|
|
17304
|
+
let { download: u } = await import("./download-3de535de.js");
|
|
17305
17305
|
return u(i, { ...f, ...d || {} });
|
|
17306
17306
|
} }, r = { ...t, export: { url: i }, exports: { svg: async (f) => {
|
|
17307
|
-
let { toSvg: d } = await import("./toImg-
|
|
17307
|
+
let { toSvg: d } = await import("./toImg-418ff752.js");
|
|
17308
17308
|
return d(i, { ...t, ...f || {}, [$e]: !0 });
|
|
17309
17309
|
}, canvas: async (f) => {
|
|
17310
|
-
let { toCanvas: d } = await import("./toCanvas-
|
|
17310
|
+
let { toCanvas: d } = await import("./toCanvas-6ad4bbd7.js");
|
|
17311
17311
|
return d(i, { ...t, ...f || {}, [$e]: !0 });
|
|
17312
17312
|
}, png: async (f) => {
|
|
17313
|
-
let { rasterize: d } = await import("./rasterize-JS5G2XHH-
|
|
17313
|
+
let { rasterize: d } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17314
17314
|
return d(i, { ...t, ...f || {}, format: "png", [$e]: !0 });
|
|
17315
17315
|
}, jpeg: async (f) => {
|
|
17316
|
-
let { rasterize: d } = await import("./rasterize-JS5G2XHH-
|
|
17316
|
+
let { rasterize: d } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17317
17317
|
return d(i, { ...t, ...f || {}, format: "jpeg", [$e]: !0 });
|
|
17318
17318
|
}, jpg: async (f) => {
|
|
17319
|
-
let { rasterize: d } = await import("./rasterize-JS5G2XHH-
|
|
17319
|
+
let { rasterize: d } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17320
17320
|
return d(i, { ...t, ...f || {}, format: "jpeg", [$e]: !0 });
|
|
17321
17321
|
}, webp: async (f) => {
|
|
17322
|
-
let { rasterize: d } = await import("./rasterize-JS5G2XHH-
|
|
17322
|
+
let { rasterize: d } = await import("./rasterize-JS5G2XHH-9f640430.js");
|
|
17323
17323
|
return d(i, { ...t, ...f || {}, format: "webp", [$e]: !0 });
|
|
17324
17324
|
}, blob: async (f) => {
|
|
17325
|
-
let { toBlob: d } = await import("./toBlob-
|
|
17325
|
+
let { toBlob: d } = await import("./toBlob-0e8242d8.js");
|
|
17326
17326
|
return d(i, { ...t, ...f || {}, [$e]: !0 });
|
|
17327
17327
|
}, img: async (f) => {
|
|
17328
|
-
let { toImg: d } = await import("./toImg-
|
|
17328
|
+
let { toImg: d } = await import("./toImg-418ff752.js");
|
|
17329
17329
|
return d(i, { ...t, ...f || {}, [$e]: !0 });
|
|
17330
17330
|
} } }, l = await yp("defineExports", r), c = Object.assign({}, ...l.filter((f) => f && typeof f == "object")), s = { ...a, ...c };
|
|
17331
17331
|
s.jpeg && !s.jpg && (s.jpg = (f, d) => s.jpeg(f, d));
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as M, D as g, L as n, a as x, b as D, M as T, g as S, f as W, P as f, d as h, T as k, V as y, W as V, e as d } from "./index-
|
|
1
|
+
import { c as M, D as g, L as n, a as x, b as D, M as T, g as S, f as W, P as f, d as h, T as k, V as y, W as V, e as d } from "./index-1e2659ec.js";
|
|
2
2
|
import "axios";
|
|
3
3
|
import "vuetify";
|
|
4
4
|
import "vue";
|
package/dist/index.umd.cjs
CHANGED
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
<path
|
|
215
215
|
d="M420.66666667 959.17a16.08 16.08 0 0 1-15.91-13.49A15.89 15.89 0 0 1 415.50666667 928c1.49-0.55 38.88-14.76 72.79-65.52A354.55 354.55 0 0 1 162.66666667 509.17a450.14 450.14 0 0 1 450.5-450.5 16.07 16.07 0 0 1 15.91 13.48 15.88 15.88 0 0 1-10.75 17.66c-1.58 0.58-39.13 14.9-73.07 65.95A354.22 354.22 0 0 1 871.66666667 509.17a16 16 0 0 1-0.52 4.05A450.14 450.14 0 0 1 420.66666667 959.17zM554.80666667 94.72C351.57666667 123.2 194.66666667 298.21 194.66666667 509.17c0 177.08 144.06 321.74 321.13 322.48a16 16 0 0 1 14.07 23.49c-16.11 30.42-34.27 52.37-50.85 68C682.25666667 894.63 839.16666667 719.63 839.16666667 508.67a15.94 15.94 0 0 1 0.47-3.86C837.30666667 329.33 693.82666667 187 517.80666667 186.67A16 16 0 0 1 503.66666667 163.21c16.21-30.69 34.47-52.79 51.14-68.49z"
|
|
216
216
|
fill="#ffffff" p-id="18386"></path>
|
|
217
|
-
</svg>`,me=document.createElement("div");me.className="idm-tropical-gl4-hourly-marker",me.innerHTML=`<div class="${P.geometry.coordinates[1]>=0?"center north":"center south"}">${re}</div>`;const he=new _e.Marker(me).setLngLat(P.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(he)}this.$emit("tropicalCenterPoints",Z)}else(N=this.map)!=null&&N.getSource(this.interpolateSource)&&((A=this.map)==null||A.getSource(this.interpolateSource).setData(this.empty))},handleClick(e){var i,l,n,c,s,d,m,g,u,y,f;const t=e.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(h=>{var p;return h.geometry.type==="LineString"&&h.properties.type==="forecast"&&h.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)}),r=(c=(n=this.tropicals)==null?void 0:n.data)==null?void 0:c.features.filter(h=>{var p;return h.geometry.type==="LineString"&&h.properties.type==="history"&&h.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)});this.activeTropicals={name:((s=t==null?void 0:t.properties)==null?void 0:s.name)||"-",nameCn:((d=t==null?void 0:t.properties)==null?void 0:d.nameCn)||((m=t==null?void 0:t.properties)==null?void 0:m.name)||"-",Name:((g=t==null?void 0:t.properties)==null?void 0:g.Name)||"-",forecasts:a.map(h=>h.properties),history:(u=r[0])==null?void 0:u.properties,showCircle:(f=(y=a[0])==null?void 0:y.properties)==null?void 0:f.showCircle},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([e.lngLat.lng,e.lngLat.lat])},drawTropicalsInfoMaker(e){this.$nextTick(()=>{const t=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(e).setOffset([220,0]):this.activeTropicalsMarker=new _e.Marker(t).setLngLat(e).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var e;(e=this.activeTropicalsMarker)==null||e.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(e){var r,i,l,n,c,s;e.disabled=!e.disabled;const t=`${e.name}-${e.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(d=>{d.properties.category===t&&(d.properties.disabled=e.disabled)}),this.interpolateData.forEach(d=>{d.properties.category===t&&(d.properties.disabled=e.disabled)}),(n=(l=this.map)==null?void 0:l.getSource(this.source))==null||n.setData(J.featureCollection(a)),(s=(c=this.map)==null?void 0:c.getSource(this.clusterSource))==null||s.setData(J.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(e){this.$emit("tropicalProbability",e)},handleToggleCircles(e){var t,a;e.showCircle=!e.showCircle,(a=(t=this.tropicals.data)==null?void 0:t.features)==null||a.forEach(r=>{r.properties.name===e.name&&(r.properties.showCircle=e.showCircle)}),this.handleRender()},handleComputePolygons(e){const t=[];for(const a of e){const r=a.properties.wind,i={ne:r.r7ne>=0?r.r7ne:void 0,se:r.r7se>=0?r.r7se:void 0,sw:r.r7sw>=0?r.r7sw:void 0,nw:r.r7nw>=0?r.r7nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});t.push(l);const n={ne:r.r10ne>=0?r.r10ne:void 0,se:r.r10se>=0?r.r10se:void 0,sw:r.r10sw>=0?r.r10sw:void 0,nw:r.r10nw>=0?r.r10nw:void 0},c=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});t.push(c)}return t},handleComputeArc(e,t,a){var l;const r=[];for(const n in t){const c=t[n]??0;let s;switch(n){case"ne":s=J.lineArc(e,c,0,90,{steps:c>0?32:1,units:"nauticalmiles"});break;case"se":s=J.lineArc(e,c,90,180,{steps:c>0?32:1,units:"nauticalmiles"});break;case"sw":s=J.lineArc(e,c,180,270,{steps:c>0?32:1,units:"nauticalmiles"});break;case"nw":s=J.lineArc(e,c,270,360,{steps:c>0?32:1,units:"nauticalmiles"});break}r.push(...(l=s==null?void 0:s.geometry)==null?void 0:l.coordinates)}const i=J.lineString(r);return J.lineToPolygon(i,{properties:a})},handleNotification(e){this.$emit("tropicalNotification",e)},handleHover(e){var i,l,n,c,s;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(e.point,{layers:[this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]})[0];this.hoverPoint=a==null?void 0:a.properties;const r=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(d=>{var m;return d.geometry.type==="LineString"&&d.properties.type==="forecast"&&d.properties.name===((m=a==null?void 0:a.properties)==null?void 0:m.name)});this.hoverPoint&&(this.hoverPoint.lng=a.geometry.coordinates[0],this.hoverPoint.lat=a.geometry.coordinates[1],this.hoverPoint.update=(c=(n=r==null?void 0:r[0])==null?void 0:n.properties)==null?void 0:c.date,(s=this.hoverMarker)==null||s.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const d=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new _e.Marker(d).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var e;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(e=this.hoverMarker)==null||e.remove(),this.hoverMarker=void 0}}},vm={class:"idm-tropical-gl4"},zm={class:"pb-1"},Lm={class:"text-h5 font-weight-600"},Cm={key:0,class:"text-h5 font-weight-600"},Sm={class:"text-body-1"},Nm={class:"text-label"},Pm={class:"d-flex justify-space-between align-center"},Mm={class:"w-60"},Tm={class:"text-label pr-1"},Vm={class:"flex-1-1-0"},Em={class:"text-label pr-1"},Rm={class:"py-2 d-flex justify-space-between align-center"},Dm={class:"w-60"},Bm={class:"text-label pr-1"},Im={class:"flex-1-1-0"},Am={class:"text-label pr-1"},Fm={class:"d-flex align-center flex-1-1-100 justify-space-between mt-n1"},Gm={class:"text-label pr-1",style:{width:"70px"}},Wm={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},Zm={class:"more"},Om={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},jm={class:"pa-1"},Xm={class:"legend d-flex justify-start align-center py-2"},Hm={class:"label"},Ym={class:"legend d-flex justify-start align-center py-2"},Um={class:"label"},Jm={class:"legend d-flex justify-start align-center py-2"},$m={class:"label"},Km={class:"pa-1"},qm={class:"legend d-flex justify-start align-center py-2"},Qm={class:"label"},ed={class:"legend d-flex justify-start align-center py-2"},td={class:"label"},od={class:"legend d-flex justify-start align-center py-2"},ad={class:"label"},id={class:"pa-1"},rd={class:"w-100 legend d-flex justify-start align-center py-2 ga-2"},ld={class:"label"},nd={class:"label"},sd={class:"w-100 legend d-flex justify-start align-center py-2"},cd={class:"label"},md={class:"w-100 legend d-flex justify-start align-center py-2"},dd={class:"label"},hd={key:1,class:"my-3 w-100",style:{height:"80px"}},pd={class:"legend d-flex justify-start align-center"},gd={class:"label"},ud={class:"legend d-flex justify-start align-center"},fd={class:"label"},yd={class:"legend d-flex justify-start align-center"},bd={class:"label"},wd={class:"legend d-flex justify-start align-center"},xd={class:"label"},kd={class:"legend d-flex justify-start align-center"},_d={class:"label"},vd={class:"legend d-flex justify-start align-center"},zd={class:"label"},Ld={class:"legend d-flex justify-start align-center"},Cd={class:"label"},Sd={class:"legend d-flex justify-start align-center"},Nd={class:"label"},Pd={class:"legend d-flex justify-start align-center"},Md={class:"label"},Td={class:"legend d-flex justify-start align-center"},Vd={class:"label"},Ed={class:"d-flex justify-star align-center"},Rd={class:"font-weight-600 mr-1"},Dd={class:""},Bd={class:"port-box d-flex flex-column justify-center align-start ga-2"},Id={key:0,class:"d-flex justify-start align-center"},Ad={class:"text-label pr-1"},Fd={key:1,class:"d-flex justify-start align-center"},Gd={class:"text-label pr-1"},Wd={key:2,class:"d-flex justify-start align-center"},Zd={class:"text-label pr-1"},Od={key:3,class:"d-flex justify-start align-center"},jd={class:"text-label pr-1"},Xd={key:4,class:"d-flex justify-start align-center"},Hd={class:"text-label pr-1"},Yd={key:5,class:"d-flex justify-start align-center"},Ud={class:"text-label pr-1"},Jd={class:"d-flex justify-start align-center"},$d={class:"text-label pr-1"},Kd={key:6,class:"d-flex justify-start align-center"},qd={class:"text-label pr-1"},Qd={key:7,class:"d-flex justify-start align-center"},eh={class:"text-label pr-1"},th={class:"d-flex justify-start align-center"},oh={class:"text-label pr-1"};function ah(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardText"),d=o.resolveComponent("VDivider"),m=o.resolveComponent("VCardActions"),g=o.resolveComponent("VCard"),u=o.resolveComponent("v-card-title"),y=o.resolveComponent("v-divider");return o.openBlock(),o.createElementBlock("div",vm,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("tropical.tropicals"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:f})=>[o.createVNode(n,o.mergeProps(f,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[3]||(t[3]=[o.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[3]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showTropicalsInfo&&!e.$attrs.hideTropicalsLegend?(o.openBlock(),o.createElementBlock("div",{key:0,ref:"tropicalsInfo",id:"idm-tropical-gl4-info",class:o.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[o.createVNode(g,{class:o.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_,z,S,M;return[o.createElementVNode("div",zm,[o.createElementVNode("span",Lm,o.toDisplayString(a.locale==="en"?(f=i.activeTropicals)==null?void 0:f.Name:((h=i.activeTropicals)==null?void 0:h.nameCn)||((p=i.activeTropicals)==null?void 0:p.Name)||"-"),1),(x=(w=i.activeTropicals)==null?void 0:w.history)!=null&&x.levelI18n?(o.openBlock(),o.createElementBlock("span",Cm," , "+o.toDisplayString(e.$t("tropical."+((k=(b=i.activeTropicals)==null?void 0:b.history)==null?void 0:k.levelI18n))),1)):o.createCommentVNode("",!0)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:o.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:o.withCtx(()=>t[4]||(t[4]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createElementVNode("div",Sm,[o.createElementVNode("span",Nm,o.toDisplayString(e.$t("actions.lastUpdate"))+": ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTime(((_=(L=i.activeTropicals)==null?void 0:L.history)==null?void 0:_.updated)||((M=(S=(z=i.activeTropicals)==null?void 0:z.forecasts)==null?void 0:S.filter(T=>!T.disabled)[0])==null?void 0:M.date),a.timeZone)),1)])]}),_:1}),o.createVNode(d),o.createVNode(s,{class:"text-body-1 py-3"},{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_;return[o.createElementVNode("div",Pm,[o.createElementVNode("div",Mm,[o.createElementVNode("label",Tm,o.toDisplayString(e.$t("weather.windSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((h=(f=i.activeTropicals)==null?void 0:f.history)==null?void 0:h.kts)||"-")+" kts",1),o.createElementVNode("span",null,", BF "+o.toDisplayString(l.computeBF(((w=(p=i.activeTropicals)==null?void 0:p.history)==null?void 0:w.kts)||"-")),1)]),o.createElementVNode("div",Vm,[o.createElementVNode("label",Em,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((b=(x=i.activeTropicals)==null?void 0:x.history)==null?void 0:b.pressure)||"-")+" hPa",1)])]),o.createElementVNode("div",Rm,[o.createElementVNode("div",Dm,[o.createElementVNode("label",Bm,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((k=l.computeMovement(i.activeTropicals))==null?void 0:k.kts)||"-")+" kts",1)]),o.createElementVNode("div",Im,[o.createElementVNode("label",Am,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((L=l.computeMovement(i.activeTropicals))==null?void 0:L.deg)||"-")+"°",1)])]),o.createElementVNode("div",Fm,[o.createElementVNode("label",Gm,o.toDisplayString(e.$t("tropical.models"))+" : ",1),o.createElementVNode("div",Wm,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((_=i.activeTropicals)==null?void 0:_.forecasts,(z,S)=>(o.openBlock(),o.createBlock(n,{key:S,density:"compact",variant:z.disabled?"text":"flat",color:z.disabled?"":"primary","min-width":30,class:o.normalizeClass(["model text-none text-body-1 px-1",z.disabled?"btn-border-1 btn-bg-1":""]),onClick:o.withModifiers(M=>l.handleForecastToggle(z),["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(z.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),o.createVNode(d),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(m,{key:0,class:"d-flex justify-space-between"},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:t[0]||(t[0]=o.withModifiers(f=>i.showLegend=!i.showLegend,["stop"]))},{prepend:o.withCtx(()=>t[5]||(t[5]=[o.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("weather.legend")),1)]),_:1},8,["color"]),o.createElementVNode("div",Zm,[a.permission&i.helper.LEVEL.Supper?(o.openBlock(),o.createBlock(n,{key:0,variant:"text",density:"compact",class:"text-none text-body-1",onClick:t[1]||(t[1]=o.withModifiers(f=>l.handleNotification(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.notify")),1)]),_:1})):o.createCommentVNode("",!0),o.createVNode(n,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:t[2]||(t[2]=o.withModifiers(f=>l.handleStrikeProbability(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.viewReport")),1)]),_:1})])]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(o.openBlock(),o.createElementBlock("div",Om,[o.createElementVNode("div",jm,[o.createElementVNode("div",Xm,[t[6]||(t[6]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",Hm,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",Ym,[t[7]||(t[7]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",Um,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",Jm,[t[8]||(t[8]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",$m,o.toDisplayString(e.$t("tropical.sty")),1)])]),o.createElementVNode("div",Km,[o.createElementVNode("div",qm,[t[9]||(t[9]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",Qm,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",ed,[t[10]||(t[10]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",td,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",od,[t[11]||(t[11]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",ad,o.toDisplayString(e.$t("tropical.superTy")),1)])]),o.createElementVNode("div",id,[o.createElementVNode("div",rd,[t[12]||(t[12]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",ld,o.toDisplayString(e.$t("tropical.history")),1),t[13]||(t[13]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",sd,[t[14]||(t[14]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",cd,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",md,[t[15]||(t[15]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",dd,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])])])):(o.openBlock(),o.createElementBlock("div",hd,[o.withDirectives(o.createVNode(g,{elevation:"16"},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{class:o.normalizeClass(["pa-1 d-flex justify-space-between align-center flex-wrap",a.locale==="zhHans"?" ga-2":" ga-3"])},[o.createElementVNode("div",pd,[t[16]||(t[16]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",gd,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",ud,[t[17]||(t[17]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",fd,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",yd,[t[18]||(t[18]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",bd,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",wd,[t[19]||(t[19]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",xd,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",kd,[t[20]||(t[20]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",_d,o.toDisplayString(e.$t("tropical.sty")),1)]),o.createElementVNode("div",vd,[t[21]||(t[21]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",zd,o.toDisplayString(e.$t("tropical.superTy")),1)]),o.createElementVNode("div",Ld,[t[22]||(t[22]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Cd,o.toDisplayString(e.$t("tropical.history")),1)]),o.createElementVNode("div",Sd,[t[23]||(t[23]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",Pd,[t[24]||(t[24]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Md,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",Td,[t[25]||(t[25]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",Vd,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])],2),[[o.vShow,i.showLegend]])]),_:1})]),_:1},512),[[o.vShow,i.showLegend]])]))],2)):o.createCommentVNode("",!0),o.withDirectives(o.createVNode(g,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"280"},{default:o.withCtx(()=>[o.createVNode(u,null,{default:o.withCtx(()=>{var f,h,p,w;return[o.createElementVNode("div",Ed,[o.createElementVNode("span",Rd,o.toDisplayString(a.locale==="en"?(f=i.hoverPoint)==null?void 0:f.Name:((h=i.hoverPoint)==null?void 0:h.nameCn)||((p=i.hoverPoint)==null?void 0:p.Name)),1),o.createElementVNode("span",Dd," ["+o.toDisplayString(e.$t("tropical."+((w=i.hoverPoint)==null?void 0:w.levelI18n)))+"]",1)])]}),_:1}),o.createVNode(y),o.createVNode(s,{class:"text-body-1"},{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_,z,S,M,T,E,I,G,j,H,ae,N;return[o.createElementVNode("div",Bd,[((f=i.hoverPoint)==null?void 0:f.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Id,[o.createElementVNode("label",Ad,o.toDisplayString(e.$t("tropical.updated"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((h=i.hoverPoint)==null?void 0:h.update,a.timeZone)),1)])):o.createCommentVNode("",!0),((p=i.hoverPoint)==null?void 0:p.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Fd,[o.createElementVNode("label",Gd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((w=i.hoverPoint)==null?void 0:w.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((x=i.hoverPoint)==null?void 0:x.type)==="history"?(o.openBlock(),o.createElementBlock("div",Wd,[o.createElementVNode("label",Zd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((b=i.hoverPoint)==null?void 0:b.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((k=i.hoverPoint)==null?void 0:k.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Od,[o.createElementVNode("label",jd,o.toDisplayString(e.$t("tropical.model"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((L=i.hoverPoint)==null?void 0:L.model)??"-"),1)])):o.createCommentVNode("",!0),((_=i.hoverPoint)==null?void 0:_.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Xd,[o.createElementVNode("label",Hd,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((S=JSON.parse((z=i.hoverPoint)==null?void 0:z.wind))==null?void 0:S.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((M=i.hoverPoint)==null?void 0:M.type)==="history"?(o.openBlock(),o.createElementBlock("div",Yd,[o.createElementVNode("label",Ud,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((T=i.hoverPoint)==null?void 0:T.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",Jd,[o.createElementVNode("label",$d,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((E=i.hoverPoint)==null?void 0:E.pressure)??"-")+" hPa",1)]),((I=i.hoverPoint)==null?void 0:I.type)==="history"?(o.openBlock(),o.createElementBlock("div",Kd,[o.createElementVNode("label",qd,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((j=JSON.parse((G=i.hoverPoint)==null?void 0:G.movement))==null?void 0:j.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((H=i.hoverPoint)==null?void 0:H.type)==="history"?(o.openBlock(),o.createElementBlock("div",Qd,[o.createElementVNode("label",eh,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((N=JSON.parse((ae=i.hoverPoint)==null?void 0:ae.movement))==null?void 0:N.deg)??"-")+" °",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",th,[o.createElementVNode("label",oh,o.toDisplayString(e.$t("tropical.position"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[o.vShow,i.showHoverPoint]])])}const Ho=Q(_m,[["render",ah]]),kf="",ih={name:"DateTimePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},bgClass:{type:String,default:""},locale:{type:String,default:"en"},style:{type:Object,default:{}},intervalHour:{type:Number,default:3},timeZone:{type:Number},dateTime:{type:String},dayAbout:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["dateTime","currentTimestamp","currentRealTime","minTimestamp","maxTimestamp"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,minTimestamp:void 0,maxTimestamp:void 0,currentDate:void 0,currentTime:void 0,currentTimestamp:void 0,currentDateTimeZ:void 0,currentDateTime:void 0,currentRealTime:void 0,timer:null}},computed:{getStyle(){const e=this.width||220;if(this.position==="top")return{bottom:"40px",left:`-${(420-e)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(420-e)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-428px"};if(this.position==="right")return{bottom:"-140px",right:"-428px"}},hourOptions(){const e=[];for(let t=0;t<24;t++)e.push(t<10?`0${t}:00`:`${t}:00`);return e.filter((t,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return C.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>C.tz(C(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(e,t){e!==t&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(e,t){e&&this.handleResetDateTime(this.dateTime)},immediate:!0},currentTimestamp:{handler(){this.currentDateTimeZ=C(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("dateTime",this.currentDateTimeZ),this.$emit("currentTimestamp",this.currentTimestamp),this.currentDateTime=`${C.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},currentRealTime:{handler(e,t){e!==t&&this.$emit("currentRealTime",this.currentRealTime)}}},mounted(){this.timer=setInterval(()=>{this.currentRealTime=`${C.tz(C().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},100),document.addEventListener("click",this.handleClickOutside)},unmounted(){clearInterval(this.timer),this.handleCancelDate(),document.removeEventListener("click",this.handleClickOutside)},methods:{handleReset(){this.handleResetDateTime(),this.handleResetMinMax()},handleResetDateTime(e){var i;const t=C(e).utc().date(),a=Math.ceil(C(e).utc().hour()/3)*3;this.currentTimestamp=((i=C(e))==null?void 0:i.utc().set({date:t,hour:a,minute:0,second:0,millisecond:0}).unix())*1e3;const r=C.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=r.clone().format("YYYY-MM-DD"),this.currentTime=r.clone().format("HH:00"),this.currentDateTime=`${C.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.currentRealTime=`${C.tz(C().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},handleResetMinMax(){var i,l,n,c,s;if(!this.dayAbout.h||!this.dayAbout.f)return;const e=C().utc().date(),t=Math.ceil(C().utc().hour()/3)*3,a=((i=C())==null?void 0:i.utc().set({date:e,hour:t,minute:0,second:0,millisecond:0}).unix())*1e3,r=C.tz(a,this.timeZoneName).clone();this.minDate=r.clone().add(this.dayAbout.h,"day").format("yyyy-MM-DD"),this.maxDate=r.clone().add(this.dayAbout.f,"day").format("yyyy-MM-DD"),this.minTimestamp=((n=(l=C())==null?void 0:l.utc())==null?void 0:n.set({date:e+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((s=(c=C())==null?void 0:c.utc())==null?void 0:s.set({date:e+this.dayAbout.f,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.$emit("minTimestamp",this.minTimestamp),this.$emit("maxTimestamp",this.maxTimestamp)},handleOpenDatePicker(){this.disabled||(this.showDatePicker=!this.showDatePicker)},handleUpdateMonth(e){const t=e||C.tz(this.currentTimestamp,this.timeZoneName).clone().month(),a=this.locale==="en"?C.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("MMM"):C.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){const e=C(this.currentDate).format("yyyy-MM-DD"),t=this.currentTime,a=`${e} ${t}`,r=C.tz(a,"YYYY-MM-DD HH:00",this.timeZoneName).clone().tz(this.localTimeZoneName);this.currentTimestamp=r.unix()*1e3,this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1;const e=C.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=e.clone().format("YYYY-MM-DD"),this.currentTime=e.clone().format("HH:00")},handleClickOutside(e){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(e.target)&&(this.showDatePicker=!1)}}},rh={class:"idm-gl4-time-picker",ref:"idmGl4Timepicker"},lh={class:"pa-0",style:{width:"320px"}},nh={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},sh={class:"d-flex justify-center align-center text-body-2",style:{height:"44px"}};function ch(e,t,a,r,i,l){const n=o.resolveComponent("VDatePicker"),c=o.resolveComponent("VDivider"),s=o.resolveComponent("VListItemTitle"),d=o.resolveComponent("VListItem"),m=o.resolveComponent("VList"),g=o.resolveComponent("VCardText"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VCardActions"),f=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",rh,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:o.normalizeClass([[a.bgClass,{"cursor-pointer":!a.disabled}],"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-center px-2"]),onClick:t[0]||(t[0]=(...h)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...h))},o.toDisplayString(i.currentDateTime)+" | UTC "+o.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),7),i.showDatePicker?(o.openBlock(),o.createBlock(f,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(g,{class:"w-100 flex-1-1-0 d-flex pa-0 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",lh,[o.createVNode(n,{modelValue:i.currentDate,"onUpdate:modelValue":t[1]||(t[1]=h=>i.currentDate=h),min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":""},null,8,["modelValue","min","max"])]),o.createVNode(c,{class:"h-100",vertical:""}),o.createElementVNode("div",nh,[o.createElementVNode("div",sh,o.toDisplayString(e.$t("time.time")),1),o.createVNode(m,{class:"pa-0 flex-1-1-0 scroll"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.hourOptions,(h,p)=>(o.openBlock(),o.createBlock(d,{key:p,value:h,color:"primary",active:i.currentTime===h,rounded:"",height:"26","min-height":"26",class:"rounded-xl",variant:i.currentTime===h?"flat":"text"},{default:o.withCtx(()=>[o.createVNode(s,{class:"text-body-2 font-weight-600 text-center",onClick:w=>i.currentTime=h},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(h),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active","variant"]))),128))]),_:1})])]),_:1}),o.createVNode(c),o.createVNode(y,{class:"w-100 d-flex justify-end align-center px-4 ga-4",style:{height:"50px"}},{default:o.withCtx(()=>[o.createVNode(u,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const qe=Q(ih,[["render",ch]]),_f="",mh={name:"IdmPoint",components:{DateTimePicker:qe},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},token:{type:String},defaultMeteoToken:{type:String},theme:{type:String,default:"zh"},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},gateway:{type:String},timeZone:{type:Number},forecastModel:{type:String},realTime:{type:String},followList:{type:Array}},emits:["meteoMore","follow","cancelFollow","login"],data(){return{right:10,toggle:!1,showForm:!1,showMeteo:!1,loading:!1,form:{lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:""},formRules:{lngDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,3}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=180||"0 ~ 180"],lngMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],latDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,2}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=90||"0 ~ 90"],latMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"]},meteoData:void 0,currentHourData:{},positionOffset:void 0,positionGmt:void 0,positionMarker:void 0,meteoInfoMarker:void 0}},computed:{timeZoneNames(){return C.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>C.tz(C(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},computedTzTime(){return e=>C.tz(C(e),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return e=>{var r,i,l;const t=Number((r=this.positionOffset)==null?void 0:r.slice(1,3))*(+(((i=this.positionOffset)==null?void 0:i.slice(1))==="+")?1:-1),a=(l=this.timeZoneNames.filter(n=>C.tz(C(),n).utcOffset()===t*60))==null?void 0:l[0];return e?C.tz(C(e),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(t>=0?"+":"")+t+")":"-"}},computePosition(){return function(e){return!e||e.lng===null||e.lng===void 0||isNaN(e.lng)||e.lat===null||e.lat===void 0||isNaN(e.lat)?"-":X.LngLatHelper.lat2pretty(e==null?void 0:e.lat,2).pretty+" / "+X.LngLatHelper.lng2pretty(e==null?void 0:e.lng,2).pretty}},computeRoundPrecision(){return function(e,t=4){return e==null||isNaN(e)||isNaN(t)?"-":X.LngLatHelper.roundPrecision(e,t)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){this.toggle?this.showForm=!0:(this.showForm=!1,this.showMeteo=!1),this.map&&this.handleBind()},immediate:!0},map:{handler(){this.toggle=!1,this.map&&this.toggle&&this.handleBind()}},showForm:{handler(){this.showForm?this.$nextTick(()=>{var e;(e=this.$refs.spotForm)==null||e.resetValidation()}):this.handleCloseForm()}},showMeteo:{handler(){var e,t,a,r,i,l;this.showMeteo?((a=(t=(e=this.$parent)==null?void 0:e.$refs)==null?void 0:t.idmBottomBar)==null||a.handleToggle("spot",!0),this.simple&&this.$nextTick(()=>{var n,c;this.$parent.playerBottom=((c=(n=this.$refs.spotMeteo)==null?void 0:n.$el)==null?void 0:c.clientHeight)+10})):((l=(i=(r=this.$parent)==null?void 0:r.$refs)==null?void 0:i.idmBottomBar)==null||l.handleToggle("spot",!1),this.simple&&(this.$parent.playerBottom=30))}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime,this.showMeteo&&this.fetchData())}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(e,t){!e&&t&&(this.form.forecastModel=t==="GFS"?"ECMWF":"GFS")}}},methods:{handleMenuToggle(){this.isLogin?this.toggle=!this.toggle:this.$emit("login")},submitForm(){this.handleCloseMeteo(),this.$refs.spotForm.validate().then(async e=>{e!=null&&e.valid&&this.fetchData()})},cancelForm(){var e;(e=this.$refs.spotForm)==null||e.reset(),this.form={lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:this.forecastModel}},handleCloseForm(){this.showForm=!1,this.cancelForm(),this.toggle=!1},async fetchData(){var a;if(isNaN(this.form.latDegree)||isNaN(this.form.latMinute)||isNaN(this.form.lngDegree)||isNaN(this.form.lngMinute))return!1;this.form.lat=(Number(this.form.latDegree??0)+Number(this.form.latMinute??0)/60)*(this.form.latDirection==="N"?1:-1),this.form.lng=(Number(this.form.lngDegree??0)+Number(this.form.lngMinute??0)/60)*(this.form.lngDirection==="E"?1:-1);const e=C();((a=C(this.realTime))==null?void 0:a.diff(e,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel);let r={lat:e.lat,lng:e.lng,datetime:C(e.dateTime).utc().format(),forecastDays:e.day??3,weatherModels:t,marineModels:a};await ge.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel),r={lat:e.lat,lng:e.lng,datetime:C(e.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:t,marineModels:a};await ge.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(e){var a,r,i,l,n,c,s,d,m,g,u,y,f,h,p,w,x,b,k,L,_,z,S,M,T,E,I,G,j,H,ae,N,A,F,Y,D,R,Z,P,K,re;this.currentHourData={},this.positionGmt=(r=(a=e==null?void 0:e.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=e==null?void 0:e.weather)==null?void 0:i[0])==null?void 0:l.offset;const t=((n=Ae.Meteo2Assist.pickHourly(e,C(this.form.dateTime)))==null?void 0:n[0])||{};this.currentHourData.utc=t.utc,this.currentHourData.lat=e.lat,this.currentHourData.lng=e.lng,this.currentHourData.temp=this.computeRoundPrecision((c=t==null?void 0:t.weather)==null?void 0:c.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((d=(s=t==null?void 0:t.weather)==null?void 0:s.precip)==null?void 0:d.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((g=(m=t==null?void 0:t.weather)==null?void 0:m.precip)==null?void 0:g.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((u=t==null?void 0:t.weather)==null?void 0:u.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((f=(y=t==null?void 0:t.weather)==null?void 0:y.wind)==null?void 0:f.kts,1)??"-",this.currentHourData.windDir=((p=(h=t==null?void 0:t.weather)==null?void 0:h.wind)==null?void 0:p.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((x=(w=t==null?void 0:t.weather)==null?void 0:w.wind)==null?void 0:x.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((k=(b=t==null?void 0:t.weather)==null?void 0:b.wind)==null?void 0:k.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((_=(L=t==null?void 0:t.wave)==null?void 0:L.sig)==null?void 0:_.height,1)??"-",this.currentHourData.sigwaveDir=(S=(z=t==null?void 0:t.wave)==null?void 0:z.sig)==null?void 0:S.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((T=(M=t==null?void 0:t.wave)==null?void 0:M.sig)==null?void 0:T.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((I=(E=t==null?void 0:t.wave)==null?void 0:E.wd)==null?void 0:I.height,1)??"-",this.currentHourData.windwaveDir=(j=(G=t==null?void 0:t.wave)==null?void 0:G.wd)==null?void 0:j.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision((ae=(H=t==null?void 0:t.wave)==null?void 0:H.wd)==null?void 0:ae.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((A=(N=t==null?void 0:t.wave)==null?void 0:N.swell)==null?void 0:A.height,1)??"-",this.currentHourData.swellDir=(Y=(F=t==null?void 0:t.wave)==null?void 0:F.swell)==null?void 0:Y.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((R=(D=t==null?void 0:t.wave)==null?void 0:D.swell)==null?void 0:R.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((Z=t==null?void 0:t.current)==null?void 0:Z.speed,1)??"-",this.currentHourData.currentDir=(P=t==null?void 0:t.current)==null?void 0:P.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((K=t==null?void 0:t.current)==null?void 0:K.speed,1)??"-",this.currentHourData.seaLevel=this.computeRoundPrecision(t==null?void 0:t.height,1)??"-",this.currentHourData.seaTemp=this.computeRoundPrecision(t==null?void 0:t.sst,0)??"-",this.currentHourData.weatherUrls=(re=t==null?void 0:t.weather)==null?void 0:re.url},handleBind(){var e,t;this.toggle?((e=this.map)==null||e.on("click",this.handleClick),this.map&&(this.map.getCanvas().style.cursor="crosshair")):((t=this.map)==null||t.off("click",this.handleClick),this.handleCloseMeteo(),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleClick(e){if(e.originalEvent.stopPropagation(),e.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(e.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(e){if(isNaN(e.lat)||isNaN(e.lng))return!1;this.form.latDegree=Number(X.LngLatHelper.lat2pretty(e.lat).degree),this.form.latMinute=Number(X.LngLatHelper.lat2pretty(e.lat).minute),this.form.latDirection=X.LngLatHelper.lat2pretty(e.lat).direction,this.form.lngDegree=Number(X.LngLatHelper.lng2pretty(e.lng).degree),this.form.lngMinute=Number(X.LngLatHelper.lng2pretty(e.lng).minute),this.form.lngDirection=X.LngLatHelper.lng2pretty(e.lng).direction},handleDrawInfoMarker(e){this.drawPositionMarker(e),this.simple||this.drawMeteoInfoMarker(e)},drawPositionMarker(e){e&&(this.map.flyTo({center:e,duration:300}),this.$nextTick(()=>{var a,r;(a=this.positionMarker)==null||a.remove();const t=(r=document.getElementById("idm-position-icon"))==null?void 0:r.cloneNode(!0);this.positionMarker=new _e.Marker(t).setLngLat(e).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(e){this.$nextTick(()=>{var a;const t=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(e):this.meteoInfoMarker=new _e.Marker(t).setLngLat(e).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var e,t;(e=this.positionMarker)==null||e.remove(),this.positionMarker=void 0,(t=this.meteoInfoMarker)==null||t.remove(),this.meteoInfoMarker=void 0})},handleFollow(){this.$emit("follow",this.form)},handleCancelFollow(){var t,a,r;const e=((t=this.form)==null?void 0:t.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,n;return(i==null?void 0:i.id)===this.form.followId||((l=i==null?void 0:i.coordinate)==null?void 0:l.lng)===this.form.lng&&((n=i==null?void 0:i.coordinate)==null?void 0:n.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",e)}}},dh={class:"idm-gl4-spot"},hh={class:"d-flex justify-start align-center"},ph={class:"text-h6 font-weight-600"},gh={class:"d-flex justify-start align-center ga-1 mb-1"},uh={class:"multi-color-icon","aria-hidden":"true"},fh=["xlink:href"],yh={class:"d-flex justify-start align-center ga-1 mb-1"},bh={class:"multi-color-icon","aria-hidden":"true"},wh=["xlink:href"],xh={class:"d-flex justify-start align-center ga-1 mb-1"},kh={class:"multi-color-icon","aria-hidden":"true"},_h=["xlink:href"],vh={class:"d-flex justify-start align-center ga-1 mb-1"},zh={class:"multi-color-icon","aria-hidden":"true"},Lh=["xlink:href"],Ch={class:"d-flex justify-start align-center"},Sh={class:"mx-2"},Nh={class:"mx-0 py-2 d-flex align-center justify-start"},Ph={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Mh={class:"pa-0 px-0"},Th={class:"mx-0 py-2 d-flex align-center justify-start"},Vh={cols:"9",class:"pa-0 px-0"},Eh={class:"mx-0 py-2 d-flex align-center justify-start"},Rh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Dh={style:{width:"150px"},class:"pa-0 text-left"},Bh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Ih={cols:"3",class:"pa-0 px-0 text-left"},Ah={class:"mx-0 py-2 d-flex align-center justify-start"},Fh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Gh={style:{width:"150px"},class:"pa-0 text-left"},Wh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Zh={cols:"3",class:"pa-0 text-left"},Oh={class:"mx-0 py-2 d-flex align-center justify-start"},jh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Xh={style:{width:"150px"},class:"pa-0 text-left"},Hh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Yh={class:"pa-0 text-left"},Uh={class:"d-flex justify-space-between align-center"},Jh={class:"d-flex justify-start align-center"},$h={class:"mx-1"},Kh={class:"d-flex justify-end align-center"},qh={class:"mx-0 py-1 d-flex align-center justify-start"},Qh={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},ep={class:"pa-0 px-0"},tp={class:"mx-0 py-1 d-flex align-center justify-start"},op={class:"pa-0 px-0"},ap={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},ip={class:"d-flex flex-column align-start justify-center ga-3"},rp={class:"text-label pr-2"},lp={class:"text-label pr-2"},np={class:"text-label pr-2"},sp={class:"d-flex flex-column align-start justify-center ga-3"},cp={class:"text-label pr-2"},mp={class:"text-label pr-2"},dp={class:"text-label pr-2"},hp={id:"idm-position-icon"},pp={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},gp=["xlink:href"];function up(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardTitle"),d=o.resolveComponent("VDivider"),m=o.resolveComponent("VTextField"),g=o.resolveComponent("VCol"),u=o.resolveComponent("VRow"),y=o.resolveComponent("DateTimePicker"),f=o.resolveComponent("VBtnToggle"),h=o.resolveComponent("VCardText"),p=o.resolveComponent("VCardActions"),w=o.resolveComponent("VForm"),x=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",dh,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("spot.spotsMeteo"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:b})=>[o.createVNode(n,o.mergeProps(b,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showForm&&!a.simple?(o.openBlock(),o.createBlock(x,{key:0,class:"spot-form-card",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",hh,[o.createElementVNode("div",ph,o.toDisplayString(e.$t("spot.spotWeather")),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:o.withCtx(()=>t[9]||(t[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(d),o.createVNode(w,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.submitForm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-body-1 py-1"},{default:o.withCtx(()=>[o.createElementVNode("div",gh,[(o.openBlock(),o.createElementBlock("svg",uh,[o.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,fh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.lng")),1)]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngDegree,"onUpdate:modelValue":t[0]||(t[0]=b=>i.form.lngDegree=b),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[10]||(t[10]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[10]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngMinute,"onUpdate:modelValue":t[1]||(t[1]=b=>i.form.lngMinute=b),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[11]||(t[11]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[11]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[2]||(t[2]=b=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",yh,[(o.openBlock(),o.createElementBlock("svg",bh,[o.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,wh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.lat")),1)]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.latDegree,"onUpdate:modelValue":t[3]||(t[3]=b=>i.form.latDegree=b),rules:i.formRules.latDegree,label:"",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[12]||(t[12]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[12]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.latMinute,"onUpdate:modelValue":t[4]||(t[4]=b=>i.form.latMinute=b),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[13]||(t[13]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[13]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=b=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",xh,[(o.openBlock(),o.createElementBlock("svg",kh,[o.createElementVNode("use",{"xlink:href":`#icon-date-time-${a.theme}`},null,8,_h)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.dateTime")),1)]),o.createVNode(u,{class:"ma-0 mb-4"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(y,o.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},e.$attrs,{onDateTime:t[6]||(t[6]=b=>i.form.dateTime=b)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),o.createElementVNode("div",vh,[(o.openBlock(),o.createElementBlock("svg",zh,[o.createElementVNode("use",{"xlink:href":`#icon-forecast-model-${a.theme}`},null,8,Lh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("weather.forecastModel")),1)]),o.createVNode(u,{class:"ma-0 mb-2"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(f,{modelValue:i.form.forecastModel,"onUpdate:modelValue":t[7]||(t[7]=b=>i.form.forecastModel=b),class:"w-100",rounded:"",height:"30",density:"compact",group:""},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact",height:"30",value:"GFS",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="GFS"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="GFS"?"primary":"","base-color":""},{default:o.withCtx(()=>t[14]||(t[14]=[o.createTextVNode("NOAA",-1)])),_:1,__:[14]},8,["class","color"]),o.createVNode(n,{density:"compact",height:"30",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="ECMWF"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:o.withCtx(()=>t[15]||(t[15]=[o.createTextVNode("ECMWF",-1)])),_:1,__:[15]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.createVNode(d),o.createVNode(p,{class:"d-flex justify-end align-center ga-4"},{default:o.withCtx(()=>[o.createVNode(n,{size:"small",variant:"outlined",class:"text-none text-body-1 btn-border-1 btn-bg-1",onClick:l.cancelForm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):o.createCommentVNode("",!0),i.showMeteo&&!a.simple?(o.openBlock(),o.createBlock(x,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Ch,[t[16]||(t[16]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Sh,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[17]||(t[17]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[17]},8,["onClick"])]),_:1}),o.createVNode(d),o.createVNode(h,{class:"text-body-1 px-0 py-1"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Nh,[o.createElementVNode("div",Ph,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",Mh,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Th,[t[18]||(t[18]=o.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",Vh,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",Eh,[o.createElementVNode("div",Rh,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("div",Dh,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1),o.createElementVNode("div",Bh,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("div",Ih,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",Ah,[o.createElementVNode("div",Fh,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("div",Gh,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1),o.createElementVNode("div",Wh,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("div",Zh,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",Oh,[o.createElementVNode("div",jh,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("div",Xh,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),o.createElementVNode("div",Hh,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("div",Yh,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])]}),_:1}),o.createVNode(d),o.createVNode(p,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[(b=a.followList)!=null&&b.some(k=>{var L,_;return(k==null?void 0:k.id)===i.form.followId||((L=k==null?void 0:k.coordinate)==null?void 0:L.lng)===i.form.lng&&((_=k==null?void 0:k.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1",id:"idm-gl4-spot-meteo-follow",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{prepend:o.withCtx(()=>t[19]||(t[19]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h6 text-warning"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleFollow,["stop"])},{prepend:o.withCtx(()=>t[20]||(t[20]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h6"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),o.createVNode(n,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:o.withModifiers(l.handleMeteoMore,["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):o.createCommentVNode("",!0),i.showMeteo&&a.simple?(o.openBlock(),o.createBlock(x,{key:2,ref:"spotMeteo",class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",Uh,[o.createElementVNode("div",Jh,[t[21]||(t[21]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",$h,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createElementVNode("div",Kh,[(b=a.followList)!=null&&b.some(k=>{var L,_;return(k==null?void 0:k.id)===i.form.followId||((L=k==null?void 0:k.coordinate)==null?void 0:L.lng)===i.form.lng&&((_=k==null?void 0:k.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{default:o.withCtx(()=>t[22]||(t[22]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h4 text-warning"},null,-1)])),_:1,__:[22]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,class:"text-none text-body-1 rounded-circle",variant:"plain",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleFollow,["stop"])},{default:o.withCtx(()=>t[23]||(t[23]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h4"},null,-1)])),_:1,__:[23]},8,["onClick"])),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[24]||(t[24]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[24]},8,["onClick"])])]),t[25]||(t[25]=o.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[25]}),o.createVNode(d),o.createVNode(h,{class:"text-body-1 px-0 py-2"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",qh,[o.createElementVNode("div",Qh,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",ep,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",tp,[t[26]||(t[26]=o.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",op,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",ap,[o.createElementVNode("div",ip,[o.createElementVNode("div",null,[o.createElementVNode("span",rp,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1)]),o.createElementVNode("div",null,[o.createElementVNode("span",lp,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",np,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)])]),o.createElementVNode("div",sp,[o.createElementVNode("div",null,[o.createElementVNode("span",cp,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",mp,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",dp,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])])])]}),_:1})]),_:1},512)):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("div",hp,[(o.openBlock(),o.createElementBlock("svg",pp,[o.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,gp)]))],512),[[o.vShow,i.showMeteo]])])}const fp=Q(mh,[["render",up]]),vf="",yp={name:"IdmMeasure",props:{simple:{type:Boolean,default:!1},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:be.useTheme()}},data(){return{right:10,toggle:!1,geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",sumLayer:"measure-suml-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL",currentLineIndex:1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var e,t,a;if(this.toggle)this.handleBind();else{(e=this.map)==null||e.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),this.map;let r=this.geojson.find(i=>!i.closed);r&&this.handleClear(r,!0),this.geojson=this.geojson.filter(i=>!!i.closed),r=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(r)}},immediate:!0},map:{handler(){this.map&&(this.toggle?this.handleBind():this.handleUnbind())}}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleBind(){var e,t,a,r,i;(e=this.map)==null||e.getCanvas().addEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(r=this.map)==null||r.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair")},handleUnbind(){var e,t,a,r,i;(e=this.map)==null||e.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),(r=this.map)==null||r.off("click",this.handleClick),(i=this.map)==null||i.off("contextmenu",this.handleContextmenu);for(const l of this.geojson)this.handleClear(l,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")},handleKeydown(e){if(e.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const t=this.geojson.at(-1),a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&(a.at(-1).properties.mode=this.navigation),this.handleRender(t)}},handleDrag(e){var a,r,i,l,n,c,s,d,m,g;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(p=>p.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(p=>{var w;return((w=p._element)==null?void 0:w.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);let f;u.features.forEach((p,w)=>{if(p.geometry.type==="Point"&&p.properties.id===t.split("-")[1]){f=w;return}});const h=u.features.filter(p=>p.geometry.type==="Point");this.handleTmpPointUpdate(u,h[f-1],{lng:(d=(s=e.target)==null?void 0:s._lngLat)==null?void 0:d.lng,lat:(g=(m=e.target)==null?void 0:m._lngLat)==null?void 0:g.lat,properties:h[f].properties},f===h.length-1?void 0:h[f+1])}},handleDragEnd(e){var a,r,i,l,n,c,s,d,m,g;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(h=>h.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(h=>{var p;return((p=h._element)==null?void 0:p.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);const f=u.features.filter(h=>h.geometry.type==="Point"&&h.properties.id===t.split("-")[1])[0];f.geometry.coordinates=[(d=(s=e.target)==null?void 0:s._lngLat)==null?void 0:d.lng,(g=(m=e.target)==null?void 0:m._lngLat)==null?void 0:g.lat],u.features=u.features.filter(h=>h.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(e){var a,r,i,l;e.preventDefault(),(a=this.contextmenu)==null||a.remove();const t=(l=(i=(r=e.originalEvent)==null?void 0:r.target)==null?void 0:i.parentElement)==null?void 0:l.id;if((t==null?void 0:t.split("-").length)===2){const c=this.geojson.filter(s=>s.id===t.split("-")[0])[0].features.filter(s=>s.geometry.type==="Point");if(c.length>2&&c.filter(d=>d.properties.id===(t==null?void 0:t.split("-")[1]))[0]){const d=document.createElement("div");d.className="idm-gl4-measure-contextmenu-marker",d.innerHTML=`<span id="del-${t}" class="del-point">${$t("actions.detele")}</span>`,this.contextmenu=new _e.Marker(d).setOffset([24,0]).setLngLat([e.lngLat.lng,e.lngLat.lat]).addTo(this.map)}}},handleClick(e){var a,r,i,l,n,c;(a=this.contextmenu)==null||a.remove();const t=e.originalEvent.target.className;if(t==="marker-close"){const s=(i=(r=e.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,d=this.geojson.filter(m=>m.id===s)[0];d&&this.handleClear(d,!0),this.geojson=this.geojson.filter(m=>m.id!==s),!this.toggle&&!((l=this.geojson)!=null&&l.some(m=>m.closed))&&this.handleUnbind()}else if(t==="del-point"){const s=(c=(n=e.originalEvent.target.id)==null?void 0:n.replace("del-",""))==null?void 0:c.split("-"),d=this.geojson.filter(m=>m.id===s[0])[0];d.features=d.features.filter(m=>m.geometry.type==="Point"&&m.properties.id!==s[1]),this.handlePointUpdate(d)}else if(t!=="marker-label"&&this.toggle){let s=this.geojson.at(-1);s||(s=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(s)),s.features=s.features.filter(m=>m.geometry.type==="Point");const d=J.feature({type:"Point",coordinates:[e.lngLat.lng,e.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});s.features.push(d),this.handlePointUpdate(s)}},handlePointUpdate(e){const t=e.features;if(t.length>1){let a=0;const r=[];for(let i=1;i<t.length;i++){const l=t[i-1],n=t[i],c=l.properties,s={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},d={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},m=X.LaneHelper.calculateDistance(s,d,c.mode==="RL",4),g=X.LaneHelper.calculateBearing(s,d,c.mode==="RL",2);a=X.LngLatHelper.roundPrecision(a+m,4);let u;c.mode==="RL"?u=X.LngLatHelper.convertToMonotonicLng([s,d]):u=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(s,d,200));const y=J.lineString(u.map(h=>[h.lng,h.lat]));y.properties.dist=m,y.properties.bearing=g,y.properties.total=a,y.properties.name="Line "+this.currentLineIndex,r.push(y);const f=t[i];f.properties.totalDist=X.LngLatHelper.roundPrecision((c.totalDist?c.totalDist:0)+m,4),f.properties.sumLabel=f.properties.totalDist+" nm"}t.push(...r),e.total=a}return this.handleRender(e),e},handleTmpPointUpdate(e,t,a,r){const i=J.featureCollection([]);let l,n;if(t){const s=t.properties,d={lng:t.geometry.coordinates[0],lat:t.geometry.coordinates[1]},m={lng:a.lng,lat:a.lat};l=X.LaneHelper.calculateDistance(d,m,s.mode==="RL",4),n=X.LaneHelper.calculateBearing(d,m,s.mode==="RL",2);let g;s.mode==="RL"?g=X.LngLatHelper.convertToMonotonicLng([d,m]):g=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(d,m,200));const u=J.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}if(r){const s=a.properties,d=a,m={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=X.LaneHelper.calculateDistance(d,m,s.mode==="RL",4),n=X.LaneHelper.calculateBearing(d,m,s.mode==="RL",2);let g;s.mode==="RL"?g=X.LngLatHelper.convertToMonotonicLng([d,m]):g=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(d,m,200));const u=J.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});let c;if(r)c=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const s=X.LngLatHelper.roundPrecision((e.total??0)+l,1);c=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${s}</b>nm, ${this.$t("measure.bearing")}: <b>${n}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation==="RL"?"RL":"GC"}, ${this.$t("measure.switchTips")}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`}if(this.tipMarker)this.tipMarker._element.innerHTML=c,this.tipMarker.setLngLat([a.lng,a.lat]);else{const s=document.createElement("div");s.className="idm-gl4-measure-tip-marker",s.innerHTML=c,this.tipMarker=new _e.Marker(s).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(e){this.map.getCanvas().style.cursor="crosshair";let t=this.geojson.at(-1);t||(t=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t));const a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(t,a.at(-1),{lng:e.lngLat.lng,lat:e.lngLat.lat})},handleDblClick(e){e.preventDefault();let t=this.geojson.at(-1);t.closed=!0,this.handleRender(t),t=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t),this.currentLineIndex++},handleRender(e){var t;if((t=e==null?void 0:e.features)!=null&&t.length){const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(e):this.map.addSource(a,{type:"geojson",data:e}),this.handleClear(e,!1),this.map.addLayer({id:r,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}}),this.map.addLayer({id:l,type:"symbol",source:a,filter:["==","$type","Point"],layout:{"text-field":"{sumLabel}","text-rotation-alignment":"map","text-size":12,"text-offset":[0,1.5]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});const n=e.features.filter(c=>c.geometry.type==="Point");for(const c of n){const s=document.createElement("div");s.id=`${e.id}-${c.properties.id}`,s.className=`${e.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,s.innerHTML='<div class="marker-circle"></div>';const d=new _e.Marker({element:s,draggable:!0,contextmenu:!0}).setLngLat(c.geometry.coordinates).addTo(this.map);d.on("drag",this.handleDrag),d.on("dragend",this.handleDragEnd),this.pointMarkers[e.id]?this.pointMarkers[e.id].push(d):this.pointMarkers[e.id]=[d]}if(e.closed){const c=n.at(-1),d=e.features.filter(g=>g.geometry.type==="LineString").at(-1),m=document.createElement("div");m.className="idm-gl4-measure-summary-marker",m.innerHTML=`<div class="marker-label">${d.properties.name}</div><div id="${e.id}" class="marker-close">X</div>`,this.closeMarkers[e.id]=new _e.Marker(m).setOffset([0,-30]).setLngLat(c.geometry.coordinates).addTo(this.map)}}},handleClear(e,t=!0){var n,c,s,d,m,g,u,y,f,h;const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;(n=this.map)!=null&&n.getLayer(r)&&this.map.removeLayer(r),(c=this.map)!=null&&c.getLayer(i)&&this.map.removeLayer(i),(s=this.map)!=null&&s.getLayer(l)&&this.map.removeLayer(l),(d=this.map)!=null&&d.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(m=this.map)!=null&&m.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(g=this.closeMarkers[e.id])==null||g.remove(),this.closeMarkers[e.id]=void 0,(u=this.pointMarkers[e.id])==null||u.forEach(p=>{p==null||p.remove()}),this.pointMarkers[e.id]=[],(y=this.tipMarker)==null||y.remove(),this.tipMarker=void 0,t&&((f=this.map)!=null&&f.getSource(a))&&this.map.removeSource(a),t&&((h=this.map)!=null&&h.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},bp={class:"idm-gl4-measure"};function wp(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",bp,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("measure.measure"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:s})=>[o.createVNode(n,o.mergeProps(s,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[0]||(t[0]=[o.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4)])}const xp=Q(yp,[["render",wp]]);var V={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function kp(e="soft"){switch(V.session.__counterEpoch=(V.session.__counterEpoch||0)+1,e){case"auto":{V.session.styleMap=new Map,V.session.nodeMap=new Map;return}case"soft":{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap,V.computedStyle=new WeakMap,V.baseStyle=new Map,V.defaultStyle=new Map,V.image=new Map,V.background=new Map,V.resource=new Map,V.font=new Set;return}default:{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap;return}}}function Yo(e){let t=e.match(/url\((['"]?)(.*?)(\1)\)/);if(!t)return null;let a=t[2].trim();return a.startsWith("#")?null:a}function _p(e){if(!e||e==="none")return"";let t=e.replace(/translate[XY]?\([^)]*\)/g,"");return t=t.replace(/matrix\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),t=t.replace(/matrix3d\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),t.trim().replace(/\s{2,}/g," ")}function Ro(e){if(/%[0-9A-Fa-f]{2}/.test(e))return e;try{return encodeURI(e)}catch{return e}}function vp(e="[snapDOM]",{ttlMs:t=5*6e4,maxEntries:a=12}={}){let r=new Map,i=0;function l(n,c,s){if(i>=a)return;let d=Date.now();(r.get(c)||0)>d||(r.set(c,d+t),i++,n==="warn"&&console&&console.warn?console.warn(`${e} ${s}`):console&&console.error&&console.error(`${e} ${s}`))}return{warnOnce(n,c){l("warn",n,c)},errorOnce(n,c){l("error",n,c)},reset(){r.clear(),i=0}}}var da=vp("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),Uo=new Map,Do=new Map;function zp(e){return/^data:|^blob:|^about:blank$/i.test(e)}function Lp(e,t){try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=t.includes("{url}")?t.split("{url}")[0]:t,i=new URL(r||".",a),l=new URL(e,a);if(l.origin===i.origin)return!0;let n=l.searchParams;if(n&&(n.has("url")||n.has("target")))return!0}catch{}return!1}function Cp(e,t){if(!t||zp(e)||Lp(e,t))return!1;try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(e,a);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!t}}function Sp(e,t){if(!t)return e;if(t.includes("{url}"))return t.replace("{urlRaw}",Ro(e)).replace("{url}",encodeURIComponent(e));if(/[?&]url=?$/.test(t))return`${t}${encodeURIComponent(e)}`;if(t.endsWith("?"))return`${t}url=${encodeURIComponent(e)}`;if(t.endsWith("/"))return`${t}${Ro(e)}`;let a=t.includes("?")?"&":"?";return`${t}${a}url=${encodeURIComponent(e)}`}function ha(e){return new Promise((t,a)=>{let r=new FileReader;r.onload=()=>t(String(r.result||"")),r.onerror=()=>a(new Error("read_failed")),r.readAsDataURL(e)})}function Np(e,t){return[t.as||"blob",t.timeout??3e3,t.useProxy||"",t.errorTTL??8e3,e].join("|")}async function Re(e,t={}){let a=t.as??"blob",r=t.timeout??3e3,i=t.useProxy||"",l=t.errorTTL??8e3,n=t.headers||{},c=!!t.silent;if(/^data:/i.test(e))try{if(a==="text")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1};if(a==="dataURL")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1,mime:String(e).slice(5).split(";")[0]||""};let[,p="",w=""]=String(e).match(/^data:([^,]*),(.*)$/)||[],x=/;base64/i.test(p)?atob(w):decodeURIComponent(w),b=new Uint8Array([...x].map(L=>L.charCodeAt(0))),k=new Blob([b],{type:(p||"").split(";")[0]||""});return{ok:!0,data:k,status:200,url:e,fromCache:!1,mime:k.type||""}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(e))try{let p=await fetch(e);if(!p.ok)return{ok:!1,data:null,status:p.status,url:e,fromCache:!1,reason:"http_error"};let w=await p.blob(),x=w.type||p.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await ha(w),status:p.status,url:e,fromCache:!1,mime:x}:a==="text"?{ok:!0,data:await w.text(),status:p.status,url:e,fromCache:!1,mime:x}:{ok:!0,data:w,status:p.status,url:e,fromCache:!1,mime:x}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(e))return a==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:e,fromCache:!1,mime:"image/png"}:{ok:!0,data:a==="text"?"":new Blob([]),status:200,url:e,fromCache:!1};let s=Np(e,{as:a,timeout:r,useProxy:i,errorTTL:l}),d=Do.get(s);if(d&&d.until>Date.now())return{...d.result,fromCache:!0};d&&Do.delete(s);let m=Uo.get(s);if(m)return m;let g=Cp(e,i)?Sp(e,i):e,u=t.credentials;if(!u)try{let p=typeof location<"u"&&location.href?location.href:"http://localhost/",w=new URL(e,p);u=typeof location<"u"&&w.origin===location.origin?"include":"omit"}catch{u="omit"}let y=new AbortController,f=setTimeout(()=>y.abort("timeout"),r),h=(async()=>{try{let p=await fetch(g,{signal:y.signal,credentials:u,headers:n});if(!p.ok){let b={ok:!1,data:null,status:p.status,url:g,fromCache:!1,reason:"http_error"};if(l>0&&Do.set(s,{until:Date.now()+l,result:b}),!c){let k=`${p.status} ${p.statusText||""}`.trim();da.warnOnce(`http:${p.status}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,`HTTP error ${k} while fetching ${a} ${e}`)}return t.onError&&t.onError(b),b}if(a==="text")return{ok:!0,data:await p.text(),status:p.status,url:g,fromCache:!1};let w=await p.blob(),x=w.type||p.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await ha(w),status:p.status,url:g,fromCache:!1,mime:x}:{ok:!0,data:w,status:p.status,url:g,fromCache:!1,mime:x}}catch(p){let w=p&&typeof p=="object"&&"name"in p&&p.name==="AbortError"?String(p.message||"").includes("timeout")?"timeout":"abort":"network",x={ok:!1,data:null,status:0,url:g,fromCache:!1,reason:w};if(!/^blob:/i.test(e)&&l>0&&Do.set(s,{until:Date.now()+l,result:x}),!c){let b=`${w}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,k=w==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${e}`:w==="abort"?`Request aborted while fetching ${a} ${e}`:`Network/CORS issue while fetching ${a} ${e}. A proxy may be required`;da.errorOnce(b,k)}return t.onError&&t.onError(x),x}finally{clearTimeout(f),Uo.delete(s)}})();return Uo.set(s,h),h}async function pa(e,t={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(e)||e.trim()==="none")return e;let a=Yo(e);if(!a)return e;let r=Ro(a);if(V.background.has(r)){let i=V.background.get(r);return i?`url("${i}")`:"none"}try{let i=await Re(r,{as:"dataURL",useProxy:t.useProxy});return i.ok?(V.background.set(r,i.data),`url("${i.data}")`):(V.background.set(r,null),"none")}catch{return V.background.set(r,null),"none"}}var Pp=new Set(["meta","script","noscript","title","link","template"]),Jo=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);function Mp(e){if(e=String(e).toLowerCase(),Jo.has(e)){let l={};return V.defaultStyle.set(e,l),l}if(V.defaultStyle.has(e))return V.defaultStyle.get(e);let t=document.getElementById("snapdom-sandbox");t||(t=document.createElement("div"),t.id="snapdom-sandbox",t.setAttribute("data-snapdom-sandbox","true"),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.style.width="0px",t.style.height="0px",t.style.overflow="hidden",document.body.appendChild(t));let a=document.createElement(e);a.style.all="initial",t.appendChild(a);let r=getComputedStyle(a),i={};for(let l of r){if(ga(l))continue;let n=r.getPropertyValue(l);i[l]=n}return t.removeChild(a),V.defaultStyle.set(e,i),i}var Tp=/(?:^|-)(animation|transition)(?:-|$)/i,Vp=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,Ep=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function ga(e){let t=String(e).toLowerCase();return!!(Ep.has(t)||Vp.test(t)||Tp.test(t))}function $o(e,t){if(t=String(t||"").toLowerCase(),Jo.has(t))return"";let a=[],r=Mp(t);for(let[i,l]of Object.entries(e)){if(ga(i))continue;let n=r[i];l&&l!==n&&a.push(`${i}:${l}`)}return a.sort(),a.join(";")}function Rp(e){let t=new Set;return e.nodeType!==Node.ELEMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(e.tagName&&t.add(e.tagName.toLowerCase()),typeof e.querySelectorAll=="function"&&e.querySelectorAll("*").forEach(a=>t.add(a.tagName.toLowerCase())),Array.from(t))}function Dp(e){let t=new Map;for(let r of e){let i=V.defaultStyle.get(r);if(!i)continue;let l=Object.entries(i).map(([n,c])=>`${n}:${c};`).sort().join("");l&&(t.has(l)||t.set(l,[]),t.get(l).push(r))}let a="";for(let[r,i]of t.entries())a+=`${i.join(",")} { ${r} }
|
|
217
|
+
</svg>`,me=document.createElement("div");me.className="idm-tropical-gl4-hourly-marker",me.innerHTML=`<div class="${P.geometry.coordinates[1]>=0?"center north":"center south"}">${re}</div>`;const he=new _e.Marker(me).setLngLat(P.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(he)}this.$emit("tropicalCenterPoints",Z)}else(N=this.map)!=null&&N.getSource(this.interpolateSource)&&((A=this.map)==null||A.getSource(this.interpolateSource).setData(this.empty))},handleClick(e){var i,l,n,c,s,d,m,g,u,y,f;const t=e.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(h=>{var p;return h.geometry.type==="LineString"&&h.properties.type==="forecast"&&h.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)}),r=(c=(n=this.tropicals)==null?void 0:n.data)==null?void 0:c.features.filter(h=>{var p;return h.geometry.type==="LineString"&&h.properties.type==="history"&&h.properties.name===((p=t==null?void 0:t.properties)==null?void 0:p.name)});this.activeTropicals={name:((s=t==null?void 0:t.properties)==null?void 0:s.name)||"-",nameCn:((d=t==null?void 0:t.properties)==null?void 0:d.nameCn)||((m=t==null?void 0:t.properties)==null?void 0:m.name)||"-",Name:((g=t==null?void 0:t.properties)==null?void 0:g.Name)||"-",forecasts:a.map(h=>h.properties),history:(u=r[0])==null?void 0:u.properties,showCircle:(f=(y=a[0])==null?void 0:y.properties)==null?void 0:f.showCircle},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([e.lngLat.lng,e.lngLat.lat])},drawTropicalsInfoMaker(e){this.$nextTick(()=>{const t=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(e).setOffset([220,0]):this.activeTropicalsMarker=new _e.Marker(t).setLngLat(e).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var e;(e=this.activeTropicalsMarker)==null||e.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(e){var r,i,l,n,c,s;e.disabled=!e.disabled;const t=`${e.name}-${e.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(d=>{d.properties.category===t&&(d.properties.disabled=e.disabled)}),this.interpolateData.forEach(d=>{d.properties.category===t&&(d.properties.disabled=e.disabled)}),(n=(l=this.map)==null?void 0:l.getSource(this.source))==null||n.setData(J.featureCollection(a)),(s=(c=this.map)==null?void 0:c.getSource(this.clusterSource))==null||s.setData(J.featureCollection(a)),this.handleDateChange()},handleStrikeProbability(e){this.$emit("tropicalProbability",e)},handleToggleCircles(e){var t,a;e.showCircle=!e.showCircle,(a=(t=this.tropicals.data)==null?void 0:t.features)==null||a.forEach(r=>{r.properties.name===e.name&&(r.properties.showCircle=e.showCircle)}),this.handleRender()},handleComputePolygons(e){const t=[];for(const a of e){const r=a.properties.wind,i={ne:r.r7ne>=0?r.r7ne:void 0,se:r.r7se>=0?r.r7se:void 0,sw:r.r7sw>=0?r.r7sw:void 0,nw:r.r7nw>=0?r.r7nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});t.push(l);const n={ne:r.r10ne>=0?r.r10ne:void 0,se:r.r10se>=0?r.r10se:void 0,sw:r.r10sw>=0?r.r10sw:void 0,nw:r.r10nw>=0?r.r10nw:void 0},c=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});t.push(c)}return t},handleComputeArc(e,t,a){var l;const r=[];for(const n in t){const c=t[n]??0;let s;switch(n){case"ne":s=J.lineArc(e,c,0,90,{steps:c>0?32:1,units:"nauticalmiles"});break;case"se":s=J.lineArc(e,c,90,180,{steps:c>0?32:1,units:"nauticalmiles"});break;case"sw":s=J.lineArc(e,c,180,270,{steps:c>0?32:1,units:"nauticalmiles"});break;case"nw":s=J.lineArc(e,c,270,360,{steps:c>0?32:1,units:"nauticalmiles"});break}r.push(...(l=s==null?void 0:s.geometry)==null?void 0:l.coordinates)}const i=J.lineString(r);return J.lineToPolygon(i,{properties:a})},handleNotification(e){this.$emit("tropicalNotification",e)},handleHover(e){var i,l,n,c,s;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(e.point,{layers:[this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]})[0];this.hoverPoint=a==null?void 0:a.properties;const r=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(d=>{var m;return d.geometry.type==="LineString"&&d.properties.type==="forecast"&&d.properties.name===((m=a==null?void 0:a.properties)==null?void 0:m.name)});this.hoverPoint&&(this.hoverPoint.lng=a.geometry.coordinates[0],this.hoverPoint.lat=a.geometry.coordinates[1],this.hoverPoint.update=(c=(n=r==null?void 0:r[0])==null?void 0:n.properties)==null?void 0:c.date,(s=this.hoverMarker)==null||s.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const d=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new _e.Marker(d).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var e;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(e=this.hoverMarker)==null||e.remove(),this.hoverMarker=void 0}}},vm={class:"idm-tropical-gl4"},zm={class:"pb-1"},Lm={class:"text-h5 font-weight-600"},Cm={key:0,class:"text-h5 font-weight-600"},Sm={class:"text-body-1"},Nm={class:"text-label"},Pm={class:"d-flex justify-space-between align-center"},Mm={class:"w-60"},Tm={class:"text-label pr-1"},Vm={class:"flex-1-1-0"},Em={class:"text-label pr-1"},Rm={class:"py-2 d-flex justify-space-between align-center"},Dm={class:"w-60"},Bm={class:"text-label pr-1"},Im={class:"flex-1-1-0"},Am={class:"text-label pr-1"},Fm={class:"d-flex align-center flex-1-1-100 justify-space-between mt-n1"},Gm={class:"text-label pr-1",style:{width:"70px"}},Wm={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},Zm={class:"more"},Om={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},jm={class:"pa-1"},Xm={class:"legend d-flex justify-start align-center py-2"},Hm={class:"label"},Ym={class:"legend d-flex justify-start align-center py-2"},Um={class:"label"},Jm={class:"legend d-flex justify-start align-center py-2"},$m={class:"label"},Km={class:"pa-1"},qm={class:"legend d-flex justify-start align-center py-2"},Qm={class:"label"},ed={class:"legend d-flex justify-start align-center py-2"},td={class:"label"},od={class:"legend d-flex justify-start align-center py-2"},ad={class:"label"},id={class:"pa-1"},rd={class:"w-100 legend d-flex justify-start align-center py-2 ga-2"},ld={class:"label"},nd={class:"label"},sd={class:"w-100 legend d-flex justify-start align-center py-2"},cd={class:"label"},md={class:"w-100 legend d-flex justify-start align-center py-2"},dd={class:"label"},hd={key:1,class:"my-3 w-100",style:{height:"80px"}},pd={class:"legend d-flex justify-start align-center"},gd={class:"label"},ud={class:"legend d-flex justify-start align-center"},fd={class:"label"},yd={class:"legend d-flex justify-start align-center"},bd={class:"label"},wd={class:"legend d-flex justify-start align-center"},xd={class:"label"},kd={class:"legend d-flex justify-start align-center"},_d={class:"label"},vd={class:"legend d-flex justify-start align-center"},zd={class:"label"},Ld={class:"legend d-flex justify-start align-center"},Cd={class:"label"},Sd={class:"legend d-flex justify-start align-center"},Nd={class:"label"},Pd={class:"legend d-flex justify-start align-center"},Md={class:"label"},Td={class:"legend d-flex justify-start align-center"},Vd={class:"label"},Ed={class:"d-flex justify-star align-center"},Rd={class:"font-weight-600 mr-1"},Dd={class:""},Bd={class:"port-box d-flex flex-column justify-center align-start ga-2"},Id={key:0,class:"d-flex justify-start align-center"},Ad={class:"text-label pr-1"},Fd={key:1,class:"d-flex justify-start align-center"},Gd={class:"text-label pr-1"},Wd={key:2,class:"d-flex justify-start align-center"},Zd={class:"text-label pr-1"},Od={key:3,class:"d-flex justify-start align-center"},jd={class:"text-label pr-1"},Xd={key:4,class:"d-flex justify-start align-center"},Hd={class:"text-label pr-1"},Yd={key:5,class:"d-flex justify-start align-center"},Ud={class:"text-label pr-1"},Jd={class:"d-flex justify-start align-center"},$d={class:"text-label pr-1"},Kd={key:6,class:"d-flex justify-start align-center"},qd={class:"text-label pr-1"},Qd={key:7,class:"d-flex justify-start align-center"},eh={class:"text-label pr-1"},th={class:"d-flex justify-start align-center"},oh={class:"text-label pr-1"};function ah(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardText"),d=o.resolveComponent("VDivider"),m=o.resolveComponent("VCardActions"),g=o.resolveComponent("VCard"),u=o.resolveComponent("v-card-title"),y=o.resolveComponent("v-divider");return o.openBlock(),o.createElementBlock("div",vm,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("tropical.tropicals"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:f})=>[o.createVNode(n,o.mergeProps(f,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[3]||(t[3]=[o.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[3]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showTropicalsInfo&&!e.$attrs.hideTropicalsLegend?(o.openBlock(),o.createElementBlock("div",{key:0,ref:"tropicalsInfo",id:"idm-tropical-gl4-info",class:o.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[o.createVNode(g,{class:o.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_,z,S,M;return[o.createElementVNode("div",zm,[o.createElementVNode("span",Lm,o.toDisplayString(a.locale==="en"?(f=i.activeTropicals)==null?void 0:f.Name:((h=i.activeTropicals)==null?void 0:h.nameCn)||((p=i.activeTropicals)==null?void 0:p.Name)||"-"),1),(x=(w=i.activeTropicals)==null?void 0:w.history)!=null&&x.levelI18n?(o.openBlock(),o.createElementBlock("span",Cm," , "+o.toDisplayString(e.$t("tropical."+((k=(b=i.activeTropicals)==null?void 0:b.history)==null?void 0:k.levelI18n))),1)):o.createCommentVNode("",!0)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:o.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:o.withCtx(()=>t[4]||(t[4]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createElementVNode("div",Sm,[o.createElementVNode("span",Nm,o.toDisplayString(e.$t("actions.lastUpdate"))+": ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTime(((_=(L=i.activeTropicals)==null?void 0:L.history)==null?void 0:_.updated)||((M=(S=(z=i.activeTropicals)==null?void 0:z.forecasts)==null?void 0:S.filter(T=>!T.disabled)[0])==null?void 0:M.date),a.timeZone)),1)])]}),_:1}),o.createVNode(d),o.createVNode(s,{class:"text-body-1 py-3"},{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_;return[o.createElementVNode("div",Pm,[o.createElementVNode("div",Mm,[o.createElementVNode("label",Tm,o.toDisplayString(e.$t("weather.windSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((h=(f=i.activeTropicals)==null?void 0:f.history)==null?void 0:h.kts)||"-")+" kts",1),o.createElementVNode("span",null,", BF "+o.toDisplayString(l.computeBF(((w=(p=i.activeTropicals)==null?void 0:p.history)==null?void 0:w.kts)||"-")),1)]),o.createElementVNode("div",Vm,[o.createElementVNode("label",Em,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((b=(x=i.activeTropicals)==null?void 0:x.history)==null?void 0:b.pressure)||"-")+" hPa",1)])]),o.createElementVNode("div",Rm,[o.createElementVNode("div",Dm,[o.createElementVNode("label",Bm,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((k=l.computeMovement(i.activeTropicals))==null?void 0:k.kts)||"-")+" kts",1)]),o.createElementVNode("div",Im,[o.createElementVNode("label",Am,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((L=l.computeMovement(i.activeTropicals))==null?void 0:L.deg)||"-")+"°",1)])]),o.createElementVNode("div",Fm,[o.createElementVNode("label",Gm,o.toDisplayString(e.$t("tropical.models"))+" : ",1),o.createElementVNode("div",Wm,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((_=i.activeTropicals)==null?void 0:_.forecasts,(z,S)=>(o.openBlock(),o.createBlock(n,{key:S,density:"compact",variant:z.disabled?"text":"flat",color:z.disabled?"":"primary","min-width":30,class:o.normalizeClass(["model text-none text-body-1 px-1",z.disabled?"btn-border-1 btn-bg-1":""]),onClick:o.withModifiers(M=>l.handleForecastToggle(z),["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(z.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),o.createVNode(d),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(m,{key:0,class:"d-flex justify-space-between"},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:t[0]||(t[0]=o.withModifiers(f=>i.showLegend=!i.showLegend,["stop"]))},{prepend:o.withCtx(()=>t[5]||(t[5]=[o.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("weather.legend")),1)]),_:1},8,["color"]),o.createElementVNode("div",Zm,[a.permission&i.helper.LEVEL.Supper?(o.openBlock(),o.createBlock(n,{key:0,variant:"text",density:"compact",class:"text-none text-body-1",onClick:t[1]||(t[1]=o.withModifiers(f=>l.handleNotification(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.notify")),1)]),_:1})):o.createCommentVNode("",!0),o.createVNode(n,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:t[2]||(t[2]=o.withModifiers(f=>l.handleStrikeProbability(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.viewReport")),1)]),_:1})])]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(o.openBlock(),o.createElementBlock("div",Om,[o.createElementVNode("div",jm,[o.createElementVNode("div",Xm,[t[6]||(t[6]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",Hm,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",Ym,[t[7]||(t[7]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",Um,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",Jm,[t[8]||(t[8]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",$m,o.toDisplayString(e.$t("tropical.sty")),1)])]),o.createElementVNode("div",Km,[o.createElementVNode("div",qm,[t[9]||(t[9]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",Qm,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",ed,[t[10]||(t[10]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",td,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",od,[t[11]||(t[11]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",ad,o.toDisplayString(e.$t("tropical.superTy")),1)])]),o.createElementVNode("div",id,[o.createElementVNode("div",rd,[t[12]||(t[12]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",ld,o.toDisplayString(e.$t("tropical.history")),1),t[13]||(t[13]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",sd,[t[14]||(t[14]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",cd,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",md,[t[15]||(t[15]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",dd,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])])])):(o.openBlock(),o.createElementBlock("div",hd,[o.withDirectives(o.createVNode(g,{elevation:"16"},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{class:o.normalizeClass(["pa-1 d-flex justify-space-between align-center flex-wrap",a.locale==="zhHans"?" ga-2":" ga-3"])},[o.createElementVNode("div",pd,[t[16]||(t[16]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",gd,o.toDisplayString(e.$t("tropical.td")),1)]),o.createElementVNode("div",ud,[t[17]||(t[17]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",fd,o.toDisplayString(e.$t("tropical.ts")),1)]),o.createElementVNode("div",yd,[t[18]||(t[18]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",bd,o.toDisplayString(e.$t("tropical.sts")),1)]),o.createElementVNode("div",wd,[t[19]||(t[19]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",xd,o.toDisplayString(e.$t("tropical.ty")),1)]),o.createElementVNode("div",kd,[t[20]||(t[20]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",_d,o.toDisplayString(e.$t("tropical.sty")),1)]),o.createElementVNode("div",vd,[t[21]||(t[21]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",zd,o.toDisplayString(e.$t("tropical.superTy")),1)]),o.createElementVNode("div",Ld,[t[22]||(t[22]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Cd,o.toDisplayString(e.$t("tropical.history")),1)]),o.createElementVNode("div",Sd,[t[23]||(t[23]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Nd,o.toDisplayString(e.$t("tropical.forecast")),1)]),o.createElementVNode("div",Pd,[t[24]||(t[24]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Md,"35kts "+o.toDisplayString(e.$t("tropical.radii")),1)]),o.createElementVNode("div",Td,[t[25]||(t[25]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",Vd,"50kts "+o.toDisplayString(e.$t("tropical.radii")),1)])],2),[[o.vShow,i.showLegend]])]),_:1})]),_:1},512),[[o.vShow,i.showLegend]])]))],2)):o.createCommentVNode("",!0),o.withDirectives(o.createVNode(g,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"280"},{default:o.withCtx(()=>[o.createVNode(u,null,{default:o.withCtx(()=>{var f,h,p,w;return[o.createElementVNode("div",Ed,[o.createElementVNode("span",Rd,o.toDisplayString(a.locale==="en"?(f=i.hoverPoint)==null?void 0:f.Name:((h=i.hoverPoint)==null?void 0:h.nameCn)||((p=i.hoverPoint)==null?void 0:p.Name)),1),o.createElementVNode("span",Dd," ["+o.toDisplayString(e.$t("tropical."+((w=i.hoverPoint)==null?void 0:w.levelI18n)))+"]",1)])]}),_:1}),o.createVNode(y),o.createVNode(s,{class:"text-body-1"},{default:o.withCtx(()=>{var f,h,p,w,x,b,k,L,_,z,S,M,T,E,I,G,j,H,ae,N;return[o.createElementVNode("div",Bd,[((f=i.hoverPoint)==null?void 0:f.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Id,[o.createElementVNode("label",Ad,o.toDisplayString(e.$t("tropical.updated"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((h=i.hoverPoint)==null?void 0:h.update,a.timeZone)),1)])):o.createCommentVNode("",!0),((p=i.hoverPoint)==null?void 0:p.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Fd,[o.createElementVNode("label",Gd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((w=i.hoverPoint)==null?void 0:w.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((x=i.hoverPoint)==null?void 0:x.type)==="history"?(o.openBlock(),o.createElementBlock("div",Wd,[o.createElementVNode("label",Zd,o.toDisplayString(e.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((b=i.hoverPoint)==null?void 0:b.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((k=i.hoverPoint)==null?void 0:k.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Od,[o.createElementVNode("label",jd,o.toDisplayString(e.$t("tropical.model"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((L=i.hoverPoint)==null?void 0:L.model)??"-"),1)])):o.createCommentVNode("",!0),((_=i.hoverPoint)==null?void 0:_.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",Xd,[o.createElementVNode("label",Hd,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((S=JSON.parse((z=i.hoverPoint)==null?void 0:z.wind))==null?void 0:S.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((M=i.hoverPoint)==null?void 0:M.type)==="history"?(o.openBlock(),o.createElementBlock("div",Yd,[o.createElementVNode("label",Ud,o.toDisplayString(e.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((T=i.hoverPoint)==null?void 0:T.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",Jd,[o.createElementVNode("label",$d,o.toDisplayString(e.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((E=i.hoverPoint)==null?void 0:E.pressure)??"-")+" hPa",1)]),((I=i.hoverPoint)==null?void 0:I.type)==="history"?(o.openBlock(),o.createElementBlock("div",Kd,[o.createElementVNode("label",qd,o.toDisplayString(e.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((j=JSON.parse((G=i.hoverPoint)==null?void 0:G.movement))==null?void 0:j.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((H=i.hoverPoint)==null?void 0:H.type)==="history"?(o.openBlock(),o.createElementBlock("div",Qd,[o.createElementVNode("label",eh,o.toDisplayString(e.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((N=JSON.parse((ae=i.hoverPoint)==null?void 0:ae.movement))==null?void 0:N.deg)??"-")+" °",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",th,[o.createElementVNode("label",oh,o.toDisplayString(e.$t("tropical.position"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[o.vShow,i.showHoverPoint]])])}const Ho=Q(_m,[["render",ah]]),kf="",ih={name:"DateTimePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},bgClass:{type:String,default:""},locale:{type:String,default:"en"},style:{type:Object,default:{}},intervalHour:{type:Number,default:3},timeZone:{type:Number},dateTime:{type:String},dayAbout:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["dateTime","currentTimestamp","currentRealTime","minTimestamp","maxTimestamp"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,minTimestamp:void 0,maxTimestamp:void 0,currentDate:void 0,currentTime:void 0,currentTimestamp:void 0,currentDateTimeZ:void 0,currentDateTime:void 0,currentRealTime:void 0,timer:null}},computed:{getStyle(){const e=this.width||220;if(this.position==="top")return{bottom:"40px",left:`-${(420-e)/2}px`};if(this.position==="bottom")return{top:"40px",left:`-${(420-e)/2}px`};if(this.position==="left")return{bottom:"-140px",left:"-428px"};if(this.position==="right")return{bottom:"-140px",right:"-428px"}},hourOptions(){const e=[];for(let t=0;t<24;t++)e.push(t<10?`0${t}:00`:`${t}:00`);return e.filter((t,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return C.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>C.tz(C(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(e,t){e!==t&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(e,t){e&&this.handleResetDateTime(this.dateTime)},immediate:!0},currentTimestamp:{handler(){this.currentDateTimeZ=C(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("dateTime",this.currentDateTimeZ),this.$emit("currentTimestamp",this.currentTimestamp),this.currentDateTime=`${C.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},currentRealTime:{handler(e,t){e!==t&&this.$emit("currentRealTime",this.currentRealTime)}}},mounted(){this.timer=setInterval(()=>{this.currentRealTime=`${C.tz(C().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},100),document.addEventListener("click",this.handleClickOutside)},unmounted(){clearInterval(this.timer),this.handleCancelDate(),document.removeEventListener("click",this.handleClickOutside)},methods:{handleReset(){this.handleResetDateTime(),this.handleResetMinMax()},handleResetDateTime(e){var i;const t=C(e).utc().date(),a=Math.ceil(C(e).utc().hour()/3)*3;this.currentTimestamp=((i=C(e))==null?void 0:i.utc().set({date:t,hour:a,minute:0,second:0,millisecond:0}).unix())*1e3;const r=C.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=r.clone().format("YYYY-MM-DD"),this.currentTime=r.clone().format("HH:00"),this.currentDateTime=`${C.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.currentRealTime=`${C.tz(C().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},handleResetMinMax(){var i,l,n,c,s;if(!this.dayAbout.h||!this.dayAbout.f)return;const e=C().utc().date(),t=Math.ceil(C().utc().hour()/3)*3,a=((i=C())==null?void 0:i.utc().set({date:e,hour:t,minute:0,second:0,millisecond:0}).unix())*1e3,r=C.tz(a,this.timeZoneName).clone();this.minDate=r.clone().add(this.dayAbout.h,"day").format("yyyy-MM-DD"),this.maxDate=r.clone().add(this.dayAbout.f,"day").format("yyyy-MM-DD"),this.minTimestamp=((n=(l=C())==null?void 0:l.utc())==null?void 0:n.set({date:e+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((s=(c=C())==null?void 0:c.utc())==null?void 0:s.set({date:e+this.dayAbout.f,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.$emit("minTimestamp",this.minTimestamp),this.$emit("maxTimestamp",this.maxTimestamp)},handleOpenDatePicker(){this.disabled||(this.showDatePicker=!this.showDatePicker)},handleUpdateMonth(e){const t=e||C.tz(this.currentTimestamp,this.timeZoneName).clone().month(),a=this.locale==="en"?C.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("MMM"):C.tz(this.currentTimestamp,this.timeZoneName).set({month:t}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){const e=C(this.currentDate).format("yyyy-MM-DD"),t=this.currentTime,a=`${e} ${t}`,r=C.tz(a,"YYYY-MM-DD HH:00",this.timeZoneName).clone().tz(this.localTimeZoneName);this.currentTimestamp=r.unix()*1e3,this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1;const e=C.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=e.clone().format("YYYY-MM-DD"),this.currentTime=e.clone().format("HH:00")},handleClickOutside(e){const t=this.$refs.idmGl4Timepicker;t&&!t.contains(e.target)&&(this.showDatePicker=!1)}}},rh={class:"idm-gl4-time-picker",ref:"idmGl4Timepicker"},lh={class:"pa-0",style:{width:"320px"}},nh={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},sh={class:"d-flex justify-center align-center text-body-2",style:{height:"44px"}};function ch(e,t,a,r,i,l){const n=o.resolveComponent("VDatePicker"),c=o.resolveComponent("VDivider"),s=o.resolveComponent("VListItemTitle"),d=o.resolveComponent("VListItem"),m=o.resolveComponent("VList"),g=o.resolveComponent("VCardText"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VCardActions"),f=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",rh,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:o.normalizeClass([[a.bgClass,{"cursor-pointer":!a.disabled}],"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-center px-2"]),onClick:t[0]||(t[0]=(...h)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...h))},o.toDisplayString(i.currentDateTime)+" | UTC "+o.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),7),i.showDatePicker?(o.openBlock(),o.createBlock(f,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(g,{class:"w-100 flex-1-1-0 d-flex pa-0 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",lh,[o.createVNode(n,{modelValue:i.currentDate,"onUpdate:modelValue":t[1]||(t[1]=h=>i.currentDate=h),min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":""},null,8,["modelValue","min","max"])]),o.createVNode(c,{class:"h-100",vertical:""}),o.createElementVNode("div",nh,[o.createElementVNode("div",sh,o.toDisplayString(e.$t("time.time")),1),o.createVNode(m,{class:"pa-0 flex-1-1-0 scroll"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.hourOptions,(h,p)=>(o.openBlock(),o.createBlock(d,{key:p,value:h,color:"primary",active:i.currentTime===h,rounded:"",height:"26","min-height":"26",class:"rounded-xl",variant:i.currentTime===h?"flat":"text"},{default:o.withCtx(()=>[o.createVNode(s,{class:"text-body-2 font-weight-600 text-center",onClick:w=>i.currentTime=h},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(h),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active","variant"]))),128))]),_:1})])]),_:1}),o.createVNode(c),o.createVNode(y,{class:"w-100 d-flex justify-end align-center px-4 ga-4",style:{height:"50px"}},{default:o.withCtx(()=>[o.createVNode(u,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const qe=Q(ih,[["render",ch]]),_f="",mh={name:"IdmPoint",components:{DateTimePicker:qe},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},token:{type:String},defaultMeteoToken:{type:String},theme:{type:String,default:"zh"},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},gateway:{type:String},timeZone:{type:Number},forecastModel:{type:String},realTime:{type:String},followList:{type:Array}},emits:["meteoMore","follow","cancelFollow","login"],data(){return{right:10,toggle:!1,showForm:!1,showMeteo:!1,loading:!1,form:{lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:""},formRules:{lngDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,3}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=180||"0 ~ 180"],lngMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],latDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,2}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=90||"0 ~ 90"],latMinute:[e=>e===void 0||e===null&&e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e===void 0||e===null&&e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"]},meteoData:void 0,currentHourData:{},positionOffset:void 0,positionGmt:void 0,positionMarker:void 0,meteoInfoMarker:void 0}},computed:{timeZoneNames(){return C.tz.names()},timeZoneName(){var e;return(e=this.timeZoneNames.filter(t=>C.tz(C(),t).utcOffset()===this.timeZone*60))==null?void 0:e[0]},computedTzTime(){return e=>C.tz(C(e),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return e=>{var r,i,l;const t=Number((r=this.positionOffset)==null?void 0:r.slice(1,3))*(+(((i=this.positionOffset)==null?void 0:i.slice(1))==="+")?1:-1),a=(l=this.timeZoneNames.filter(n=>C.tz(C(),n).utcOffset()===t*60))==null?void 0:l[0];return e?C.tz(C(e),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(t>=0?"+":"")+t+")":"-"}},computePosition(){return function(e){return!e||e.lng===null||e.lng===void 0||isNaN(e.lng)||e.lat===null||e.lat===void 0||isNaN(e.lat)?"-":X.LngLatHelper.lat2pretty(e==null?void 0:e.lat,2).pretty+" / "+X.LngLatHelper.lng2pretty(e==null?void 0:e.lng,2).pretty}},computeRoundPrecision(){return function(e,t=4){return e==null||isNaN(e)||isNaN(t)?"-":X.LngLatHelper.roundPrecision(e,t)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){this.toggle?this.showForm=!0:(this.showForm=!1,this.showMeteo=!1),this.map&&this.handleBind()},immediate:!0},map:{handler(){this.toggle=!1,this.map&&this.toggle&&this.handleBind()}},showForm:{handler(){this.showForm?this.$nextTick(()=>{var e;(e=this.$refs.spotForm)==null||e.resetValidation()}):this.handleCloseForm()}},showMeteo:{handler(){var e,t,a,r,i,l;this.showMeteo?((a=(t=(e=this.$parent)==null?void 0:e.$refs)==null?void 0:t.idmBottomBar)==null||a.handleToggle("spot",!0),this.simple&&this.$nextTick(()=>{var n,c;this.$parent.playerBottom=((c=(n=this.$refs.spotMeteo)==null?void 0:n.$el)==null?void 0:c.clientHeight)+10})):((l=(i=(r=this.$parent)==null?void 0:r.$refs)==null?void 0:i.idmBottomBar)==null||l.handleToggle("spot",!1),this.simple&&(this.$parent.playerBottom=30))}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime,this.showMeteo&&this.fetchData())}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(e,t){!e&&t&&(this.form.forecastModel=t==="GFS"?"ECMWF":"GFS")}}},methods:{handleMenuToggle(){this.isLogin?this.toggle=!this.toggle:this.$emit("login")},submitForm(){this.handleCloseMeteo(),this.$refs.spotForm.validate().then(async e=>{e!=null&&e.valid&&this.fetchData()})},cancelForm(){var e;(e=this.$refs.spotForm)==null||e.reset(),this.form={lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:this.forecastModel}},handleCloseForm(){this.showForm=!1,this.cancelForm(),this.toggle=!1},async fetchData(){var a;if(isNaN(this.form.latDegree)||isNaN(this.form.latMinute)||isNaN(this.form.lngDegree)||isNaN(this.form.lngMinute))return!1;this.form.lat=(Number(this.form.latDegree??0)+Number(this.form.latMinute??0)/60)*(this.form.latDirection==="N"?1:-1),this.form.lng=(Number(this.form.lngDegree??0)+Number(this.form.lngMinute??0)/60)*(this.form.lngDirection==="E"?1:-1);const e=C();((a=C(this.realTime))==null?void 0:a.diff(e,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel);let r={lat:e.lat,lng:e.lng,datetime:C(e.dateTime).utc().format(),forecastDays:e.day??3,weatherModels:t,marineModels:a};await ge.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(e){this.loading=!0,this.showMeteo=!0,this.form.lng=e.lng,this.form.lat=e.lat,this.form.followId=e.followId,this.handleDrawInfoMarker([e.lng,e.lat]),this.meteoData=[];const{weatherModels:t,marineModels:a}=Ae.Meteo2Assist.autoPickMeteoModel(e.forecastModel),r={lat:e.lat,lng:e.lng,datetime:C(e.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:t,marineModels:a};await ge.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=e.lng,this.meteoData.lat=e.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(e){var a,r,i,l,n,c,s,d,m,g,u,y,f,h,p,w,x,b,k,L,_,z,S,M,T,E,I,G,j,H,ae,N,A,F,Y,D,R,Z,P,K,re;this.currentHourData={},this.positionGmt=(r=(a=e==null?void 0:e.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=e==null?void 0:e.weather)==null?void 0:i[0])==null?void 0:l.offset;const t=((n=Ae.Meteo2Assist.pickHourly(e,C(this.form.dateTime)))==null?void 0:n[0])||{};this.currentHourData.utc=t.utc,this.currentHourData.lat=e.lat,this.currentHourData.lng=e.lng,this.currentHourData.temp=this.computeRoundPrecision((c=t==null?void 0:t.weather)==null?void 0:c.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((d=(s=t==null?void 0:t.weather)==null?void 0:s.precip)==null?void 0:d.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((g=(m=t==null?void 0:t.weather)==null?void 0:m.precip)==null?void 0:g.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((u=t==null?void 0:t.weather)==null?void 0:u.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((f=(y=t==null?void 0:t.weather)==null?void 0:y.wind)==null?void 0:f.kts,1)??"-",this.currentHourData.windDir=((p=(h=t==null?void 0:t.weather)==null?void 0:h.wind)==null?void 0:p.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((x=(w=t==null?void 0:t.weather)==null?void 0:w.wind)==null?void 0:x.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((k=(b=t==null?void 0:t.weather)==null?void 0:b.wind)==null?void 0:k.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((_=(L=t==null?void 0:t.wave)==null?void 0:L.sig)==null?void 0:_.height,1)??"-",this.currentHourData.sigwaveDir=(S=(z=t==null?void 0:t.wave)==null?void 0:z.sig)==null?void 0:S.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((T=(M=t==null?void 0:t.wave)==null?void 0:M.sig)==null?void 0:T.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((I=(E=t==null?void 0:t.wave)==null?void 0:E.wd)==null?void 0:I.height,1)??"-",this.currentHourData.windwaveDir=(j=(G=t==null?void 0:t.wave)==null?void 0:G.wd)==null?void 0:j.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision((ae=(H=t==null?void 0:t.wave)==null?void 0:H.wd)==null?void 0:ae.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((A=(N=t==null?void 0:t.wave)==null?void 0:N.swell)==null?void 0:A.height,1)??"-",this.currentHourData.swellDir=(Y=(F=t==null?void 0:t.wave)==null?void 0:F.swell)==null?void 0:Y.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((R=(D=t==null?void 0:t.wave)==null?void 0:D.swell)==null?void 0:R.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((Z=t==null?void 0:t.current)==null?void 0:Z.speed,1)??"-",this.currentHourData.currentDir=(P=t==null?void 0:t.current)==null?void 0:P.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((K=t==null?void 0:t.current)==null?void 0:K.speed,1)??"-",this.currentHourData.seaLevel=this.computeRoundPrecision(t==null?void 0:t.height,1)??"-",this.currentHourData.seaTemp=this.computeRoundPrecision(t==null?void 0:t.sst,0)??"-",this.currentHourData.weatherUrls=(re=t==null?void 0:t.weather)==null?void 0:re.url},handleBind(){var e,t;this.toggle?((e=this.map)==null||e.on("click",this.handleClick),this.map&&(this.map.getCanvas().style.cursor="crosshair")):((t=this.map)==null||t.off("click",this.handleClick),this.handleCloseMeteo(),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleClick(e){if(e.originalEvent.stopPropagation(),e.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(e.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(e){if(isNaN(e.lat)||isNaN(e.lng))return!1;this.form.latDegree=Number(X.LngLatHelper.lat2pretty(e.lat).degree),this.form.latMinute=Number(X.LngLatHelper.lat2pretty(e.lat).minute),this.form.latDirection=X.LngLatHelper.lat2pretty(e.lat).direction,this.form.lngDegree=Number(X.LngLatHelper.lng2pretty(e.lng).degree),this.form.lngMinute=Number(X.LngLatHelper.lng2pretty(e.lng).minute),this.form.lngDirection=X.LngLatHelper.lng2pretty(e.lng).direction},handleDrawInfoMarker(e){this.drawPositionMarker(e),this.simple||this.drawMeteoInfoMarker(e)},drawPositionMarker(e){e&&(this.map.flyTo({center:e,duration:300}),this.$nextTick(()=>{var a,r;(a=this.positionMarker)==null||a.remove();const t=(r=document.getElementById("idm-position-icon"))==null?void 0:r.cloneNode(!0);this.positionMarker=new _e.Marker(t).setLngLat(e).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(e){this.$nextTick(()=>{var a;const t=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(e):this.meteoInfoMarker=new _e.Marker(t).setLngLat(e).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var e,t;(e=this.positionMarker)==null||e.remove(),this.positionMarker=void 0,(t=this.meteoInfoMarker)==null||t.remove(),this.meteoInfoMarker=void 0})},handleFollow(){this.$emit("follow",this.form)},handleCancelFollow(){var t,a,r;const e=((t=this.form)==null?void 0:t.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,n;return(i==null?void 0:i.id)===this.form.followId||((l=i==null?void 0:i.coordinate)==null?void 0:l.lng)===this.form.lng&&((n=i==null?void 0:i.coordinate)==null?void 0:n.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",e)}}},dh={class:"idm-gl4-spot"},hh={class:"d-flex justify-start align-center"},ph={class:"text-h6 font-weight-600"},gh={class:"d-flex justify-start align-center ga-1 mb-1"},uh={class:"multi-color-icon","aria-hidden":"true"},fh=["xlink:href"],yh={class:"d-flex justify-start align-center ga-1 mb-1"},bh={class:"multi-color-icon","aria-hidden":"true"},wh=["xlink:href"],xh={class:"d-flex justify-start align-center ga-1 mb-1"},kh={class:"multi-color-icon","aria-hidden":"true"},_h=["xlink:href"],vh={class:"d-flex justify-start align-center ga-1 mb-1"},zh={class:"multi-color-icon","aria-hidden":"true"},Lh=["xlink:href"],Ch={class:"d-flex justify-start align-center"},Sh={class:"mx-2"},Nh={class:"mx-0 py-2 d-flex align-center justify-start"},Ph={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Mh={class:"pa-0 px-0"},Th={class:"mx-0 py-2 d-flex align-center justify-start"},Vh={cols:"9",class:"pa-0 px-0"},Eh={class:"mx-0 py-2 d-flex align-center justify-start"},Rh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Dh={style:{width:"150px"},class:"pa-0 text-left"},Bh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Ih={cols:"3",class:"pa-0 px-0 text-left"},Ah={class:"mx-0 py-2 d-flex align-center justify-start"},Fh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Gh={style:{width:"150px"},class:"pa-0 text-left"},Wh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Zh={cols:"3",class:"pa-0 text-left"},Oh={class:"mx-0 py-2 d-flex align-center justify-start"},jh={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},Xh={style:{width:"150px"},class:"pa-0 text-left"},Hh={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},Yh={class:"pa-0 text-left"},Uh={class:"d-flex justify-space-between align-center"},Jh={class:"d-flex justify-start align-center"},$h={class:"mx-1"},Kh={class:"d-flex justify-end align-center"},qh={class:"mx-0 py-1 d-flex align-center justify-start"},Qh={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},ep={class:"pa-0 px-0"},tp={class:"mx-0 py-1 d-flex align-center justify-start"},op={class:"pa-0 px-0"},ap={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},ip={class:"d-flex flex-column align-start justify-center ga-3"},rp={class:"text-label pr-2"},lp={class:"text-label pr-2"},np={class:"text-label pr-2"},sp={class:"d-flex flex-column align-start justify-center ga-3"},cp={class:"text-label pr-2"},mp={class:"text-label pr-2"},dp={class:"text-label pr-2"},hp={id:"idm-position-icon"},pp={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},gp=["xlink:href"];function up(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip"),s=o.resolveComponent("VCardTitle"),d=o.resolveComponent("VDivider"),m=o.resolveComponent("VTextField"),g=o.resolveComponent("VCol"),u=o.resolveComponent("VRow"),y=o.resolveComponent("DateTimePicker"),f=o.resolveComponent("VBtnToggle"),h=o.resolveComponent("VCardText"),p=o.resolveComponent("VCardActions"),w=o.resolveComponent("VForm"),x=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",dh,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("spot.spotsMeteo"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:b})=>[o.createVNode(n,o.mergeProps(b,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[8]||(t[8]=[o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showForm&&!a.simple?(o.openBlock(),o.createBlock(x,{key:0,class:"spot-form-card",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",hh,[o.createElementVNode("div",ph,o.toDisplayString(e.$t("spot.spotWeather")),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:o.withCtx(()=>t[9]||(t[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(d),o.createVNode(w,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.submitForm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-body-1 py-1"},{default:o.withCtx(()=>[o.createElementVNode("div",gh,[(o.openBlock(),o.createElementBlock("svg",uh,[o.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,fh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.lat")),1)]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.latDegree,"onUpdate:modelValue":t[0]||(t[0]=b=>i.form.latDegree=b),rules:i.formRules.latDegree,label:"",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),t[10]||(t[10]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[10]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.latMinute,"onUpdate:modelValue":t[1]||(t[1]=b=>i.form.latMinute=b),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[11]||(t[11]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[11]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[2]||(t[2]=b=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",yh,[(o.openBlock(),o.createElementBlock("svg",bh,[o.createElementVNode("use",{"xlink:href":`#icon-lng-${a.theme}`},null,8,wh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.lng")),1)]),o.createVNode(u,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"4",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngDegree,"onUpdate:modelValue":t[3]||(t[3]=b=>i.form.lngDegree=b),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[12]||(t[12]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),_:1,__:[12]}),o.createVNode(g,{cols:"6",class:"pa-0 d-flex"},{default:o.withCtx(()=>[o.createVNode(m,{modelValue:i.form.lngMinute,"onUpdate:modelValue":t[4]||(t[4]=b=>i.form.lngMinute=b),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),t[13]||(t[13]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),_:1,__:[13]}),o.createVNode(g,{cols:"2",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 btn-bg-1",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:t[5]||(t[5]=b=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDirection),1)]),_:1})]),_:1})]),_:1}),o.createElementVNode("div",xh,[(o.openBlock(),o.createElementBlock("svg",kh,[o.createElementVNode("use",{"xlink:href":`#icon-date-time-${a.theme}`},null,8,_h)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("spot.dateTime")),1)]),o.createVNode(u,{class:"ma-0 mb-4"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(y,o.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},e.$attrs,{onDateTime:t[6]||(t[6]=b=>i.form.dateTime=b)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),o.createElementVNode("div",vh,[(o.openBlock(),o.createElementBlock("svg",zh,[o.createElementVNode("use",{"xlink:href":`#icon-forecast-model-${a.theme}`},null,8,Lh)])),o.createElementVNode("div",null,o.toDisplayString(e.$t("weather.forecastModel")),1)]),o.createVNode(u,{class:"ma-0 mb-2"},{default:o.withCtx(()=>[o.createVNode(g,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(f,{modelValue:i.form.forecastModel,"onUpdate:modelValue":t[7]||(t[7]=b=>i.form.forecastModel=b),class:"w-100",rounded:"",height:"30",density:"compact",group:""},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact",height:"30",value:"GFS",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="GFS"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="GFS"?"primary":"","base-color":""},{default:o.withCtx(()=>t[14]||(t[14]=[o.createTextVNode("NOAA",-1)])),_:1,__:[14]},8,["class","color"]),o.createVNode(n,{density:"compact",height:"30",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="ECMWF"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:o.withCtx(()=>t[15]||(t[15]=[o.createTextVNode("ECMWF",-1)])),_:1,__:[15]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.createVNode(d),o.createVNode(p,{class:"d-flex justify-end align-center ga-4"},{default:o.withCtx(()=>[o.createVNode(n,{size:"small",variant:"outlined",class:"text-none text-body-1 btn-border-1 btn-bg-1",onClick:l.cancelForm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):o.createCommentVNode("",!0),i.showMeteo&&!a.simple?(o.openBlock(),o.createBlock(x,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Ch,[t[16]||(t[16]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Sh,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[17]||(t[17]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[17]},8,["onClick"])]),_:1}),o.createVNode(d),o.createVNode(h,{class:"text-body-1 px-0 py-1"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Nh,[o.createElementVNode("div",Ph,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",Mh,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Th,[t[18]||(t[18]=o.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",Vh,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",Eh,[o.createElementVNode("div",Rh,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("div",Dh,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1),o.createElementVNode("div",Bh,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("div",Ih,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",Ah,[o.createElementVNode("div",Fh,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("div",Gh,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1),o.createElementVNode("div",Wh,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("div",Zh,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",Oh,[o.createElementVNode("div",jh,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("div",Xh,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),o.createElementVNode("div",Hh,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("div",Yh,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])]}),_:1}),o.createVNode(d),o.createVNode(p,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[(b=a.followList)!=null&&b.some(k=>{var L,_;return(k==null?void 0:k.id)===i.form.followId||((L=k==null?void 0:k.coordinate)==null?void 0:L.lng)===i.form.lng&&((_=k==null?void 0:k.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1",id:"idm-gl4-spot-meteo-follow",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{prepend:o.withCtx(()=>t[19]||(t[19]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h6 text-warning"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(e.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleFollow,["stop"])},{prepend:o.withCtx(()=>t[20]||(t[20]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h6"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),o.createVNode(n,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:o.withModifiers(l.handleMeteoMore,["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):o.createCommentVNode("",!0),i.showMeteo&&a.simple?(o.openBlock(),o.createBlock(x,{key:2,ref:"spotMeteo",class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:o.withCtx(()=>[o.createVNode(s,null,{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",Uh,[o.createElementVNode("div",Jh,[t[21]||(t[21]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",$h,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createElementVNode("div",Kh,[(b=a.followList)!=null&&b.some(k=>{var L,_;return(k==null?void 0:k.id)===i.form.followId||((L=k==null?void 0:k.coordinate)==null?void 0:L.lng)===i.form.lng&&((_=k==null?void 0:k.coordinate)==null?void 0:_.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{default:o.withCtx(()=>t[22]||(t[22]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h4 text-warning"},null,-1)])),_:1,__:[22]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,class:"text-none text-body-1 rounded-circle",variant:"plain",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleFollow,["stop"])},{default:o.withCtx(()=>t[23]||(t[23]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h4"},null,-1)])),_:1,__:[23]},8,["onClick"])),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>t[24]||(t[24]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[24]},8,["onClick"])])]),t[25]||(t[25]=o.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[25]}),o.createVNode(d),o.createVNode(h,{class:"text-body-1 px-0 py-2"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",qh,[o.createElementVNode("div",Qh,o.toDisplayString(e.$t("time.time")),1),o.createElementVNode("div",ep,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",tp,[t[26]||(t[26]=o.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",op,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",ap,[o.createElementVNode("div",ip,[o.createElementVNode("div",null,[o.createElementVNode("span",rp,o.toDisplayString(e.$t("weather.wind")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1)]),o.createElementVNode("div",null,[o.createElementVNode("span",lp,o.toDisplayString(e.$t("weather.sigWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",np,o.toDisplayString(e.$t("weather.windWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)])]),o.createElementVNode("div",sp,[o.createElementVNode("div",null,[o.createElementVNode("span",cp,o.toDisplayString(e.$t("weather.swell")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",mp,o.toDisplayString(e.$t("weather.current")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",dp,o.toDisplayString(e.$t("weather.visibility")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)])])])]}),_:1})]),_:1},512)):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("div",hp,[(o.openBlock(),o.createElementBlock("svg",pp,[o.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,gp)]))],512),[[o.vShow,i.showMeteo]])])}const fp=Q(mh,[["render",up]]),vf="",yp={name:"IdmMeasure",props:{simple:{type:Boolean,default:!1},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:be.useTheme()}},data(){return{right:10,toggle:!1,geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",sumLayer:"measure-suml-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL",currentLineIndex:1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var e;this.simple||(this.right=(((e=document.getElementsByClassName("right-bar")[0])==null?void 0:e.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var e,t,a;if(this.toggle)this.handleBind();else{(e=this.map)==null||e.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),this.map;let r=this.geojson.find(i=>!i.closed);r&&this.handleClear(r,!0),this.geojson=this.geojson.filter(i=>!!i.closed),r=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(r)}},immediate:!0},map:{handler(){this.map&&(this.toggle?this.handleBind():this.handleUnbind())}}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleBind(){var e,t,a,r,i;(e=this.map)==null||e.getCanvas().addEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(r=this.map)==null||r.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair")},handleUnbind(){var e,t,a,r,i;(e=this.map)==null||e.getCanvas().removeEventListener("keydown",this.handleKeydown),(t=this.map)==null||t.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),(r=this.map)==null||r.off("click",this.handleClick),(i=this.map)==null||i.off("contextmenu",this.handleContextmenu);for(const l of this.geojson)this.handleClear(l,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")},handleKeydown(e){if(e.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const t=this.geojson.at(-1),a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&(a.at(-1).properties.mode=this.navigation),this.handleRender(t)}},handleDrag(e){var a,r,i,l,n,c,s,d,m,g;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(p=>p.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(p=>{var w;return((w=p._element)==null?void 0:w.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);let f;u.features.forEach((p,w)=>{if(p.geometry.type==="Point"&&p.properties.id===t.split("-")[1]){f=w;return}});const h=u.features.filter(p=>p.geometry.type==="Point");this.handleTmpPointUpdate(u,h[f-1],{lng:(d=(s=e.target)==null?void 0:s._lngLat)==null?void 0:d.lng,lat:(g=(m=e.target)==null?void 0:m._lngLat)==null?void 0:g.lat,properties:h[f].properties},f===h.length-1?void 0:h[f+1])}},handleDragEnd(e){var a,r,i,l,n,c,s,d,m,g;const t=(r=(a=e.target)==null?void 0:a._element)==null?void 0:r.id;if((t==null?void 0:t.split("-").length)===2){const u=this.geojson.filter(h=>h.id===t.split("-")[0])[0];this.pointMarkers[u.id].filter(h=>{var p;return((p=h._element)==null?void 0:p.id)===t})[0].setLngLat([(l=(i=e.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(c=(n=e.target)==null?void 0:n._lngLat)==null?void 0:c.lat]);const f=u.features.filter(h=>h.geometry.type==="Point"&&h.properties.id===t.split("-")[1])[0];f.geometry.coordinates=[(d=(s=e.target)==null?void 0:s._lngLat)==null?void 0:d.lng,(g=(m=e.target)==null?void 0:m._lngLat)==null?void 0:g.lat],u.features=u.features.filter(h=>h.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(e){var a,r,i,l;e.preventDefault(),(a=this.contextmenu)==null||a.remove();const t=(l=(i=(r=e.originalEvent)==null?void 0:r.target)==null?void 0:i.parentElement)==null?void 0:l.id;if((t==null?void 0:t.split("-").length)===2){const c=this.geojson.filter(s=>s.id===t.split("-")[0])[0].features.filter(s=>s.geometry.type==="Point");if(c.length>2&&c.filter(d=>d.properties.id===(t==null?void 0:t.split("-")[1]))[0]){const d=document.createElement("div");d.className="idm-gl4-measure-contextmenu-marker",d.innerHTML=`<span id="del-${t}" class="del-point">${$t("actions.detele")}</span>`,this.contextmenu=new _e.Marker(d).setOffset([24,0]).setLngLat([e.lngLat.lng,e.lngLat.lat]).addTo(this.map)}}},handleClick(e){var a,r,i,l,n,c;(a=this.contextmenu)==null||a.remove();const t=e.originalEvent.target.className;if(t==="marker-close"){const s=(i=(r=e.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,d=this.geojson.filter(m=>m.id===s)[0];d&&this.handleClear(d,!0),this.geojson=this.geojson.filter(m=>m.id!==s),!this.toggle&&!((l=this.geojson)!=null&&l.some(m=>m.closed))&&this.handleUnbind()}else if(t==="del-point"){const s=(c=(n=e.originalEvent.target.id)==null?void 0:n.replace("del-",""))==null?void 0:c.split("-"),d=this.geojson.filter(m=>m.id===s[0])[0];d.features=d.features.filter(m=>m.geometry.type==="Point"&&m.properties.id!==s[1]),this.handlePointUpdate(d)}else if(t!=="marker-label"&&this.toggle){let s=this.geojson.at(-1);s||(s=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(s)),s.features=s.features.filter(m=>m.geometry.type==="Point");const d=J.feature({type:"Point",coordinates:[e.lngLat.lng,e.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});s.features.push(d),this.handlePointUpdate(s)}},handlePointUpdate(e){const t=e.features;if(t.length>1){let a=0;const r=[];for(let i=1;i<t.length;i++){const l=t[i-1],n=t[i],c=l.properties,s={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},d={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},m=X.LaneHelper.calculateDistance(s,d,c.mode==="RL",4),g=X.LaneHelper.calculateBearing(s,d,c.mode==="RL",2);a=X.LngLatHelper.roundPrecision(a+m,4);let u;c.mode==="RL"?u=X.LngLatHelper.convertToMonotonicLng([s,d]):u=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(s,d,200));const y=J.lineString(u.map(h=>[h.lng,h.lat]));y.properties.dist=m,y.properties.bearing=g,y.properties.total=a,y.properties.name="Line "+this.currentLineIndex,r.push(y);const f=t[i];f.properties.totalDist=X.LngLatHelper.roundPrecision((c.totalDist?c.totalDist:0)+m,4),f.properties.sumLabel=f.properties.totalDist+" nm"}t.push(...r),e.total=a}return this.handleRender(e),e},handleTmpPointUpdate(e,t,a,r){const i=J.featureCollection([]);let l,n;if(t){const s=t.properties,d={lng:t.geometry.coordinates[0],lat:t.geometry.coordinates[1]},m={lng:a.lng,lat:a.lat};l=X.LaneHelper.calculateDistance(d,m,s.mode==="RL",4),n=X.LaneHelper.calculateBearing(d,m,s.mode==="RL",2);let g;s.mode==="RL"?g=X.LngLatHelper.convertToMonotonicLng([d,m]):g=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(d,m,200));const u=J.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}if(r){const s=a.properties,d=a,m={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=X.LaneHelper.calculateDistance(d,m,s.mode==="RL",4),n=X.LaneHelper.calculateBearing(d,m,s.mode==="RL",2);let g;s.mode==="RL"?g=X.LngLatHelper.convertToMonotonicLng([d,m]):g=X.LngLatHelper.convertToMonotonicLng(X.LaneHelper.interpolateCoordinates(d,m,200));const u=J.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});let c;if(r)c=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const s=X.LngLatHelper.roundPrecision((e.total??0)+l,1);c=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${s}</b>nm, ${this.$t("measure.bearing")}: <b>${n}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation==="RL"?"RL":"GC"}, ${this.$t("measure.switchTips")}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`}if(this.tipMarker)this.tipMarker._element.innerHTML=c,this.tipMarker.setLngLat([a.lng,a.lat]);else{const s=document.createElement("div");s.className="idm-gl4-measure-tip-marker",s.innerHTML=c,this.tipMarker=new _e.Marker(s).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(e){this.map.getCanvas().style.cursor="crosshair";let t=this.geojson.at(-1);t||(t=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t));const a=t.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(t,a.at(-1),{lng:e.lngLat.lng,lat:e.lngLat.lat})},handleDblClick(e){e.preventDefault();let t=this.geojson.at(-1);t.closed=!0,this.handleRender(t),t=J.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(t),this.currentLineIndex++},handleRender(e){var t;if((t=e==null?void 0:e.features)!=null&&t.length){const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(e):this.map.addSource(a,{type:"geojson",data:e}),this.handleClear(e,!1),this.map.addLayer({id:r,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist} nm","text-rotation-alignment":"map","text-size":10,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}}),this.map.addLayer({id:l,type:"symbol",source:a,filter:["==","$type","Point"],layout:{"text-field":"{sumLabel}","text-rotation-alignment":"map","text-size":12,"text-offset":[0,1.5]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});const n=e.features.filter(c=>c.geometry.type==="Point");for(const c of n){const s=document.createElement("div");s.id=`${e.id}-${c.properties.id}`,s.className=`${e.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,s.innerHTML='<div class="marker-circle"></div>';const d=new _e.Marker({element:s,draggable:!0,contextmenu:!0}).setLngLat(c.geometry.coordinates).addTo(this.map);d.on("drag",this.handleDrag),d.on("dragend",this.handleDragEnd),this.pointMarkers[e.id]?this.pointMarkers[e.id].push(d):this.pointMarkers[e.id]=[d]}if(e.closed){const c=n.at(-1),d=e.features.filter(g=>g.geometry.type==="LineString").at(-1),m=document.createElement("div");m.className="idm-gl4-measure-summary-marker",m.innerHTML=`<div class="marker-label">${d.properties.name}</div><div id="${e.id}" class="marker-close">X</div>`,this.closeMarkers[e.id]=new _e.Marker(m).setOffset([0,-30]).setLngLat(c.geometry.coordinates).addTo(this.map)}}},handleClear(e,t=!0){var n,c,s,d,m,g,u,y,f,h;const a=`${e.id}-${this.source}`,r=`${e.id}-${this.layer}`,i=`${e.id}-${this.labelLayer}`,l=`${e.id}-${this.sumLayer}`;(n=this.map)!=null&&n.getLayer(r)&&this.map.removeLayer(r),(c=this.map)!=null&&c.getLayer(i)&&this.map.removeLayer(i),(s=this.map)!=null&&s.getLayer(l)&&this.map.removeLayer(l),(d=this.map)!=null&&d.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(m=this.map)!=null&&m.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(g=this.closeMarkers[e.id])==null||g.remove(),this.closeMarkers[e.id]=void 0,(u=this.pointMarkers[e.id])==null||u.forEach(p=>{p==null||p.remove()}),this.pointMarkers[e.id]=[],(y=this.tipMarker)==null||y.remove(),this.tipMarker=void 0,t&&((f=this.map)!=null&&f.getSource(a))&&this.map.removeSource(a),t&&((h=this.map)!=null&&h.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},bp={class:"idm-gl4-measure"};function wp(e,t,a,r,i,l){const n=o.resolveComponent("VBtn"),c=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",bp,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[o.createVNode(c,{text:e.$t("measure.measure"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:s})=>[o.createVNode(n,o.mergeProps(s,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>t[0]||(t[0]=[o.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4)])}const xp=Q(yp,[["render",wp]]);var V={image:new Map,background:new Map,resource:new Map,defaultStyle:new Map,baseStyle:new Map,computedStyle:new WeakMap,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}};function kp(e="soft"){switch(V.session.__counterEpoch=(V.session.__counterEpoch||0)+1,e){case"auto":{V.session.styleMap=new Map,V.session.nodeMap=new Map;return}case"soft":{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap,V.computedStyle=new WeakMap,V.baseStyle=new Map,V.defaultStyle=new Map,V.image=new Map,V.background=new Map,V.resource=new Map,V.font=new Set;return}default:{V.session.styleMap=new Map,V.session.nodeMap=new Map,V.session.styleCache=new WeakMap;return}}}function Yo(e){let t=e.match(/url\((['"]?)(.*?)(\1)\)/);if(!t)return null;let a=t[2].trim();return a.startsWith("#")?null:a}function _p(e){if(!e||e==="none")return"";let t=e.replace(/translate[XY]?\([^)]*\)/g,"");return t=t.replace(/matrix\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),t=t.replace(/matrix3d\(([^)]+)\)/g,(a,r)=>{let i=r.split(",").map(l=>l.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),t.trim().replace(/\s{2,}/g," ")}function Ro(e){if(/%[0-9A-Fa-f]{2}/.test(e))return e;try{return encodeURI(e)}catch{return e}}function vp(e="[snapDOM]",{ttlMs:t=5*6e4,maxEntries:a=12}={}){let r=new Map,i=0;function l(n,c,s){if(i>=a)return;let d=Date.now();(r.get(c)||0)>d||(r.set(c,d+t),i++,n==="warn"&&console&&console.warn?console.warn(`${e} ${s}`):console&&console.error&&console.error(`${e} ${s}`))}return{warnOnce(n,c){l("warn",n,c)},errorOnce(n,c){l("error",n,c)},reset(){r.clear(),i=0}}}var da=vp("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),Uo=new Map,Do=new Map;function zp(e){return/^data:|^blob:|^about:blank$/i.test(e)}function Lp(e,t){try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=t.includes("{url}")?t.split("{url}")[0]:t,i=new URL(r||".",a),l=new URL(e,a);if(l.origin===i.origin)return!0;let n=l.searchParams;if(n&&(n.has("url")||n.has("target")))return!0}catch{}return!1}function Cp(e,t){if(!t||zp(e)||Lp(e,t))return!1;try{let a=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(e,a);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!t}}function Sp(e,t){if(!t)return e;if(t.includes("{url}"))return t.replace("{urlRaw}",Ro(e)).replace("{url}",encodeURIComponent(e));if(/[?&]url=?$/.test(t))return`${t}${encodeURIComponent(e)}`;if(t.endsWith("?"))return`${t}url=${encodeURIComponent(e)}`;if(t.endsWith("/"))return`${t}${Ro(e)}`;let a=t.includes("?")?"&":"?";return`${t}${a}url=${encodeURIComponent(e)}`}function ha(e){return new Promise((t,a)=>{let r=new FileReader;r.onload=()=>t(String(r.result||"")),r.onerror=()=>a(new Error("read_failed")),r.readAsDataURL(e)})}function Np(e,t){return[t.as||"blob",t.timeout??3e3,t.useProxy||"",t.errorTTL??8e3,e].join("|")}async function Re(e,t={}){let a=t.as??"blob",r=t.timeout??3e3,i=t.useProxy||"",l=t.errorTTL??8e3,n=t.headers||{},c=!!t.silent;if(/^data:/i.test(e))try{if(a==="text")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1};if(a==="dataURL")return{ok:!0,data:String(e),status:200,url:e,fromCache:!1,mime:String(e).slice(5).split(";")[0]||""};let[,p="",w=""]=String(e).match(/^data:([^,]*),(.*)$/)||[],x=/;base64/i.test(p)?atob(w):decodeURIComponent(w),b=new Uint8Array([...x].map(L=>L.charCodeAt(0))),k=new Blob([b],{type:(p||"").split(";")[0]||""});return{ok:!0,data:k,status:200,url:e,fromCache:!1,mime:k.type||""}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(e))try{let p=await fetch(e);if(!p.ok)return{ok:!1,data:null,status:p.status,url:e,fromCache:!1,reason:"http_error"};let w=await p.blob(),x=w.type||p.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await ha(w),status:p.status,url:e,fromCache:!1,mime:x}:a==="text"?{ok:!0,data:await w.text(),status:p.status,url:e,fromCache:!1,mime:x}:{ok:!0,data:w,status:p.status,url:e,fromCache:!1,mime:x}}catch{return{ok:!1,data:null,status:0,url:e,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(e))return a==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:e,fromCache:!1,mime:"image/png"}:{ok:!0,data:a==="text"?"":new Blob([]),status:200,url:e,fromCache:!1};let s=Np(e,{as:a,timeout:r,useProxy:i,errorTTL:l}),d=Do.get(s);if(d&&d.until>Date.now())return{...d.result,fromCache:!0};d&&Do.delete(s);let m=Uo.get(s);if(m)return m;let g=Cp(e,i)?Sp(e,i):e,u=t.credentials;if(!u)try{let p=typeof location<"u"&&location.href?location.href:"http://localhost/",w=new URL(e,p);u=typeof location<"u"&&w.origin===location.origin?"include":"omit"}catch{u="omit"}let y=new AbortController,f=setTimeout(()=>y.abort("timeout"),r),h=(async()=>{try{let p=await fetch(g,{signal:y.signal,credentials:u,headers:n});if(!p.ok){let b={ok:!1,data:null,status:p.status,url:g,fromCache:!1,reason:"http_error"};if(l>0&&Do.set(s,{until:Date.now()+l,result:b}),!c){let k=`${p.status} ${p.statusText||""}`.trim();da.warnOnce(`http:${p.status}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,`HTTP error ${k} while fetching ${a} ${e}`)}return t.onError&&t.onError(b),b}if(a==="text")return{ok:!0,data:await p.text(),status:p.status,url:g,fromCache:!1};let w=await p.blob(),x=w.type||p.headers.get("content-type")||"";return a==="dataURL"?{ok:!0,data:await ha(w),status:p.status,url:g,fromCache:!1,mime:x}:{ok:!0,data:w,status:p.status,url:g,fromCache:!1,mime:x}}catch(p){let w=p&&typeof p=="object"&&"name"in p&&p.name==="AbortError"?String(p.message||"").includes("timeout")?"timeout":"abort":"network",x={ok:!1,data:null,status:0,url:g,fromCache:!1,reason:w};if(!/^blob:/i.test(e)&&l>0&&Do.set(s,{until:Date.now()+l,result:x}),!c){let b=`${w}:${a}:${new URL(e,(location==null?void 0:location.href)??"http://localhost/").origin}`,k=w==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${e}`:w==="abort"?`Request aborted while fetching ${a} ${e}`:`Network/CORS issue while fetching ${a} ${e}. A proxy may be required`;da.errorOnce(b,k)}return t.onError&&t.onError(x),x}finally{clearTimeout(f),Uo.delete(s)}})();return Uo.set(s,h),h}async function pa(e,t={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(e)||e.trim()==="none")return e;let a=Yo(e);if(!a)return e;let r=Ro(a);if(V.background.has(r)){let i=V.background.get(r);return i?`url("${i}")`:"none"}try{let i=await Re(r,{as:"dataURL",useProxy:t.useProxy});return i.ok?(V.background.set(r,i.data),`url("${i.data}")`):(V.background.set(r,null),"none")}catch{return V.background.set(r,null),"none"}}var Pp=new Set(["meta","script","noscript","title","link","template"]),Jo=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);function Mp(e){if(e=String(e).toLowerCase(),Jo.has(e)){let l={};return V.defaultStyle.set(e,l),l}if(V.defaultStyle.has(e))return V.defaultStyle.get(e);let t=document.getElementById("snapdom-sandbox");t||(t=document.createElement("div"),t.id="snapdom-sandbox",t.setAttribute("data-snapdom-sandbox","true"),t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.left="-9999px",t.style.top="-9999px",t.style.width="0px",t.style.height="0px",t.style.overflow="hidden",document.body.appendChild(t));let a=document.createElement(e);a.style.all="initial",t.appendChild(a);let r=getComputedStyle(a),i={};for(let l of r){if(ga(l))continue;let n=r.getPropertyValue(l);i[l]=n}return t.removeChild(a),V.defaultStyle.set(e,i),i}var Tp=/(?:^|-)(animation|transition)(?:-|$)/i,Vp=/^(--|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,Ep=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope"]);function ga(e){let t=String(e).toLowerCase();return!!(Ep.has(t)||Vp.test(t)||Tp.test(t))}function $o(e,t){if(t=String(t||"").toLowerCase(),Jo.has(t))return"";let a=[],r=Mp(t);for(let[i,l]of Object.entries(e)){if(ga(i))continue;let n=r[i];l&&l!==n&&a.push(`${i}:${l}`)}return a.sort(),a.join(";")}function Rp(e){let t=new Set;return e.nodeType!==Node.ELEMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(e.tagName&&t.add(e.tagName.toLowerCase()),typeof e.querySelectorAll=="function"&&e.querySelectorAll("*").forEach(a=>t.add(a.tagName.toLowerCase())),Array.from(t))}function Dp(e){let t=new Map;for(let r of e){let i=V.defaultStyle.get(r);if(!i)continue;let l=Object.entries(i).map(([n,c])=>`${n}:${c};`).sort().join("");l&&(t.has(l)||t.set(l,[]),t.get(l).push(r))}let a="";for(let[r,i]of t.entries())a+=`${i.join(",")} { ${r} }
|
|
218
218
|
`;return a}function Bp(e){let t=Array.from(new Set(e.values())).filter(Boolean).sort(),a=new Map,r=1;for(let i of t)a.set(i,`c${r++}`);return a}function ua(e,t=null){if(!(e instanceof Element))return window.getComputedStyle(e,t);let a=V.computedStyle.get(e);if(a||(a=new Map,V.computedStyle.set(e,a)),!a.has(t)){let r=window.getComputedStyle(e,t);a.set(t,r)}return a.get(t)}function fa(e){let t={};for(let a of e)t[a]=e.getPropertyValue(a);return t}function ya(e){let t=[],a=0,r=0;for(let i=0;i<e.length;i++){let l=e[i];l==="("&&a++,l===")"&&a--,l===","&&a===0&&(t.push(e.slice(r,i).trim()),r=i+1)}return t.push(e.slice(r).trim()),t}var Ip=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],Xe=Object.assign({materialIconsFilled:"https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2",materialIconsOutlined:"https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2",materialIconsRound:"https://fonts.gstatic.com/s/materialiconsround/v109/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2",materialIconsSharp:"https://fonts.gstatic.com/s/materialiconssharp/v110/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvRImcycg.woff2"},typeof window<"u"&&window.__SNAPDOM_ICON_FONTS__||{}),Ko=[];function Ap(e){let t=Array.isArray(e)?e:[e];for(let a of t)a instanceof RegExp?Ko.push(a):typeof a=="string"?Ko.push(new RegExp(a,"i")):console.warn("[snapdom] Ignored invalid iconFont value:",a)}function De(e){let t=typeof e=="string"?e:"",a=[...Ip,...Ko];for(let r of a)if(r instanceof RegExp&&r.test(t))return!0;return!!(/icon/i.test(t)||/glyph/i.test(t)||/symbols/i.test(t)||/feather/i.test(t)||/fontawesome/i.test(t))}function Fp(e=""){let t=String(e).toLowerCase();return/\bmaterial\s*icons\b/.test(t)||/\bmaterial\s*symbols\b/.test(t)}var ba=new Map;function Gp(e=""){let t=Object.create(null),a=String(e||""),r=/['"]?\s*([A-Za-z]{3,4})\s*['"]?\s*([+-]?\d+(?:\.\d+)?)\s*/g,i;for(;i=r.exec(a);)t[i[1].toUpperCase()]=Number(i[2]);return t}async function Wp(e,t,a){let r=String(e||""),i=r.toLowerCase(),l=String(t||"").toLowerCase();if(/\bmaterial\s*icons\b/.test(i)&&!/\bsymbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};if(!/\bmaterial\s*symbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};let n=a&&(a.FILL??a.fill),c="outlined";/\brounded\b/.test(l)||/\bround\b/.test(l)?c="rounded":/\bsharp\b/.test(l)?c="sharp":/\boutlined\b/.test(l)&&(c="outlined");let s=n===1,d=null;if(s&&(c==="outlined"&&Xe.materialIconsFilled?d={url:Xe.materialIconsFilled,alias:"snapdom-mi-filled"}:c==="rounded"&&Xe.materialIconsRound?d={url:Xe.materialIconsRound,alias:"snapdom-mi-round"}:c==="sharp"&&Xe.materialIconsSharp&&(d={url:Xe.materialIconsSharp,alias:"snapdom-mi-sharp"})),!d)return{familyForMeasure:r,familyForCanvas:r};if(!ba.has(d.alias))try{let g=new FontFace(d.alias,`url(${d.url})`,{style:"normal",weight:"400"});document.fonts.add(g),await g.load(),ba.set(d.alias,!0)}catch{return{familyForMeasure:r,familyForCanvas:r}}let m=`"${d.alias}"`;return{familyForMeasure:m,familyForCanvas:m}}async function Zp(e="Material Icons",t=24){try{await Promise.all([document.fonts.load(`400 ${t}px "${String(e).replace(/["']/g,"")}"`),document.fonts.ready])}catch{}}function Op(e){var i,l;let t=((i=e.getPropertyValue("-webkit-text-fill-color"))==null?void 0:i.trim())||"",a=/^transparent$/i.test(t)||/rgba?\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(t);if(t&&!a&&t.toLowerCase()!=="currentcolor")return t;let r=(l=e.color)==null?void 0:l.trim();return r&&r!=="inherit"?r:"#000"}async function jp(e,{family:t="Material Icons",weight:a="normal",fontSize:r=32,color:i="#000",variation:l="",className:n=""}={}){let c=String(t||"").replace(/^['"]+|['"]+$/g,""),s=window.devicePixelRatio||1,d=Gp(l),{familyForMeasure:m,familyForCanvas:g}=await Wp(c,n,d);await Zp(g.replace(/^["']+|["']+$/g,""),r);let u=document.createElement("span");u.textContent=e,u.style.position="absolute",u.style.visibility="hidden",u.style.left="-99999px",u.style.whiteSpace="nowrap",u.style.fontFamily=m,u.style.fontWeight=String(a||"normal"),u.style.fontSize=`${r}px`,u.style.lineHeight="1",u.style.margin="0",u.style.padding="0",u.style.fontFeatureSettings="'liga' 1",u.style.fontVariantLigatures="normal",u.style.color=i,document.body.appendChild(u);let y=u.getBoundingClientRect(),f=Math.max(1,Math.ceil(y.width)),h=Math.max(1,Math.ceil(y.height));document.body.removeChild(u);let p=document.createElement("canvas");p.width=f*s,p.height=h*s;let w=p.getContext("2d");w.scale(s,s),w.font=`${a?`${a} `:""}${r}px ${g}`,w.textAlign="left",w.textBaseline="top",w.fillStyle=i;try{w.fontKerning="normal"}catch{}return w.fillText(e,0,0),{dataUrl:p.toDataURL(),width:f,height:h}}async function Xp(e,t){if(!(e instanceof Element))return 0;let a='.material-icons, [class*="material-symbols"]',r=Array.from(e.querySelectorAll(a)).filter(n=>n&&n.textContent&&n.textContent.trim());if(r.length===0)return 0;let i=t instanceof Element?Array.from(t.querySelectorAll(a)).filter(n=>n&&n.textContent&&n.textContent.trim()):[],l=0;for(let n=0;n<r.length;n++){let c=r[n],s=i[n]||null;try{let d=getComputedStyle(s||c),m=d.fontFamily||"Material Icons";if(!Fp(m))continue;let g=(s||c).textContent.trim();if(!g)continue;let u=parseInt(d.fontSize,10)||24,y=d.fontWeight&&d.fontWeight!=="normal"?d.fontWeight:"normal",f=Op(d),h=d.fontVariationSettings&&d.fontVariationSettings!=="normal"?d.fontVariationSettings:"",p=(s||c).className||"",{dataUrl:w,width:x,height:b}=await jp(g,{family:m,weight:y,fontSize:u,color:f,variation:h,className:p});c.textContent="";let k=c.ownerDocument.createElement("img");k.src=w,k.alt=g,k.style.height=`${u}px`,k.style.width=`${Math.max(1,Math.round(x/b*u))}px`,k.style.objectFit="contain",k.style.verticalAlign=getComputedStyle(c).verticalAlign||"baseline",c.appendChild(k),l++}catch{}}return l}async function Hp(e,t,a,r=32,i="#000"){t=t.replace(/^['"]+|['"]+$/g,"");let l=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}let n=document.createElement("span");n.textContent=e,n.style.position="absolute",n.style.visibility="hidden",n.style.fontFamily=`"${t}"`,n.style.fontWeight=a||"normal",n.style.fontSize=`${r}px`,n.style.lineHeight="1",n.style.whiteSpace="nowrap",n.style.padding="0",n.style.margin="0",document.body.appendChild(n);let c=n.getBoundingClientRect(),s=Math.ceil(c.width),d=Math.ceil(c.height);document.body.removeChild(n);let m=document.createElement("canvas");m.width=Math.max(1,s*l),m.height=Math.max(1,d*l);let g=m.getContext("2d");return g.scale(l,l),g.font=a?`${a} ${r}px "${t}"`:`${r}px "${t}"`,g.textAlign="left",g.textBaseline="top",g.fillStyle=i,g.fillText(e,0,0),{dataUrl:m.toDataURL(),width:s,height:d}}var Yp=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function Bo(e){if(!e)return"";for(let t of e.split(",")){let a=t.trim().replace(/^['"]+|['"]+$/g,"");if(a&&!Yp.has(a.toLowerCase()))return a}return""}function Io(e){let t=String(e??"400").trim().toLowerCase();if(t==="normal")return 400;if(t==="bold")return 700;let a=parseInt(t,10);return Number.isFinite(a)?Math.min(900,Math.max(100,a)):400}function Ao(e){let t=String(e??"normal").trim().toLowerCase();return t.startsWith("italic")?"italic":t.startsWith("oblique")?"oblique":"normal"}function Up(e){let t=String(e??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return t?Math.max(50,Math.min(200,parseFloat(t[1]))):100}function Jp(e){let t=String(e||"400").trim(),a=t.match(/^(\d{2,3})\s+(\d{2,3})$/);if(a){let i=Io(a[1]),l=Io(a[2]);return{min:Math.min(i,l),max:Math.max(i,l)}}let r=Io(t);return{min:r,max:r}}function $p(e){let t=String(e||"normal").trim().toLowerCase();return t==="italic"?{kind:"italic"}:t.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}function Kp(e){let t=String(e||"100%").trim(),a=t.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(a){let l=parseFloat(a[1]),n=parseFloat(a[2]);return{min:Math.min(l,n),max:Math.max(l,n)}}let r=t.match(/(\d+(?:\.\d+)?)\s*%/),i=r?parseFloat(r[1]):100;return{min:i,max:i}}function qp(e,t){if(!e)return!1;try{let a=new URL(e,location.href);if(a.origin===location.origin)return!0;let r=a.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com"].some(l=>r.endsWith(l)))return!0;let i=(a.pathname+a.search).toLowerCase();if(/\bfont(s)?\b/.test(i)||/\.woff2?(\b|$)/.test(i))return!0;for(let l of t){let n=l.toLowerCase().replace(/\s+/g,"+"),c=l.toLowerCase().replace(/\s+/g,"-");if(i.includes(n)||i.includes(c))return!0}return!1}catch{return!1}}function Qp(e){var a;let t=new Set;for(let r of e||[]){let i=(a=String(r).split("__")[0])==null?void 0:a.trim();i&&t.add(i)}return t}function wa(e,t){return e&&e.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(a,r,i)=>{let l=(i||"").trim();if(!l||/^data:|^blob:|^https?:|^file:|^about:/i.test(l))return a;let n=l;try{n=new URL(l,t||location.href).href}catch{}return`url("${n}")`})}var qo=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g,Fo=4;async function eg(e,t,a){if(!e)return e;let r=new Set;function i(c,s){try{return new URL(c,s||location.href).href}catch{return c}}async function l(c,s,d=0){if(d>Fo)return console.warn(`[snapDOM] @import depth exceeded (${Fo}) at ${s}`),c;let m="",g=0,u;for(;u=qo.exec(c);){m+=c.slice(g,u.index),g=qo.lastIndex;let y=(u[2]||u[4]||"").trim(),f=i(y,s);if(r.has(f)){console.warn(`[snapDOM] Skipping circular @import: ${f}`);continue}r.add(f);let h="";try{let p=await Re(f,{as:"text",useProxy:a,silent:!0});p.ok&&typeof p.data=="string"&&(h=p.data)}catch{}h?(h=wa(h,f),h=await l(h,f,d+1),m+=`
|
|
219
219
|
/* inlined: ${f} */
|
|
220
220
|
${h}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as j } from "./chunk-ANSXOGKI-
|
|
2
|
-
import "./chunk-3VYIPD3A-
|
|
3
|
-
import "./index-
|
|
1
|
+
import { d as j } from "./chunk-ANSXOGKI-052d4843.js";
|
|
2
|
+
import "./chunk-3VYIPD3A-de747d6d.js";
|
|
3
|
+
import "./index-1e2659ec.js";
|
|
4
4
|
import "axios";
|
|
5
5
|
import "vuetify";
|
|
6
6
|
import "vue";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { m as h } from "./chunk-T4JIPPZO-
|
|
2
|
-
import "./chunk-3VYIPD3A-
|
|
3
|
-
import "./index-
|
|
1
|
+
import { m as h } from "./chunk-T4JIPPZO-0e79060d.js";
|
|
2
|
+
import "./chunk-3VYIPD3A-de747d6d.js";
|
|
3
|
+
import "./index-1e2659ec.js";
|
|
4
4
|
import "axios";
|
|
5
5
|
import "vuetify";
|
|
6
6
|
import "vue";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as u } from "./chunk-ANSXOGKI-
|
|
2
|
-
import { l as g } from "./index-
|
|
3
|
-
import "./chunk-3VYIPD3A-
|
|
1
|
+
import { d as u } from "./chunk-ANSXOGKI-052d4843.js";
|
|
2
|
+
import { l as g } from "./index-1e2659ec.js";
|
|
3
|
+
import "./chunk-3VYIPD3A-de747d6d.js";
|
|
4
4
|
import "axios";
|
|
5
5
|
import "vuetify";
|
|
6
6
|
import "vue";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idmwx/idmui-gl4",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.9.0",
|
|
5
5
|
"description": "idm webgl4",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"keywords": [
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"vite-plugin-dts": "^2.0.2",
|
|
81
81
|
"vue-i18n": "^11.1.11",
|
|
82
82
|
"vue-tsc": "^1.0.24",
|
|
83
|
-
"vuetify": "3.11.
|
|
83
|
+
"vuetify": "^3.11.8"
|
|
84
84
|
},
|
|
85
85
|
"lint-staged": {
|
|
86
86
|
"*.{ts,tsx,js,vue}": "eslint --fix",
|