@idmwx/idmui-gl4 3.9.5 → 3.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { l as b } from "./index-70965a2e.js";
1
+ import { l as b } from "./index-f5930426.js";
2
2
  function M(e) {
3
3
  return typeof e == "string" && /^data:image\/svg\+xml/i.test(e);
4
4
  }
@@ -1,4 +1,4 @@
1
- import { W as a } from "./chunk-3VYIPD3A-7c3a348c.js";
1
+ import { W as a } from "./chunk-3VYIPD3A-24ad3023.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,4 +1,4 @@
1
- import { W as m } from "./chunk-3VYIPD3A-7c3a348c.js";
1
+ import { W as m } from "./chunk-3VYIPD3A-24ad3023.js";
2
2
  async function a(n, e) {
3
3
  let o = e.type;
4
4
  if (o === "svg") {
@@ -1,6 +1,6 @@
1
- import { m as d } from "./chunk-T4JIPPZO-fea6ca0d.js";
2
- import { W as f } from "./chunk-3VYIPD3A-7c3a348c.js";
3
- import "./index-70965a2e.js";
1
+ import { m as d } from "./chunk-T4JIPPZO-2877877c.js";
2
+ import { W as f } from "./chunk-3VYIPD3A-24ad3023.js";
3
+ import "./index-f5930426.js";
4
4
  import "axios";
5
5
  import "vuetify";
6
6
  import "vue";
@@ -9928,8 +9928,8 @@ const Ud = {
9928
9928
  immediate: !0
9929
9929
  },
9930
9930
  map: {
9931
- handler() {
9932
- this.map ? (this.toggle = localStorage.getItem(this.tropicalCacheKey) === "true" || !1, localStorage.setItem(this.tropicalCacheKey, this.toggle), this.toggle && this.fetchTropicals()) : this.handleClear();
9931
+ handler(t, e) {
9932
+ e == null || e.off("render", this.handleUpdateMarkerVisibility), this.map ? (this.map.on("render", this.handleUpdateMarkerVisibility), this.toggle = localStorage.getItem(this.tropicalCacheKey) === "true" || !1, localStorage.setItem(this.tropicalCacheKey, this.toggle), this.toggle && this.fetchTropicals()) : this.handleClear();
9933
9933
  }
9934
9934
  },
9935
9935
  showTropicalsInfo: {
@@ -10280,8 +10280,23 @@ const Ud = {
10280
10280
  }
10281
10281
  },
10282
10282
  handleClear() {
10283
- var t, e, o, i;
10284
- this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((a) => a == null ? void 0 : a.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource)), (e = this.map) == null || e.off("click", this.clickLayers, this.handleClick), (o = this.map) == null || o.off("mousemove", this.hoverLayers, this.handleHover), (i = this.map) == null || i.off("mouseleave", this.hoverLayers, this.handleLeave), this.handleCloseInfoMarker();
10283
+ var t, e, o, i, a;
10284
+ this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((r) => r == null ? void 0 : r.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource)), (e = this.map) == null || e.off("click", this.clickLayers, this.handleClick), (o = this.map) == null || o.off("mousemove", this.hoverLayers, this.handleHover), (i = this.map) == null || i.off("mouseleave", this.hoverLayers, this.handleLeave), (a = this.map) == null || a.off("render", this.handleUpdateMarkerVisibility), this.handleCloseInfoMarker();
10285
+ },
10286
+ // globe 下 DOM marker 无背面遮挡(mapbox-gl 2.15 无 occlusion),背面点的投影坐标
10287
+ // 会镜像翻转乱跳造成闪烁;与视野中心大圆角距 ≥ 90° 判定为球体背面,隐藏其 DOM
10288
+ handleUpdateMarkerVisibility() {
10289
+ const t = this.map;
10290
+ if (!t)
10291
+ return;
10292
+ const e = t.getCenter();
10293
+ for (const o of this.interpolateMarkers || []) {
10294
+ const i = o == null ? void 0 : o.getElement();
10295
+ if (!i)
10296
+ continue;
10297
+ const a = o.getLngLat(), l = Z.distance(e.toArray(), [a.lng, a.lat], { units: "radians" }) >= Math.PI / 2 ? "hidden" : "visible";
10298
+ i.style.visibility !== l && (i.style.visibility = l);
10299
+ }
10285
10300
  },
10286
10301
  handleDateChange() {
10287
10302
  var t, e, o, i, a, r, l, n, s, d, m, g, p, y, u, h, f, L, M, A, z, C, P, T, R, B, G, N, K, oe, se, ce, ye, E, $;
@@ -10348,7 +10363,7 @@ const Ud = {
10348
10363
  const Ce = new ke.Marker(Ae).setLngLat(V.geometry.coordinates).addTo(this.map);
10349
10364
  this.interpolateMarkers.push(Ce);
10350
10365
  }
10351
- this.$emit("tropicalCenterPoints", le);
10366
+ this.handleUpdateMarkerVisibility(), this.$emit("tropicalCenterPoints", le);
10352
10367
  } else
10353
10368
  (E = this.map) != null && E.getSource(this.interpolateSource) && (($ = this.map) == null || $.getSource(this.interpolateSource).setData(this.empty));
10354
10369
  },
