@visitscotland/component-library
Version:
VisitScotland Component Library
731 lines • 1.2 MB
JavaScript
import { a8 as gn, x as g_, a9 as __, _ as Mn, c as Ud, F as L0, u as x_, v as R0, aa as F0, t as O0, m as b_, a as w_, V as Rp, a7 as U0, h as V0, g as N0, f as $0, o as Vh } from "./LoadingSpinner-ij7CWJOg.mjs";
import { ref as kl, resolveComponent as jt, openBlock as ut, createElementBlock as Ot, normalizeClass as an, createVNode as Xt, createElementVNode as jr, createTextVNode as on, toDisplayString as ai, createBlock as Gi, withKeys as Rl, createCommentVNode as Mr, renderSlot as Ar, withCtx as qt, h as q0, render as j0, Fragment as nn, renderList as mp } from "vue";
import { defineStore as G0, mapState as cs } from "pinia";
let us = null;
typeof window < "u" && (us = document.currentScript);
const Dy = {
/**
* Default configuration options.
*/
options: {
div: "map",
logo: "os-logo-maps",
// os-logo-maps | os-logo-maps-white
statement: "Contains OS data © Crown copyright and database rights YYYY",
prefix: "",
suffix: ""
},
/**
* Add the API logo and copyright statement.
*/
init(d) {
if (typeof window < "u") {
us && (this.options.div = us.getAttribute("data-div") || this.options.div, this.options.logo = us.getAttribute("data-logo") || this.options.logo, this.options.statement = us.getAttribute("data-statement") || this.options.statement, this.options.prefix = us.getAttribute("data-prefix") || this.options.prefix, this.options.suffix = us.getAttribute("data-suffix") || this.options.suffix), d = typeof d < "u" ? d : {}, Object.assign(this.options, d);
const h = document.getElementById(this.options.div);
let _ = "os-api-branding logo";
this.options.logo === "os-logo-maps-white" && (_ = "os-api-branding logo white");
let E = this.options.statement;
E = E.replace("YYYY", (/* @__PURE__ */ new Date()).getFullYear()), this.options.prefix !== "" && (E = `${this.options.prefix}<span>|</span>${E}`), this.options.suffix !== "" && (E = `${E}<span>|</span>${this.options.suffix}`), document.querySelectorAll(`#${this.options.div} .os-api-branding`).forEach((u) => u.remove());
const k = document.createElement("div");
k.className = _, h.appendChild(k);
const O = document.createElement("div");
O.className = "os-api-branding copyright", O.innerHTML = E, h.appendChild(O);
}
}
}, sn = G0("map", () => {
const d = kl([]), h = kl([]), _ = kl(null), E = kl(null), k = kl(null);
function O(Ie) {
d.value.push({
id: Ie.id,
filters: Ie.filters,
places: Ie.places,
activePins: Ie.activePins,
hovered: "",
activePlace: null
});
}
function u(Ie) {
d.value.forEach((Ke) => {
Ke.id === Ie.mapId && (Ke.hovered = Ie.hoveredFeature);
});
}
function te(Ie) {
d.value.forEach((Ke) => {
Ke.id === Ie.mapId && (Ke.activePlace = Ie.activeFeature);
});
}
function $(Ie) {
h.value = Ie;
}
function de(Ie) {
_.value = Ie;
}
function ce(Ie) {
E.value = Ie;
}
function Ce(Ie) {
return d.value.find((Ke) => Ke.id === Ie);
}
function ae(Ie) {
return d.value.find(($e) => $e.id === Ie).hovered;
}
function ye(Ie) {
return d.value.find(($e) => $e.id === Ie).activePlace;
}
return {
maps: d,
activeSubcatFilters: h,
selectedSubCategory: _,
activeMarkerPos: E,
activePlace: k,
addMapInstance: O,
setHoveredPlace: u,
setActivePlace: te,
setActiveSubcatFilters: $,
setSelectedSubcat: de,
setActiveMarkerPos: ce,
getMapById: Ce,
getHoveredStop: ae,
getActivePlace: ye
};
});
var S_ = { exports: {} };
(function(d, h) {
(function(_, E) {
d.exports = E();
})(gn, function() {
var _, E, k;
function O(u, te) {
if (!_)
_ = te;
else if (!E)
E = te;
else {
var $ = "var sharedChunk = {}; (" + _ + ")(sharedChunk); (" + E + ")(sharedChunk);", de = {};
_(de), k = te(de), typeof window < "u" && (k.workerUrl = window.URL.createObjectURL(new Blob([$], { type: "text/javascript" })));
}
}
return O(["exports"], function(u) {
function te(e, t) {
return e(t = { exports: {} }, t.exports), t.exports;
}
var $ = de;
function de(e, t, r, o) {
this.cx = 3 * e, this.bx = 3 * (r - e) - this.cx, this.ax = 1 - this.cx - this.bx, this.cy = 3 * t, this.by = 3 * (o - t) - this.cy, this.ay = 1 - this.cy - this.by, this.p1x = e, this.p1y = o, this.p2x = r, this.p2y = o;
}
de.prototype.sampleCurveX = function(e) {
return ((this.ax * e + this.bx) * e + this.cx) * e;
}, de.prototype.sampleCurveY = function(e) {
return ((this.ay * e + this.by) * e + this.cy) * e;
}, de.prototype.sampleCurveDerivativeX = function(e) {
return (3 * this.ax * e + 2 * this.bx) * e + this.cx;
}, de.prototype.solveCurveX = function(e, t) {
var r, o, l, c, f;
for (t === void 0 && (t = 1e-6), l = e, f = 0; f < 8; f++) {
if (c = this.sampleCurveX(l) - e, Math.abs(c) < t) return l;
var v = this.sampleCurveDerivativeX(l);
if (Math.abs(v) < 1e-6) break;
l -= c / v;
}
if ((l = e) < (r = 0)) return r;
if (l > (o = 1)) return o;
for (; r < o; ) {
if (c = this.sampleCurveX(l), Math.abs(c - e) < t) return l;
e > c ? r = l : o = l, l = 0.5 * (o - r) + r;
}
return l;
}, de.prototype.solve = function(e, t) {
return this.sampleCurveY(this.solveCurveX(e, t));
};
var ce = Ce;
function Ce(e, t) {
this.x = e, this.y = t;
}
Ce.prototype = { clone: function() {
return new Ce(this.x, this.y);
}, add: function(e) {
return this.clone()._add(e);
}, sub: function(e) {
return this.clone()._sub(e);
}, multByPoint: function(e) {
return this.clone()._multByPoint(e);
}, divByPoint: function(e) {
return this.clone()._divByPoint(e);
}, mult: function(e) {
return this.clone()._mult(e);
}, div: function(e) {
return this.clone()._div(e);
}, rotate: function(e) {
return this.clone()._rotate(e);
}, rotateAround: function(e, t) {
return this.clone()._rotateAround(e, t);
}, matMult: function(e) {
return this.clone()._matMult(e);
}, unit: function() {
return this.clone()._unit();
}, perp: function() {
return this.clone()._perp();
}, round: function() {
return this.clone()._round();
}, mag: function() {
return Math.sqrt(this.x * this.x + this.y * this.y);
}, equals: function(e) {
return this.x === e.x && this.y === e.y;
}, dist: function(e) {
return Math.sqrt(this.distSqr(e));
}, distSqr: function(e) {
var t = e.x - this.x, r = e.y - this.y;
return t * t + r * r;
}, angle: function() {
return Math.atan2(this.y, this.x);
}, angleTo: function(e) {
return Math.atan2(this.y - e.y, this.x - e.x);
}, angleWith: function(e) {
return this.angleWithSep(e.x, e.y);
}, angleWithSep: function(e, t) {
return Math.atan2(this.x * t - this.y * e, this.x * e + this.y * t);
}, _matMult: function(e) {
var t = e[2] * this.x + e[3] * this.y;
return this.x = e[0] * this.x + e[1] * this.y, this.y = t, this;
}, _add: function(e) {
return this.x += e.x, this.y += e.y, this;
}, _sub: function(e) {
return this.x -= e.x, this.y -= e.y, this;
}, _mult: function(e) {
return this.x *= e, this.y *= e, this;
}, _div: function(e) {
return this.x /= e, this.y /= e, this;
}, _multByPoint: function(e) {
return this.x *= e.x, this.y *= e.y, this;
}, _divByPoint: function(e) {
return this.x /= e.x, this.y /= e.y, this;
}, _unit: function() {
return this._div(this.mag()), this;
}, _perp: function() {
var e = this.y;
return this.y = this.x, this.x = -e, this;
}, _rotate: function(e) {
var t = Math.cos(e), r = Math.sin(e), o = r * this.x + t * this.y;
return this.x = t * this.x - r * this.y, this.y = o, this;
}, _rotateAround: function(e, t) {
var r = Math.cos(e), o = Math.sin(e), l = t.y + o * (this.x - t.x) + r * (this.y - t.y);
return this.x = t.x + r * (this.x - t.x) - o * (this.y - t.y), this.y = l, this;
}, _round: function() {
return this.x = Math.round(this.x), this.y = Math.round(this.y), this;
} }, Ce.convert = function(e) {
return e instanceof Ce ? e : Array.isArray(e) ? new Ce(e[0], e[1]) : e;
};
var ae = typeof self < "u" ? self : {}, ye = Math.pow(2, 53) - 1;
function Ie(e, t, r, o) {
var l = new $(e, t, r, o);
return function(c) {
return l.solve(c);
};
}
var Ke = Ie(0.25, 0.1, 0.25, 1);
function $e(e, t, r) {
return Math.min(r, Math.max(t, e));
}
function ct(e, t, r) {
var o = r - t, l = ((e - t) % o + o) % o + t;
return l === t ? r : l;
}
function nt(e) {
for (var t = [], r = arguments.length - 1; r-- > 0; ) t[r] = arguments[r + 1];
for (var o = 0, l = t; o < l.length; o += 1) {
var c = l[o];
for (var f in c) e[f] = c[f];
}
return e;
}
var Lt = 1;
function xt() {
return Lt++;
}
function Pt() {
return function e(t) {
return t ? (t ^ 16 * Math.random() >> t / 4).toString(16) : ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, e);
}();
}
function rr(e) {
return !!e && /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e);
}
function xr(e, t) {
e.forEach(function(r) {
t[r] && (t[r] = t[r].bind(t));
});
}
function zr(e, t) {
return e.indexOf(t, e.length - t.length) !== -1;
}
function ir(e, t, r) {
var o = {};
for (var l in e) o[l] = t.call(r || this, e[l], l, e);
return o;
}
function oi(e, t, r) {
var o = {};
for (var l in e) t.call(r || this, e[l], l, e) && (o[l] = e[l]);
return o;
}
function si(e) {
return Array.isArray(e) ? e.map(si) : typeof e == "object" && e ? ir(e, si) : e;
}
var Ti = {};
function Tt(e) {
Ti[e] || (typeof console < "u" && console.warn(e), Ti[e] = !0);
}
function br(e, t, r) {
return (r.y - e.y) * (t.x - e.x) > (t.y - e.y) * (r.x - e.x);
}
function Ga(e) {
for (var t = 0, r = 0, o = e.length, l = o - 1, c = void 0, f = void 0; r < o; l = r++) t += ((f = e[l]).x - (c = e[r]).x) * (c.y + f.y);
return t;
}
function mi() {
return typeof WorkerGlobalScope < "u" && typeof self < "u" && self instanceof WorkerGlobalScope;
}
function Za(e) {
var t = {};
if (e.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, function(o, l, c, f) {
var v = c || f;
return t[l] = !v || v.toLowerCase(), "";
}), t["max-age"]) {
var r = parseInt(t["max-age"], 10);
isNaN(r) ? delete t["max-age"] : t["max-age"] = r;
}
return t;
}
var Wa = null;
function vs(e) {
if (Wa == null) {
var t = e.navigator ? e.navigator.userAgent : null;
Wa = !!e.safari || !(!t || !(/\b(iPad|iPhone|iPod)\b/.test(t) || t.match("Safari") && !t.match("Chrome")));
}
return Wa;
}
function Dn(e) {
try {
var t = ae[e];
return t.setItem("_mapbox_test_", 1), t.removeItem("_mapbox_test_"), !0;
} catch {
return !1;
}
}
var Zi, un, ua, la, Bn = ae.performance && ae.performance.now ? ae.performance.now.bind(ae.performance) : Date.now.bind(Date), zu = ae.requestAnimationFrame || ae.mozRequestAnimationFrame || ae.webkitRequestAnimationFrame || ae.msRequestAnimationFrame, Hr = ae.cancelAnimationFrame || ae.mozCancelAnimationFrame || ae.webkitCancelAnimationFrame || ae.msCancelAnimationFrame, xn = { now: Bn, frame: function(e) {
var t = zu(e);
return { cancel: function() {
return Hr(t);
} };
}, getImageData: function(e, t) {
t === void 0 && (t = 0);
var r = ae.document.createElement("canvas"), o = r.getContext("2d");
if (!o) throw new Error("failed to create canvas 2d context");
return r.width = e.width, r.height = e.height, o.drawImage(e, 0, 0, e.width, e.height), o.getImageData(-t, -t, e.width + 2 * t, e.height + 2 * t);
}, resolveURL: function(e) {
return Zi || (Zi = ae.document.createElement("a")), Zi.href = e, Zi.href;
}, hardwareConcurrency: ae.navigator && ae.navigator.hardwareConcurrency || 4, get devicePixelRatio() {
return ae.devicePixelRatio;
}, get prefersReducedMotion() {
return !!ae.matchMedia && (un == null && (un = ae.matchMedia("(prefers-reduced-motion: reduce)")), un.matches);
} }, Ut = { API_URL: "https://api.mapbox.com", get EVENTS_URL() {
return this.API_URL ? this.API_URL.indexOf("https://api.mapbox.cn") === 0 ? "https://events.mapbox.cn/events/v2" : this.API_URL.indexOf("https://api.mapbox.com") === 0 ? "https://events.mapbox.com/events/v2" : null : null;
}, FEEDBACK_URL: "https://apps.mapbox.com/feedback", REQUIRE_ACCESS_TOKEN: !0, ACCESS_TOKEN: null, MAX_PARALLEL_IMAGE_REQUESTS: 16 }, ln = { supported: !1, testSupport: function(e) {
!Ha && la && (Wi ? mt(e) : ua = e);
} }, Ha = !1, Wi = !1;
function mt(e) {
var t = e.createTexture();
e.bindTexture(e.TEXTURE_2D, t);
try {
if (e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, e.RGBA, e.UNSIGNED_BYTE, la), e.isContextLost()) return;
ln.supported = !0;
} catch {
}
e.deleteTexture(t), Ha = !0;
}
ae.document && ((la = ae.document.createElement("img")).onload = function() {
ua && mt(ua), ua = null, Wi = !0;
}, la.onerror = function() {
Ha = !0, ua = null;
}, la.src = "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");
var Ln = "01", ui = function(e, t) {
this._transformRequestFn = e, this._customAccessToken = t, this._createSkuToken();
};
function Mi(e) {
return e.indexOf("mapbox:") === 0;
}
ui.prototype._createSkuToken = function() {
var e = function() {
for (var t = "", r = 0; r < 10; r++) t += "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62 * Math.random())];
return { token: ["1", Ln, t].join(""), tokenExpiresAt: Date.now() + 432e5 };
}();
this._skuToken = e.token, this._skuTokenExpiresAt = e.tokenExpiresAt;
}, ui.prototype._isSkuTokenExpired = function() {
return Date.now() > this._skuTokenExpiresAt;
}, ui.prototype.transformRequest = function(e, t) {
return this._transformRequestFn && this._transformRequestFn(e, t) || { url: e };
}, ui.prototype.normalizeStyleURL = function(e, t) {
if (!Mi(e)) return e;
var r = zi(e);
return r.path = "/styles/v1" + r.path, this._makeAPIURL(r, this._customAccessToken || t);
}, ui.prototype.normalizeGlyphsURL = function(e, t) {
if (!Mi(e)) return e;
var r = zi(e);
return r.path = "/fonts/v1" + r.path, this._makeAPIURL(r, this._customAccessToken || t);
}, ui.prototype.normalizeSourceURL = function(e, t) {
if (!Mi(e)) return e;
var r = zi(e);
return r.path = "/v4/" + r.authority + ".json", r.params.push("secure"), this._makeAPIURL(r, this._customAccessToken || t);
}, ui.prototype.normalizeSpriteURL = function(e, t, r, o) {
var l = zi(e);
return Mi(e) ? (l.path = "/styles/v1" + l.path + "/sprite" + t + r, this._makeAPIURL(l, this._customAccessToken || o)) : (l.path += "" + t + r, ca(l));
}, ui.prototype.normalizeTileURL = function(e, t) {
if (this._isSkuTokenExpired() && this._createSkuToken(), e && !Mi(e)) return e;
var r = zi(e);
r.path = r.path.replace(/(\.(png|jpg)\d*)(?=$)/, (xn.devicePixelRatio >= 2 || t === 512 ? "@2x" : "") + (ln.supported ? ".webp" : "$1")), r.path = r.path.replace(/^.+\/v4\//, "/"), r.path = "/v4" + r.path;
var o = this._customAccessToken || function(l) {
for (var c = 0, f = l; c < f.length; c += 1) {
var v = f[c].match(/^access_token=(.*)$/);
if (v) return v[1];
}
return null;
}(r.params) || Ut.ACCESS_TOKEN;
return Ut.REQUIRE_ACCESS_TOKEN && o && this._skuToken && r.params.push("sku=" + this._skuToken), this._makeAPIURL(r, o);
}, ui.prototype.canonicalizeTileURL = function(e, t) {
var r = zi(e);
if (!r.path.match(/(^\/v4\/)/) || !r.path.match(/\.[\w]+$/)) return e;
var o = "mapbox://tiles/";
o += r.path.replace("/v4/", "");
var l = r.params;
return t && (l = l.filter(function(c) {
return !c.match(/^access_token=/);
})), l.length && (o += "?" + l.join("&")), o;
}, ui.prototype.canonicalizeTileset = function(e, t) {
for (var r = !!t && Mi(t), o = [], l = 0, c = e.tiles || []; l < c.length; l += 1) {
var f = c[l];
Hi(f) ? o.push(this.canonicalizeTileURL(f, r)) : o.push(f);
}
return o;
}, ui.prototype._makeAPIURL = function(e, t) {
var r = "See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes", o = zi(Ut.API_URL);
if (e.protocol = o.protocol, e.authority = o.authority, e.protocol === "http") {
var l = e.params.indexOf("secure");
l >= 0 && e.params.splice(l, 1);
}
if (o.path !== "/" && (e.path = "" + o.path + e.path), !Ut.REQUIRE_ACCESS_TOKEN) return ca(e);
if (!(t = t || Ut.ACCESS_TOKEN)) throw new Error("An API access token is required to use Mapbox GL. " + r);
if (t[0] === "s") throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + r);
return e.params = e.params.filter(function(c) {
return c.indexOf("access_token") === -1;
}), e.params.push("access_token=" + t), ca(e);
};
var Du = /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;
function Hi(e) {
return Du.test(e);
}
var So = /^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;
function zi(e) {
var t = e.match(So);
if (!t) throw new Error("Unable to parse URL object");
return { protocol: t[1], authority: t[2], path: t[3] || "/", params: t[4] ? t[4].split("&") : [] };
}
function ca(e) {
var t = e.params.length ? "?" + e.params.join("&") : "";
return e.protocol + "://" + e.authority + e.path + t;
}
function Xa(e) {
if (!e) return null;
var t = e.split(".");
if (!t || t.length !== 3) return null;
try {
return JSON.parse(decodeURIComponent(ae.atob(t[1]).split("").map(function(r) {
return "%" + ("00" + r.charCodeAt(0).toString(16)).slice(-2);
}).join("")));
} catch {
return null;
}
}
var Di = function(e) {
this.type = e, this.anonId = null, this.eventData = {}, this.queue = [], this.pendingRequest = null;
};
Di.prototype.getStorageKey = function(e) {
var t, r = Xa(Ut.ACCESS_TOKEN);
return t = r && r.u ? ae.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g, function(o, l) {
return String.fromCharCode(+("0x" + l));
})) : Ut.ACCESS_TOKEN || "", e ? "mapbox.eventData." + e + ":" + t : "mapbox.eventData:" + t;
}, Di.prototype.fetchEventData = function() {
var e = Dn("localStorage"), t = this.getStorageKey(), r = this.getStorageKey("uuid");
if (e) try {
var o = ae.localStorage.getItem(t);
o && (this.eventData = JSON.parse(o));
var l = ae.localStorage.getItem(r);
l && (this.anonId = l);
} catch {
Tt("Unable to read from LocalStorage");
}
}, Di.prototype.saveEventData = function() {
var e = Dn("localStorage"), t = this.getStorageKey(), r = this.getStorageKey("uuid");
if (e) try {
ae.localStorage.setItem(r, this.anonId), Object.keys(this.eventData).length >= 1 && ae.localStorage.setItem(t, JSON.stringify(this.eventData));
} catch {
Tt("Unable to write to LocalStorage");
}
}, Di.prototype.processRequests = function(e) {
}, Di.prototype.postEvent = function(e, t, r, o) {
var l = this;
if (Ut.EVENTS_URL) {
var c = zi(Ut.EVENTS_URL);
c.params.push("access_token=" + (o || Ut.ACCESS_TOKEN || ""));
var f = { event: this.type, created: new Date(e).toISOString(), sdkIdentifier: "mapbox-gl-js", sdkVersion: "1.13.3", skuId: Ln, userId: this.anonId }, v = t ? nt(f, t) : f, x = { url: ca(c), headers: { "Content-Type": "text/plain" }, body: JSON.stringify([v]) };
this.pendingRequest = lr(x, function(b) {
l.pendingRequest = null, r(b), l.saveEventData(), l.processRequests(o);
});
}
}, Di.prototype.queueRequest = function(e, t) {
this.queue.push(e), this.processRequests(t);
};
var Bi, pa, Xi = function(e) {
function t() {
e.call(this, "map.load"), this.success = {}, this.skuToken = "";
}
return e && (t.__proto__ = e), (t.prototype = Object.create(e && e.prototype)).constructor = t, t.prototype.postMapLoadEvent = function(r, o, l, c) {
this.skuToken = l;
var f = !(!c && !Ut.ACCESS_TOKEN), v = Array.isArray(r) && r.some(function(x) {
return Mi(x) || Hi(x);
});
Ut.EVENTS_URL && f && v && this.queueRequest({ id: o, timestamp: Date.now() }, c);
}, t.prototype.processRequests = function(r) {
var o = this;
if (!this.pendingRequest && this.queue.length !== 0) {
var l = this.queue.shift(), c = l.id, f = l.timestamp;
c && this.success[c] || (this.anonId || this.fetchEventData(), rr(this.anonId) || (this.anonId = Pt()), this.postEvent(f, { skuToken: this.skuToken }, function(v) {
v || c && (o.success[c] = !0);
}, r));
}
}, t;
}(Di), gs = new (function(e) {
function t(r) {
e.call(this, "appUserTurnstile"), this._customAccessToken = r;
}
return e && (t.__proto__ = e), (t.prototype = Object.create(e && e.prototype)).constructor = t, t.prototype.postTurnstileEvent = function(r, o) {
Ut.EVENTS_URL && Ut.ACCESS_TOKEN && Array.isArray(r) && r.some(function(l) {
return Mi(l) || Hi(l);
}) && this.queueRequest(Date.now(), o);
}, t.prototype.processRequests = function(r) {
var o = this;
if (!this.pendingRequest && this.queue.length !== 0) {
this.anonId && this.eventData.lastSuccess && this.eventData.tokenU || this.fetchEventData();
var l = Xa(Ut.ACCESS_TOKEN), c = l ? l.u : Ut.ACCESS_TOKEN, f = c !== this.eventData.tokenU;
rr(this.anonId) || (this.anonId = Pt(), f = !0);
var v = this.queue.shift();
if (this.eventData.lastSuccess) {
var x = new Date(this.eventData.lastSuccess), b = new Date(v), S = (v - this.eventData.lastSuccess) / 864e5;
f = f || S >= 1 || S < -1 || x.getDate() !== b.getDate();
} else f = !0;
if (!f) return this.processRequests();
this.postEvent(v, { "enabled.telemetry": !1 }, function(T) {
T || (o.eventData.lastSuccess = v, o.eventData.tokenU = c);
}, r);
}
}, t;
}(Di))(), _s = gs.postTurnstileEvent.bind(gs), To = new Xi(), Io = To.postMapLoadEvent.bind(To), Ka = 500, xs = 50;
function Ja() {
ae.caches && !Bi && (Bi = ae.caches.open("mapbox-tiles"));
}
function Ao(e) {
var t = e.indexOf("?");
return t < 0 ? e : e.slice(0, t);
}
var ha, Eo = 1 / 0;
function Po() {
return ha == null && (ha = ae.OffscreenCanvas && new ae.OffscreenCanvas(1, 1).getContext("2d") && typeof ae.createImageBitmap == "function"), ha;
}
var bs = { Unknown: "Unknown", Style: "Style", Source: "Source", Tile: "Tile", Glyphs: "Glyphs", SpriteImage: "SpriteImage", SpriteJSON: "SpriteJSON", Image: "Image" };
typeof Object.freeze == "function" && Object.freeze(bs);
var ws = function(e) {
function t(r, o, l) {
o === 401 && Hi(l) && (r += ": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"), e.call(this, r), this.status = o, this.url = l, this.name = this.constructor.name, this.message = r;
}
return e && (t.__proto__ = e), (t.prototype = Object.create(e && e.prototype)).constructor = t, t.prototype.toString = function() {
return this.name + ": " + this.message + " (" + this.status + "): " + this.url;
}, t;
}(Error), fa = mi() ? function() {
return self.worker && self.worker.referrer;
} : function() {
return (ae.location.protocol === "blob:" ? ae.parent : ae).location.href;
}, bn, wn, Ya = function(e, t) {
if (!(/^file:/.test(r = e.url) || /^file:/.test(fa()) && !/^\w+:/.test(r))) {
if (ae.fetch && ae.Request && ae.AbortController && ae.Request.prototype.hasOwnProperty("signal")) return function(o, l) {
var c, f = new ae.AbortController(), v = new ae.Request(o.url, { method: o.method || "GET", body: o.body, credentials: o.credentials, headers: o.headers, referrer: fa(), signal: f.signal }), x = !1, b = !1, S = (c = v.url).indexOf("sku=") > 0 && Hi(c);
o.type === "json" && v.headers.set("Accept", "application/json");
var T = function(z, V, N) {
if (!b) {
if (z && z.message !== "SecurityError" && Tt(z), V && N) return C(V);
var K = Date.now();
ae.fetch(v).then(function(W) {
if (W.ok) {
var ee = S ? W.clone() : null;
return C(W, ee, K);
}
return l(new ws(W.statusText, W.status, o.url));
}).catch(function(W) {
W.code !== 20 && l(new Error(W.message));
});
}
}, C = function(z, V, N) {
(o.type === "arrayBuffer" ? z.arrayBuffer() : o.type === "json" ? z.json() : z.text()).then(function(K) {
b || (V && N && function(W, ee, ne) {
if (Ja(), Bi) {
var oe = { status: ee.status, statusText: ee.statusText, headers: new ae.Headers() };
ee.headers.forEach(function(me, be) {
return oe.headers.set(be, me);
});
var ue = Za(ee.headers.get("Cache-Control") || "");
ue["no-store"] || (ue["max-age"] && oe.headers.set("Expires", new Date(ne + 1e3 * ue["max-age"]).toUTCString()), new Date(oe.headers.get("Expires")).getTime() - ne < 42e4 || function(me, be) {
if (pa === void 0) try {
new Response(new ReadableStream()), pa = !0;
} catch {
pa = !1;
}
pa ? be(me.body) : me.blob().then(be);
}(ee, function(me) {
var be = new ae.Response(me, oe);
Ja(), Bi && Bi.then(function(Te) {
return Te.put(Ao(W.url), be);
}).catch(function(Te) {
return Tt(Te.message);
});
}));
}
}(v, V, N), x = !0, l(null, K, z.headers.get("Cache-Control"), z.headers.get("Expires")));
}).catch(function(K) {
b || l(new Error(K.message));
});
};
return S ? function(z, V) {
if (Ja(), !Bi) return V(null);
var N = Ao(z.url);
Bi.then(function(K) {
K.match(N).then(function(W) {
var ee = function(ne) {
if (!ne) return !1;
var oe = new Date(ne.headers.get("Expires") || 0), ue = Za(ne.headers.get("Cache-Control") || "");
return oe > Date.now() && !ue["no-cache"];
}(W);
K.delete(N), ee && K.put(N, W.clone()), V(null, W, ee);
}).catch(V);
}).catch(V);
}(v, T) : T(null, null), { cancel: function() {
b = !0, x || f.abort();
} };
}(e, t);
if (mi() && self.worker && self.worker.actor) return self.worker.actor.send("getResource", e, t, void 0, !0);
}
var r;
return function(o, l) {
var c = new ae.XMLHttpRequest();
for (var f in c.open(o.method || "GET", o.url, !0), o.type === "arrayBuffer" && (c.responseType = "arraybuffer"), o.headers) c.setRequestHeader(f, o.headers[f]);
return o.type === "json" && (c.responseType = "text", c.setRequestHeader("Accept", "application/json")), c.withCredentials = o.credentials === "include", c.onerror = function() {
l(new Error(c.statusText));
}, c.onload = function() {
if ((c.status >= 200 && c.status < 300 || c.status === 0) && c.response !== null) {
var v = c.response;
if (o.type === "json") try {
v = JSON.parse(c.response);
} catch (x) {
return l(x);
}
l(null, v, c.getResponseHeader("Cache-Control"), c.getResponseHeader("Expires"));
} else l(new ws(c.statusText, c.status, o.url));
}, c.send(o.body), { cancel: function() {
return c.abort();
} };
}(e, t);
}, Co = function(e, t) {
return Ya(nt(e, { type: "arrayBuffer" }), t);
}, lr = function(e, t) {
return Ya(nt(e, { method: "POST" }), t);
}, I = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";
bn = [], wn = 0;
var P = function(e, t) {
if (ln.supported && (e.headers || (e.headers = {}), e.headers.accept = "image/webp,*/*"), wn >= Ut.MAX_PARALLEL_IMAGE_REQUESTS) {
var r = { requestParameters: e, callback: t, cancelled: !1, cancel: function() {
this.cancelled = !0;
} };
return bn.push(r), r;
}
wn++;
var o = !1, l = function() {
if (!o) for (o = !0, wn--; bn.length && wn < Ut.MAX_PARALLEL_IMAGE_REQUESTS; ) {
var f = bn.shift();
f.cancelled || (f.cancel = P(f.requestParameters, f.callback).cancel);
}
}, c = Co(e, function(f, v, x, b) {
l(), f ? t(f) : v && (Po() ? function(S, T) {
var C = new ae.Blob([new Uint8Array(S)], { type: "image/png" });
ae.createImageBitmap(C).then(function(z) {
T(null, z);
}).catch(function(z) {
T(new Error("Could not load image because of " + z.message + ". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));
});
}(v, t) : function(S, T, C, z) {
var V = new ae.Image(), N = ae.URL;
V.onload = function() {
T(null, V), N.revokeObjectURL(V.src), V.onload = null, ae.requestAnimationFrame(function() {
V.src = I;
});
}, V.onerror = function() {
return T(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));
};
var K = new ae.Blob([new Uint8Array(S)], { type: "image/png" });
V.cacheControl = C, V.expires = z, V.src = S.byteLength ? N.createObjectURL(K) : I;
}(v, t, x, b));
});
return { cancel: function() {
c.cancel(), l();
} };
};
function M(e, t, r) {
r[e] && r[e].indexOf(t) !== -1 || (r[e] = r[e] || [], r[e].push(t));
}
function F(e, t, r) {
if (r && r[e]) {
var o = r[e].indexOf(t);
o !== -1 && r[e].splice(o, 1);
}
}
var j = function(e, t) {
t === void 0 && (t = {}), nt(this, t), this.type = e;
}, J = function(e) {
function t(r, o) {
o === void 0 && (o = {}), e.call(this, "error", nt({ error: r }, o));
}
return e && (t.__proto__ = e), (t.prototype = Object.create(e && e.prototype)).constructor = t, t;
}(j), Q = function() {
};
Q.prototype.on = function(e, t) {
return this._listeners = this._listeners || {}, M(e, t, this._listeners), this;
}, Q.prototype.off = function(e, t) {
return F(e, t, this._listeners), F(e, t, this._oneTimeListeners), this;
}, Q.prototype.once = function(e, t) {
return this._oneTimeListeners = this._oneTimeListeners || {}, M(e, t, this._oneTimeListeners), this;
}, Q.prototype.fire = function(e, t) {
typeof e == "string" && (e = new j(e, t || {}));
var r = e.type;
if (this.listens(r)) {
e.target = this;
for (var o = 0, l = this._listeners && this._listeners[r] ? this._listeners[r].slice() : []; o < l.length; o += 1) l[o].call(this, e);
for (var c = 0, f = this._oneTimeListeners && this._oneTimeListeners[r] ? this._oneTimeListeners[r].slice() : []; c < f.length; c += 1) {
var v = f[c];
F(r, v, this._oneTimeListeners), v.call(this, e);
}
var x = this._eventedParent;
x && (nt(e, typeof this._eventedParentData == "function" ? this._eventedParentData() : this._eventedParentData), x.fire(e));
} else e instanceof J && console.error(e.error);
return this;
}, Q.prototype.listens = function(e) {
return this._listeners && this._listeners[e] && this._listeners[e].length > 0 || this._oneTimeListeners && this._oneTimeListeners[e] && this._oneTimeListeners[e].length > 0 || this._eventedParent && this._eventedParent.listens(e);
}, Q.prototype.setEventedParent = function(e, t) {
return this._eventedParent = e, this._eventedParentData = t, this;
};
var B = { $version: 8, $root: { version: { required: !0, type: "enum", values: [8] }, name: { type: "string" }, metadata: { type: "*" }, center: { type: "array", value: "number" }, zoom: { type: "number" }, bearing: { type: "number", default: 0, period: 360, units: "degrees" }, pitch: { type: "number", default: 0, units: "degrees" }, light: { type: "light" }, sources: { required: !0, type: "sources" }, sprite: { type: "string" }, glyphs: { type: "string" }, transition: { type: "transition" }, layers: { required: !0, type: "array", value: "layer" } }, sources: { "*": { type: "source" } }, source: ["source_vector", "source_raster", "source_raster_dem", "source_geojson", "source_video", "source_image"], source_vector: { type: { required: !0, type: "enum", values: { vector: {} } }, url: { type: "string" }, tiles: { type: "array", value: "string" }, bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] }, scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" }, minzoom: { type: "number", default: 0 }, maxzoom: { type: "number", default: 22 }, attribution: { type: "string" }, promoteId: { type: "promoteId" }, volatile: { type: "boolean", default: !1 }, "*": { type: "*" } }, source_raster: { type: { required: !0, type: "enum", values: { raster: {} } }, url: { type: "string" }, tiles: { type: "array", value: "string" }, bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] }, minzoom: { type: "number", default: 0 }, maxzoom: { type: "number", default: 22 }, tileSize: { type: "number", default: 512, units: "pixels" }, scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" }, attribution: { type: "string" }, volatile: { type: "boolean", default: !1 }, "*": { type: "*" } }, source_raster_dem: { type: { required: !0, type: "enum", values: { "raster-dem": {} } }, url: { type: "string" }, tiles: { type: "array", value: "string" }, bounds: { type: "array", value: "number", length: 4, default: [-180, -85.051129, 180, 85.051129] }, minzoom: { type: "number", default: 0 }, maxzoom: { type: "number", default: 22 }, tileSize: { type: "number", default: 512, units: "pixels" }, attribution: { type: "string" }, encoding: { type: "enum", values: { terrarium: {}, mapbox: {} }, default: "mapbox" }, volatile: { type: "boolean", default: !1 }, "*": { type: "*" } }, source_geojson: { type: { required: !0, type: "enum", values: { geojson: {} } }, data: { type: "*" }, maxzoom: { type: "number", default: 18 }, attribution: { type: "string" }, buffer: { type: "number", default: 128, maximum: 512, minimum: 0 }, filter: { type: "*" }, tolerance: { type: "number", default: 0.375 }, cluster: { type: "boolean", default: !1 }, clusterRadius: { type: "number", default: 50, minimum: 0 }, clusterMaxZoom: { type: "number" }, clusterMinPoints: { type: "number" }, clusterProperties: { type: "*" }, lineMetrics: { type: "boolean", default: !1 }, generateId: { type: "boolean", default: !1 }, promoteId: { type: "promoteId" } }, source_video: { type: { required: !0, type: "enum", values: { video: {} } }, urls: { required: !0, type: "array", value: "string" }, coordinates: { required: !0, type: "array", length: 4, value: { type: "array", length: 2, value: "number" } } }, source_image: { type: { required: !0, type: "enum", values: { image: {} } }, url: { required: !0, type: "string" }, coordinates: { required: !0, type: "array", length: 4, value: { type: "array", length: 2, value: "number" } } }, layer: { id: { type: "string", required: !0 }, type: { type: "enum", values: { fill: {}, line: {}, symbol: {}, circle: {}, heatmap: {}, "fill-extrusion": {}, raster: {}, hillshade: {}, background: {} }, required: !0 }, metadata: { type: "*" }, source: { type: "string" }, "source-layer": { type: "string" }, minzoom: { type: "number", minimum: 0, maximum: 24 }, maxzoom: { type: "number", minimum: 0, maximum: 24 }, filter: { type: "filter" }, layout: { type: "layout" }, paint: { type: "paint" } }, layout: ["layout_fill", "layout_line", "layout_circle", "layout_heatmap", "layout_fill-extrusion", "layout_symbol", "layout_raster", "layout_hillshade", "layout_background"], layout_background: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, layout_fill: { "fill-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, layout_circle: { "circle-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, layout_heatmap: { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, "layout_fill-extrusion": { visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, layout_line: { "line-cap": { type: "enum", values: { butt: {}, round: {}, square: {} }, default: "butt", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "line-join": { type: "enum", values: { bevel: {}, round: {}, miter: {} }, default: "miter", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "line-miter-limit": { type: "number", default: 2, requires: [{ "line-join": "miter" }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "line-round-limit": { type: "number", default: 1.05, requires: [{ "line-join": "round" }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "line-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, visibility: { type: "enum", values: { visible: {}, none: {} }, default: "visible", "property-type": "constant" } }, layout_symbol: { "symbol-placement": { type: "enum", values: { point: {}, line: {}, "line-center": {} }, default: "point", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "symbol-spacing": { type: "number", default: 250, minimum: 1, units: "pixels", requires: [{ "symbol-placement": "line" }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "symbol-avoid-edges": { type: "boolean", default: !1, expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "symbol-sort-key": { type: "number", expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "symbol-z-order": { type: "enum", values: { auto: {}, "viewport-y": {}, source: {} }, default: "auto", expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-allow-overlap": { type: "boolean", default: !1, requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-ignore-placement": { type: "boolean", default: !1, requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-optional": { type: "boolean", default: !1, requires: ["icon-image", "text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-rotation-alignment": { type: "enum", values: { map: {}, viewport: {}, auto: {} }, default: "auto", requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-size": { type: "number", default: 1, minimum: 0, units: "factor of the original icon size", requires: ["icon-image"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "icon-text-fit": { type: "enum", values: { none: {}, width: {}, height: {}, both: {} }, default: "none", requires: ["icon-image", "text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-text-fit-padding": { type: "array", value: "number", length: 4, default: [0, 0, 0, 0], units: "pixels", requires: ["icon-image", "text-field", { "icon-text-fit": ["both", "width", "height"] }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-image": { type: "resolvedImage", tokens: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "icon-rotate": { type: "number", default: 0, period: 360, units: "degrees", requires: ["icon-image"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "icon-padding": { type: "number", default: 2, minimum: 0, units: "pixels", requires: ["icon-image"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-keep-upright": { type: "boolean", default: !1, requires: ["icon-image", { "icon-rotation-alignment": "map" }, { "symbol-placement": ["line", "line-center"] }], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "icon-offset": { type: "array", value: "number", length: 2, default: [0, 0], requires: ["icon-image"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "icon-anchor": { type: "enum", values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} }, default: "center", requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "icon-pitch-alignment": { type: "enum", values: { map: {}, viewport: {}, auto: {} }, default: "auto", requires: ["icon-image"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-pitch-alignment": { type: "enum", values: { map: {}, viewport: {}, auto: {} }, default: "auto", requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-rotation-alignment": { type: "enum", values: { map: {}, viewport: {}, auto: {} }, default: "auto", requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-field": { type: "formatted", default: "", tokens: !0, expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-font": { type: "array", value: "string", default: ["Open Sans Regular", "Arial Unicode MS Regular"], requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-size": { type: "number", default: 16, minimum: 0, units: "pixels", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-max-width": { type: "number", default: 10, minimum: 0, units: "ems", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-line-height": { type: "number", default: 1.2, units: "ems", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-letter-spacing": { type: "number", default: 0, units: "ems", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-justify": { type: "enum", values: { auto: {}, left: {}, center: {}, right: {} }, default: "center", requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-radial-offset": { type: "number", units: "ems", default: 0, requires: ["text-field"], "property-type": "data-driven", expression: { interpolated: !0, parameters: ["zoom", "feature"] } }, "text-variable-anchor": { type: "array", value: "enum", values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} }, requires: ["text-field", { "symbol-placement": ["point"] }], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-anchor": { type: "enum", values: { center: {}, left: {}, right: {}, top: {}, bottom: {}, "top-left": {}, "top-right": {}, "bottom-left": {}, "bottom-right": {} }, default: "center", requires: ["text-field", { "!": "text-variable-anchor" }], expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-max-angle": { type: "number", default: 45, units: "degrees", requires: ["text-field", { "symbol-placement": ["line", "line-center"] }], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-writing-mode": { type: "array", value: "enum", values: { horizontal: {}, vertical: {} }, requires: ["text-field", { "symbol-placement": ["point"] }], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-rotate": { type: "number", default: 0, period: 360, units: "degrees", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-padding": { type: "number", default: 2, minimum: 0, units: "pixels", requires: ["text-field"], expression: { interpolated: !0, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-keep-upright": { type: "boolean", default: !0, requires: ["text-field", { "text-rotation-alignment": "map" }, { "symbol-placement": ["line", "line-center"] }], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-transform": { type: "enum", values: { none: {}, uppercase: {}, lowercase: {} }, default: "none", requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-offset": { type: "array", value: "number", units: "ems", length: 2, default: [0, 0], requires: ["text-field", { "!": "text-radial-offset" }], expression: { interpolated: !0, parameters: ["zoom", "feature"] }, "property-type": "data-driven" }, "text-allow-overlap": { type: "boolean", default: !1, requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-ignore-placement": { type: "boolean", default: !1, requires: ["text-field"], expression: { interpolated: !1, parameters: ["zoom"] }, "property-type": "data-constant" }, "text-optional": { type: "boolean", default: !1, requires: ["text-field", "icon-image"],