UNPKG

@mapbox-vue3/env-layers

Version:

Mapbox Vue3 Component Library Env Layers

68 lines (67 loc) 1.86 kB
import { defineComponent as p, watch as d, onBeforeUnmount as s, openBlock as c, createElementBlock as m } from "vue"; import { MapboxLayer as w } from "@deck.gl/mapbox"; import l from "@mapbox-web/deck-gl-extension"; import { useMapCreated as u } from "@mapbox-vue3/core"; import { windLayerProps as y } from "./wind-layer.mjs"; const R = { class: "mb-wind-layer" }, f = { name: "MbWindLayer" }, x = p({ ...f, props: y, setup(t) { const e = t; let i; const o = () => { const a = r(), n = { id: e.id, image: e.image, windMin: e.windMin, windMax: e.windMax, windRange: e.windRange, windOrigin: e.windOrigin, windRes: e.windRes, particlesNumber: e.particlesNumber, fadeOpacity: e.fadeOpacity, speedFactor: e.speedFactor, dropRate: e.dropRate, dropRateBump: e.dropRateBump, rampColors: e.rampColors, opacity: e.opacity, visible: e.visible }; i = new w( Object.assign({ type: l.WindLayer }, n) ), a.addLayer(i); }, { getMapboxInstance: r } = u(o); return d( () => e, () => { i && i.setProps({ image: e.image, windMin: e.windMin, windMax: e.windMax, windRange: e.windRange, windOrigin: e.windOrigin, windRes: e.windRes, particlesNumber: e.particlesNumber, fadeOpacity: e.fadeOpacity, speedFactor: e.speedFactor, dropRate: e.dropRate, dropRateBump: e.dropRateBump, rampColors: e.rampColors, opacity: e.opacity, visible: e.visible }); }, { deep: !0 } ), s(() => { const a = r(); i && a.removeLayer(e.id); }), (a, n) => (c(), m("i", R)); } }); export { x as default };