@@ -18335,52 +18350,52 @@ Se.capture = async (t, e, o) => {
18335
18350
  if (o !== fl)
18336
18351
  throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");
18337
18352
  let i = await gl(t, e), a = { img: async (u, h) => {
18338
- let { toImg: f } = await import("./toImg-63e950e6.js");
18353
+ let { toImg: f } = await import("./toImg-27ca69b4.js");
18339
18354
  return f(i, { ...u, ...h || {} });
18340
18355
  }, svg: async (u, h) => {
18341
- let { toSvg: f } = await import("./toImg-63e950e6.js");
18356
+ let { toSvg: f } = await import("./toImg-27ca69b4.js");
18342
18357
  return f(i, { ...u, ...h || {} });
18343
18358
  }, canvas: async (u, h) => {
18344
- let { toCanvas: f } = await import("./toCanvas-d6183a9d.js");
18359
+ let { toCanvas: f } = await import("./toCanvas-cb314a1f.js");
18345
18360
  return f(i, { ...u, ...h || {} });
18346
18361
  }, blob: async (u, h) => {
18347
- let { toBlob: f } = await import("./toBlob-d4af49d9.js");
18362
+ let { toBlob: f } = await import("./toBlob-c01e1e2b.js");
18348
18363
  return f(i, { ...u, ...h || {} });
18349
18364
  }, png: async (u, h) => {
18350
- let { rasterize: f } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18365
+ let { rasterize: f } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18351
18366
  return f(i, { ...u, ...h || {}, format: "png" });
18352
18367
  }, jpeg: async (u, h) => {
18353
- let { rasterize: f } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18368
+ let { rasterize: f } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18354
18369
  return f(i, { ...u, ...h || {}, format: "jpeg" });
18355
18370
  }, webp: async (u, h) => {
18356
- let { rasterize: f } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18371
+ let { rasterize: f } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18357
18372
  return f(i, { ...u, ...h || {}, format: "webp" });
18358
18373
  }, download: async (u, h) => {
18359
- let { download: f } = await import("./download-a02c5e56.js");
18374
+ let { download: f } = await import("./download-ab84e805.js");
18360
18375
  return f(i, { ...u, ...h || {} });
18361
18376
  } }, r = { ...e, export: { url: i }, exports: { svg: async (u) => {
18362
- let { toSvg: h } = await import("./toImg-63e950e6.js");
18377
+ let { toSvg: h } = await import("./toImg-27ca69b4.js");
18363
18378
  return h(i, { ...e, ...u || {}, [po]: !0 });
18364
18379
  }, canvas: async (u) => {
18365
- let { toCanvas: h } = await import("./toCanvas-d6183a9d.js");
18380
+ let { toCanvas: h } = await import("./toCanvas-cb314a1f.js");
18366
18381
  return h(i, { ...e, ...u || {}, [po]: !0 });
18367
18382
  }, png: async (u) => {
18368
- let { rasterize: h } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18383
+ let { rasterize: h } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18369
18384
  return h(i, { ...e, ...u || {}, format: "png", [po]: !0 });
18370
18385
  }, jpeg: async (u) => {
18371
- let { rasterize: h } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18386
+ let { rasterize: h } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18372
18387
  return h(i, { ...e, ...u || {}, format: "jpeg", [po]: !0 });
18373
18388
  }, jpg: async (u) => {
18374
- let { rasterize: h } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18389
+ let { rasterize: h } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18375
18390
  return h(i, { ...e, ...u || {}, format: "jpeg", [po]: !0 });
18376
18391
  }, webp: async (u) => {
18377
- let { rasterize: h } = await import("./rasterize-JS5G2XHH-3b65b332.js");
18392
+ let { rasterize: h } = await import("./rasterize-JS5G2XHH-ef4de766.js");
18378
18393
  return h(i, { ...e, ...u || {}, format: "webp", [po]: !0 });
18379
18394
  }, blob: async (u) => {
18380
- let { toBlob: h } = await import("./toBlob-d4af49d9.js");
18395
+ let { toBlob: h } = await import("./toBlob-c01e1e2b.js");
18381
18396
  return h(i, { ...e, ...u || {}, [po]: !0 });
18382
18397
  }, img: async (u) => {
18383
- let { toImg: h } = await import("./toImg-63e950e6.js");
18398
+ let { toImg: h } = await import("./toImg-27ca69b4.js");
18384
18399
  return h(i, { ...e, ...u || {}, [po]: !0 });
18385
18400
  } } }, l = await D0("defineExports", r), n = Object.assign({}, ...l.filter((u) => u && typeof u == "object")), s = { ...a, ...n };
18386
18401
  s.jpeg && !s.jpg && (s.jpg = (u, h) => s.jpeg(u, h));
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as D, c as M, D as n, L as x, a as T, b as W, M as h, g as V, e as f, P as k, S as w, T as y, V as B, f as d, W as u, d as v } from "./index-70965a2e.js";
1
+ import { B as D, c as M, D as n, L as x, a as T, b as W, M as h, g as V, e as f, P as k, S as w, T as y, V as B, f as d, W as u, d as v } from "./index-f5930426.js";
2
2
  import "axios";
3
3
  import "vuetify";
4
4
  import "vue";