@opensystemslab/map 1.0.0-alpha.4 → 1.0.0-alpha.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.
@@ -0,0 +1,528 @@
1
+ /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
2
+ const {
3
+ entries: Tt,
4
+ setPrototypeOf: rt,
5
+ isFrozen: Bt,
6
+ getPrototypeOf: Yt,
7
+ getOwnPropertyDescriptor: Xt
8
+ } = Object;
9
+ let {
10
+ freeze: S,
11
+ seal: y,
12
+ create: _t
13
+ } = Object, {
14
+ apply: we,
15
+ construct: xe
16
+ } = typeof Reflect < "u" && Reflect;
17
+ S || (S = function(o) {
18
+ return o;
19
+ });
20
+ y || (y = function(o) {
21
+ return o;
22
+ });
23
+ we || (we = function(o, l, s) {
24
+ return o.apply(l, s);
25
+ });
26
+ xe || (xe = function(o, l) {
27
+ return new o(...l);
28
+ });
29
+ const le = R(Array.prototype.forEach), jt = R(Array.prototype.lastIndexOf), st = R(Array.prototype.pop), $ = R(Array.prototype.push), Vt = R(Array.prototype.splice), fe = R(String.prototype.toLowerCase), Ne = R(String.prototype.toString), lt = R(String.prototype.match), q = R(String.prototype.replace), $t = R(String.prototype.indexOf), qt = R(String.prototype.trim), L = R(Object.prototype.hasOwnProperty), A = R(RegExp.prototype.test), K = Kt(TypeError);
30
+ function R(r) {
31
+ return function(o) {
32
+ o instanceof RegExp && (o.lastIndex = 0);
33
+ for (var l = arguments.length, s = new Array(l > 1 ? l - 1 : 0), T = 1; T < l; T++)
34
+ s[T - 1] = arguments[T];
35
+ return we(r, o, s);
36
+ };
37
+ }
38
+ function Kt(r) {
39
+ return function() {
40
+ for (var o = arguments.length, l = new Array(o), s = 0; s < o; s++)
41
+ l[s] = arguments[s];
42
+ return xe(r, l);
43
+ };
44
+ }
45
+ function a(r, o) {
46
+ let l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : fe;
47
+ rt && rt(r, null);
48
+ let s = o.length;
49
+ for (; s--; ) {
50
+ let T = o[s];
51
+ if (typeof T == "string") {
52
+ const N = l(T);
53
+ N !== T && (Bt(o) || (o[s] = N), T = N);
54
+ }
55
+ r[T] = !0;
56
+ }
57
+ return r;
58
+ }
59
+ function Zt(r) {
60
+ for (let o = 0; o < r.length; o++)
61
+ L(r, o) || (r[o] = null);
62
+ return r;
63
+ }
64
+ function C(r) {
65
+ const o = _t(null);
66
+ for (const [l, s] of Tt(r))
67
+ L(r, l) && (Array.isArray(s) ? o[l] = Zt(s) : s && typeof s == "object" && s.constructor === Object ? o[l] = C(s) : o[l] = s);
68
+ return o;
69
+ }
70
+ function Z(r, o) {
71
+ for (; r !== null; ) {
72
+ const s = Xt(r, o);
73
+ if (s) {
74
+ if (s.get)
75
+ return R(s.get);
76
+ if (typeof s.value == "function")
77
+ return R(s.value);
78
+ }
79
+ r = Yt(r);
80
+ }
81
+ function l() {
82
+ return null;
83
+ }
84
+ return l;
85
+ }
86
+ const ct = S(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), be = S(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), Ie = S(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), Jt = S(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), Me = S(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]), Qt = S(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), ft = S(["#text"]), ut = S(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]), Ce = S(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), mt = S(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), ce = S(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), en = y(/\{\{[\w\W]*|[\w\W]*\}\}/gm), tn = y(/<%[\w\W]*|[\w\W]*%>/gm), nn = y(/\$\{[\w\W]*/gm), on = y(/^data-[\-\w.\u00B7-\uFFFF]+$/), an = y(/^aria-[\-\w]+$/), Et = y(
87
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
88
+ // eslint-disable-line no-useless-escape
89
+ ), rn = y(/^(?:\w+script|data):/i), sn = y(
90
+ /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
91
+ // eslint-disable-line no-control-regex
92
+ ), gt = y(/^html$/i), ln = y(/^[a-z][.\w]*(-[.\w]+)+$/i);
93
+ var pt = /* @__PURE__ */ Object.freeze({
94
+ __proto__: null,
95
+ ARIA_ATTR: an,
96
+ ATTR_WHITESPACE: sn,
97
+ CUSTOM_ELEMENT: ln,
98
+ DATA_ATTR: on,
99
+ DOCTYPE_NAME: gt,
100
+ ERB_EXPR: tn,
101
+ IS_ALLOWED_URI: Et,
102
+ IS_SCRIPT_OR_DATA: rn,
103
+ MUSTACHE_EXPR: en,
104
+ TMPLIT_EXPR: nn
105
+ });
106
+ const J = {
107
+ element: 1,
108
+ text: 3,
109
+ // Deprecated
110
+ progressingInstruction: 7,
111
+ comment: 8,
112
+ document: 9
113
+ }, cn = function() {
114
+ return typeof window > "u" ? null : window;
115
+ }, fn = function(o, l) {
116
+ if (typeof o != "object" || typeof o.createPolicy != "function")
117
+ return null;
118
+ let s = null;
119
+ const T = "data-tt-policy-suffix";
120
+ l && l.hasAttribute(T) && (s = l.getAttribute(T));
121
+ const N = "dompurify" + (s ? "#" + s : "");
122
+ try {
123
+ return o.createPolicy(N, {
124
+ createHTML(x) {
125
+ return x;
126
+ },
127
+ createScriptURL(x) {
128
+ return x;
129
+ }
130
+ });
131
+ } catch {
132
+ return console.warn("TrustedTypes policy " + N + " could not be created."), null;
133
+ }
134
+ }, dt = function() {
135
+ return {
136
+ afterSanitizeAttributes: [],
137
+ afterSanitizeElements: [],
138
+ afterSanitizeShadowDOM: [],
139
+ beforeSanitizeAttributes: [],
140
+ beforeSanitizeElements: [],
141
+ beforeSanitizeShadowDOM: [],
142
+ uponSanitizeAttribute: [],
143
+ uponSanitizeElement: [],
144
+ uponSanitizeShadowNode: []
145
+ };
146
+ };
147
+ function ht() {
148
+ let r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : cn();
149
+ const o = (i) => ht(i);
150
+ if (o.version = "3.2.6", o.removed = [], !r || !r.document || r.document.nodeType !== J.document || !r.Element)
151
+ return o.isSupported = !1, o;
152
+ let {
153
+ document: l
154
+ } = r;
155
+ const s = l, T = s.currentScript, {
156
+ DocumentFragment: N,
157
+ HTMLTemplateElement: x,
158
+ Node: ue,
159
+ Element: Pe,
160
+ NodeFilter: G,
161
+ NamedNodeMap: At = r.NamedNodeMap || r.MozNamedAttrMap,
162
+ HTMLFormElement: St,
163
+ DOMParser: Rt,
164
+ trustedTypes: Q
165
+ } = r, W = Pe.prototype, Ot = Z(W, "cloneNode"), yt = Z(W, "remove"), Lt = Z(W, "nextSibling"), Dt = Z(W, "childNodes"), ee = Z(W, "parentNode");
166
+ if (typeof x == "function") {
167
+ const i = l.createElement("template");
168
+ i.content && i.content.ownerDocument && (l = i.content.ownerDocument);
169
+ }
170
+ let g, B = "";
171
+ const {
172
+ implementation: me,
173
+ createNodeIterator: Nt,
174
+ createDocumentFragment: bt,
175
+ getElementsByTagName: It
176
+ } = l, {
177
+ importNode: Mt
178
+ } = s;
179
+ let h = dt();
180
+ o.isSupported = typeof Tt == "function" && typeof ee == "function" && me && me.createHTMLDocument !== void 0;
181
+ const {
182
+ MUSTACHE_EXPR: pe,
183
+ ERB_EXPR: de,
184
+ TMPLIT_EXPR: Te,
185
+ DATA_ATTR: Ct,
186
+ ARIA_ATTR: wt,
187
+ IS_SCRIPT_OR_DATA: xt,
188
+ ATTR_WHITESPACE: ve,
189
+ CUSTOM_ELEMENT: Pt
190
+ } = pt;
191
+ let {
192
+ IS_ALLOWED_URI: ke
193
+ } = pt, m = null;
194
+ const Ue = a({}, [...ct, ...be, ...Ie, ...Me, ...ft]);
195
+ let d = null;
196
+ const Fe = a({}, [...ut, ...Ce, ...mt, ...ce]);
197
+ let f = Object.seal(_t(null, {
198
+ tagNameCheck: {
199
+ writable: !0,
200
+ configurable: !1,
201
+ enumerable: !0,
202
+ value: null
203
+ },
204
+ attributeNameCheck: {
205
+ writable: !0,
206
+ configurable: !1,
207
+ enumerable: !0,
208
+ value: null
209
+ },
210
+ allowCustomizedBuiltInElements: {
211
+ writable: !0,
212
+ configurable: !1,
213
+ enumerable: !0,
214
+ value: !1
215
+ }
216
+ })), Y = null, _e = null, He = !0, Ee = !0, ze = !1, Ge = !0, P = !1, te = !0, w = !1, ge = !1, he = !1, v = !1, ne = !1, oe = !1, We = !0, Be = !1;
217
+ const vt = "user-content-";
218
+ let Ae = !0, X = !1, k = {}, U = null;
219
+ const Ye = a({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
220
+ let Xe = null;
221
+ const je = a({}, ["audio", "video", "img", "source", "image", "track"]);
222
+ let Se = null;
223
+ const Ve = a({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), ie = "http://www.w3.org/1998/Math/MathML", ae = "http://www.w3.org/2000/svg", b = "http://www.w3.org/1999/xhtml";
224
+ let F = b, Re = !1, Oe = null;
225
+ const kt = a({}, [ie, ae, b], Ne);
226
+ let re = a({}, ["mi", "mo", "mn", "ms", "mtext"]), se = a({}, ["annotation-xml"]);
227
+ const Ut = a({}, ["title", "style", "font", "a", "script"]);
228
+ let j = null;
229
+ const Ft = ["application/xhtml+xml", "text/html"], Ht = "text/html";
230
+ let p = null, H = null;
231
+ const zt = l.createElement("form"), $e = function(e) {
232
+ return e instanceof RegExp || e instanceof Function;
233
+ }, ye = function() {
234
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
235
+ if (!(H && H === e)) {
236
+ if ((!e || typeof e != "object") && (e = {}), e = C(e), j = // eslint-disable-next-line unicorn/prefer-includes
237
+ Ft.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? Ht : e.PARSER_MEDIA_TYPE, p = j === "application/xhtml+xml" ? Ne : fe, m = L(e, "ALLOWED_TAGS") ? a({}, e.ALLOWED_TAGS, p) : Ue, d = L(e, "ALLOWED_ATTR") ? a({}, e.ALLOWED_ATTR, p) : Fe, Oe = L(e, "ALLOWED_NAMESPACES") ? a({}, e.ALLOWED_NAMESPACES, Ne) : kt, Se = L(e, "ADD_URI_SAFE_ATTR") ? a(C(Ve), e.ADD_URI_SAFE_ATTR, p) : Ve, Xe = L(e, "ADD_DATA_URI_TAGS") ? a(C(je), e.ADD_DATA_URI_TAGS, p) : je, U = L(e, "FORBID_CONTENTS") ? a({}, e.FORBID_CONTENTS, p) : Ye, Y = L(e, "FORBID_TAGS") ? a({}, e.FORBID_TAGS, p) : C({}), _e = L(e, "FORBID_ATTR") ? a({}, e.FORBID_ATTR, p) : C({}), k = L(e, "USE_PROFILES") ? e.USE_PROFILES : !1, He = e.ALLOW_ARIA_ATTR !== !1, Ee = e.ALLOW_DATA_ATTR !== !1, ze = e.ALLOW_UNKNOWN_PROTOCOLS || !1, Ge = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, P = e.SAFE_FOR_TEMPLATES || !1, te = e.SAFE_FOR_XML !== !1, w = e.WHOLE_DOCUMENT || !1, v = e.RETURN_DOM || !1, ne = e.RETURN_DOM_FRAGMENT || !1, oe = e.RETURN_TRUSTED_TYPE || !1, he = e.FORCE_BODY || !1, We = e.SANITIZE_DOM !== !1, Be = e.SANITIZE_NAMED_PROPS || !1, Ae = e.KEEP_CONTENT !== !1, X = e.IN_PLACE || !1, ke = e.ALLOWED_URI_REGEXP || Et, F = e.NAMESPACE || b, re = e.MATHML_TEXT_INTEGRATION_POINTS || re, se = e.HTML_INTEGRATION_POINTS || se, f = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && $e(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (f.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && $e(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (f.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (f.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), P && (Ee = !1), ne && (v = !0), k && (m = a({}, ft), d = [], k.html === !0 && (a(m, ct), a(d, ut)), k.svg === !0 && (a(m, be), a(d, Ce), a(d, ce)), k.svgFilters === !0 && (a(m, Ie), a(d, Ce), a(d, ce)), k.mathMl === !0 && (a(m, Me), a(d, mt), a(d, ce))), e.ADD_TAGS && (m === Ue && (m = C(m)), a(m, e.ADD_TAGS, p)), e.ADD_ATTR && (d === Fe && (d = C(d)), a(d, e.ADD_ATTR, p)), e.ADD_URI_SAFE_ATTR && a(Se, e.ADD_URI_SAFE_ATTR, p), e.FORBID_CONTENTS && (U === Ye && (U = C(U)), a(U, e.FORBID_CONTENTS, p)), Ae && (m["#text"] = !0), w && a(m, ["html", "head", "body"]), m.table && (a(m, ["tbody"]), delete Y.tbody), e.TRUSTED_TYPES_POLICY) {
238
+ if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function")
239
+ throw K('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
240
+ if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function")
241
+ throw K('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
242
+ g = e.TRUSTED_TYPES_POLICY, B = g.createHTML("");
243
+ } else
244
+ g === void 0 && (g = fn(Q, T)), g !== null && typeof B == "string" && (B = g.createHTML(""));
245
+ S && S(e), H = e;
246
+ }
247
+ }, qe = a({}, [...be, ...Ie, ...Jt]), Ke = a({}, [...Me, ...Qt]), Gt = function(e) {
248
+ let t = ee(e);
249
+ (!t || !t.tagName) && (t = {
250
+ namespaceURI: F,
251
+ tagName: "template"
252
+ });
253
+ const n = fe(e.tagName), c = fe(t.tagName);
254
+ return Oe[e.namespaceURI] ? e.namespaceURI === ae ? t.namespaceURI === b ? n === "svg" : t.namespaceURI === ie ? n === "svg" && (c === "annotation-xml" || re[c]) : !!qe[n] : e.namespaceURI === ie ? t.namespaceURI === b ? n === "math" : t.namespaceURI === ae ? n === "math" && se[c] : !!Ke[n] : e.namespaceURI === b ? t.namespaceURI === ae && !se[c] || t.namespaceURI === ie && !re[c] ? !1 : !Ke[n] && (Ut[n] || !qe[n]) : !!(j === "application/xhtml+xml" && Oe[e.namespaceURI]) : !1;
255
+ }, D = function(e) {
256
+ $(o.removed, {
257
+ element: e
258
+ });
259
+ try {
260
+ ee(e).removeChild(e);
261
+ } catch {
262
+ yt(e);
263
+ }
264
+ }, z = function(e, t) {
265
+ try {
266
+ $(o.removed, {
267
+ attribute: t.getAttributeNode(e),
268
+ from: t
269
+ });
270
+ } catch {
271
+ $(o.removed, {
272
+ attribute: null,
273
+ from: t
274
+ });
275
+ }
276
+ if (t.removeAttribute(e), e === "is")
277
+ if (v || ne)
278
+ try {
279
+ D(t);
280
+ } catch {
281
+ }
282
+ else
283
+ try {
284
+ t.setAttribute(e, "");
285
+ } catch {
286
+ }
287
+ }, Ze = function(e) {
288
+ let t = null, n = null;
289
+ if (he)
290
+ e = "<remove></remove>" + e;
291
+ else {
292
+ const u = lt(e, /^[\r\n\t ]+/);
293
+ n = u && u[0];
294
+ }
295
+ j === "application/xhtml+xml" && F === b && (e = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + e + "</body></html>");
296
+ const c = g ? g.createHTML(e) : e;
297
+ if (F === b)
298
+ try {
299
+ t = new Rt().parseFromString(c, j);
300
+ } catch {
301
+ }
302
+ if (!t || !t.documentElement) {
303
+ t = me.createDocument(F, "template", null);
304
+ try {
305
+ t.documentElement.innerHTML = Re ? B : c;
306
+ } catch {
307
+ }
308
+ }
309
+ const _ = t.body || t.documentElement;
310
+ return e && n && _.insertBefore(l.createTextNode(n), _.childNodes[0] || null), F === b ? It.call(t, w ? "html" : "body")[0] : w ? t.documentElement : _;
311
+ }, Je = function(e) {
312
+ return Nt.call(
313
+ e.ownerDocument || e,
314
+ e,
315
+ // eslint-disable-next-line no-bitwise
316
+ G.SHOW_ELEMENT | G.SHOW_COMMENT | G.SHOW_TEXT | G.SHOW_PROCESSING_INSTRUCTION | G.SHOW_CDATA_SECTION,
317
+ null
318
+ );
319
+ }, Le = function(e) {
320
+ return e instanceof St && (typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || !(e.attributes instanceof At) || typeof e.removeAttribute != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function");
321
+ }, Qe = function(e) {
322
+ return typeof ue == "function" && e instanceof ue;
323
+ };
324
+ function I(i, e, t) {
325
+ le(i, (n) => {
326
+ n.call(o, e, t, H);
327
+ });
328
+ }
329
+ const et = function(e) {
330
+ let t = null;
331
+ if (I(h.beforeSanitizeElements, e, null), Le(e))
332
+ return D(e), !0;
333
+ const n = p(e.nodeName);
334
+ if (I(h.uponSanitizeElement, e, {
335
+ tagName: n,
336
+ allowedTags: m
337
+ }), te && e.hasChildNodes() && !Qe(e.firstElementChild) && A(/<[/\w!]/g, e.innerHTML) && A(/<[/\w!]/g, e.textContent) || e.nodeType === J.progressingInstruction || te && e.nodeType === J.comment && A(/<[/\w]/g, e.data))
338
+ return D(e), !0;
339
+ if (!m[n] || Y[n]) {
340
+ if (!Y[n] && nt(n) && (f.tagNameCheck instanceof RegExp && A(f.tagNameCheck, n) || f.tagNameCheck instanceof Function && f.tagNameCheck(n)))
341
+ return !1;
342
+ if (Ae && !U[n]) {
343
+ const c = ee(e) || e.parentNode, _ = Dt(e) || e.childNodes;
344
+ if (_ && c) {
345
+ const u = _.length;
346
+ for (let O = u - 1; O >= 0; --O) {
347
+ const M = Ot(_[O], !0);
348
+ M.__removalCount = (e.__removalCount || 0) + 1, c.insertBefore(M, Lt(e));
349
+ }
350
+ }
351
+ }
352
+ return D(e), !0;
353
+ }
354
+ return e instanceof Pe && !Gt(e) || (n === "noscript" || n === "noembed" || n === "noframes") && A(/<\/no(script|embed|frames)/i, e.innerHTML) ? (D(e), !0) : (P && e.nodeType === J.text && (t = e.textContent, le([pe, de, Te], (c) => {
355
+ t = q(t, c, " ");
356
+ }), e.textContent !== t && ($(o.removed, {
357
+ element: e.cloneNode()
358
+ }), e.textContent = t)), I(h.afterSanitizeElements, e, null), !1);
359
+ }, tt = function(e, t, n) {
360
+ if (We && (t === "id" || t === "name") && (n in l || n in zt))
361
+ return !1;
362
+ if (!(Ee && !_e[t] && A(Ct, t))) {
363
+ if (!(He && A(wt, t))) {
364
+ if (!d[t] || _e[t]) {
365
+ if (
366
+ // First condition does a very basic check if a) it's basically a valid custom element tagname AND
367
+ // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
368
+ // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
369
+ !(nt(e) && (f.tagNameCheck instanceof RegExp && A(f.tagNameCheck, e) || f.tagNameCheck instanceof Function && f.tagNameCheck(e)) && (f.attributeNameCheck instanceof RegExp && A(f.attributeNameCheck, t) || f.attributeNameCheck instanceof Function && f.attributeNameCheck(t)) || // Alternative, second condition checks if it's an `is`-attribute, AND
370
+ // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
371
+ t === "is" && f.allowCustomizedBuiltInElements && (f.tagNameCheck instanceof RegExp && A(f.tagNameCheck, n) || f.tagNameCheck instanceof Function && f.tagNameCheck(n)))
372
+ ) return !1;
373
+ } else if (!Se[t]) {
374
+ if (!A(ke, q(n, ve, ""))) {
375
+ if (!((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && $t(n, "data:") === 0 && Xe[e])) {
376
+ if (!(ze && !A(xt, q(n, ve, "")))) {
377
+ if (n)
378
+ return !1;
379
+ }
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ return !0;
386
+ }, nt = function(e) {
387
+ return e !== "annotation-xml" && lt(e, Pt);
388
+ }, ot = function(e) {
389
+ I(h.beforeSanitizeAttributes, e, null);
390
+ const {
391
+ attributes: t
392
+ } = e;
393
+ if (!t || Le(e))
394
+ return;
395
+ const n = {
396
+ attrName: "",
397
+ attrValue: "",
398
+ keepAttr: !0,
399
+ allowedAttributes: d,
400
+ forceKeepAttr: void 0
401
+ };
402
+ let c = t.length;
403
+ for (; c--; ) {
404
+ const _ = t[c], {
405
+ name: u,
406
+ namespaceURI: O,
407
+ value: M
408
+ } = _, V = p(u), De = M;
409
+ let E = u === "value" ? De : qt(De);
410
+ if (n.attrName = V, n.attrValue = E, n.keepAttr = !0, n.forceKeepAttr = void 0, I(h.uponSanitizeAttribute, e, n), E = n.attrValue, Be && (V === "id" || V === "name") && (z(u, e), E = vt + E), te && A(/((--!?|])>)|<\/(style|title)/i, E)) {
411
+ z(u, e);
412
+ continue;
413
+ }
414
+ if (n.forceKeepAttr)
415
+ continue;
416
+ if (!n.keepAttr) {
417
+ z(u, e);
418
+ continue;
419
+ }
420
+ if (!Ge && A(/\/>/i, E)) {
421
+ z(u, e);
422
+ continue;
423
+ }
424
+ P && le([pe, de, Te], (at) => {
425
+ E = q(E, at, " ");
426
+ });
427
+ const it = p(e.nodeName);
428
+ if (!tt(it, V, E)) {
429
+ z(u, e);
430
+ continue;
431
+ }
432
+ if (g && typeof Q == "object" && typeof Q.getAttributeType == "function" && !O)
433
+ switch (Q.getAttributeType(it, V)) {
434
+ case "TrustedHTML": {
435
+ E = g.createHTML(E);
436
+ break;
437
+ }
438
+ case "TrustedScriptURL": {
439
+ E = g.createScriptURL(E);
440
+ break;
441
+ }
442
+ }
443
+ if (E !== De)
444
+ try {
445
+ O ? e.setAttributeNS(O, u, E) : e.setAttribute(u, E), Le(e) ? D(e) : st(o.removed);
446
+ } catch {
447
+ z(u, e);
448
+ }
449
+ }
450
+ I(h.afterSanitizeAttributes, e, null);
451
+ }, Wt = function i(e) {
452
+ let t = null;
453
+ const n = Je(e);
454
+ for (I(h.beforeSanitizeShadowDOM, e, null); t = n.nextNode(); )
455
+ I(h.uponSanitizeShadowNode, t, null), et(t), ot(t), t.content instanceof N && i(t.content);
456
+ I(h.afterSanitizeShadowDOM, e, null);
457
+ };
458
+ return o.sanitize = function(i) {
459
+ let e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = null, n = null, c = null, _ = null;
460
+ if (Re = !i, Re && (i = "<!-->"), typeof i != "string" && !Qe(i))
461
+ if (typeof i.toString == "function") {
462
+ if (i = i.toString(), typeof i != "string")
463
+ throw K("dirty is not a string, aborting");
464
+ } else
465
+ throw K("toString is not a function");
466
+ if (!o.isSupported)
467
+ return i;
468
+ if (ge || ye(e), o.removed = [], typeof i == "string" && (X = !1), X) {
469
+ if (i.nodeName) {
470
+ const M = p(i.nodeName);
471
+ if (!m[M] || Y[M])
472
+ throw K("root node is forbidden and cannot be sanitized in-place");
473
+ }
474
+ } else if (i instanceof ue)
475
+ t = Ze("<!---->"), n = t.ownerDocument.importNode(i, !0), n.nodeType === J.element && n.nodeName === "BODY" || n.nodeName === "HTML" ? t = n : t.appendChild(n);
476
+ else {
477
+ if (!v && !P && !w && // eslint-disable-next-line unicorn/prefer-includes
478
+ i.indexOf("<") === -1)
479
+ return g && oe ? g.createHTML(i) : i;
480
+ if (t = Ze(i), !t)
481
+ return v ? null : oe ? B : "";
482
+ }
483
+ t && he && D(t.firstChild);
484
+ const u = Je(X ? i : t);
485
+ for (; c = u.nextNode(); )
486
+ et(c), ot(c), c.content instanceof N && Wt(c.content);
487
+ if (X)
488
+ return i;
489
+ if (v) {
490
+ if (ne)
491
+ for (_ = bt.call(t.ownerDocument); t.firstChild; )
492
+ _.appendChild(t.firstChild);
493
+ else
494
+ _ = t;
495
+ return (d.shadowroot || d.shadowrootmode) && (_ = Mt.call(s, _, !0)), _;
496
+ }
497
+ let O = w ? t.outerHTML : t.innerHTML;
498
+ return w && m["!doctype"] && t.ownerDocument && t.ownerDocument.doctype && t.ownerDocument.doctype.name && A(gt, t.ownerDocument.doctype.name) && (O = "<!DOCTYPE " + t.ownerDocument.doctype.name + `>
499
+ ` + O), P && le([pe, de, Te], (M) => {
500
+ O = q(O, M, " ");
501
+ }), g && oe ? g.createHTML(O) : O;
502
+ }, o.setConfig = function() {
503
+ let i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
504
+ ye(i), ge = !0;
505
+ }, o.clearConfig = function() {
506
+ H = null, ge = !1;
507
+ }, o.isValidAttribute = function(i, e, t) {
508
+ H || ye({});
509
+ const n = p(i), c = p(e);
510
+ return tt(n, c, t);
511
+ }, o.addHook = function(i, e) {
512
+ typeof e == "function" && $(h[i], e);
513
+ }, o.removeHook = function(i, e) {
514
+ if (e !== void 0) {
515
+ const t = jt(h[i], e);
516
+ return t === -1 ? void 0 : Vt(h[i], t, 1)[0];
517
+ }
518
+ return st(h[i]);
519
+ }, o.removeHooks = function(i) {
520
+ h[i] = [];
521
+ }, o.removeAllHooks = function() {
522
+ h = dt();
523
+ }, o;
524
+ }
525
+ var un = ht();
526
+ export {
527
+ un as default
528
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensystemslab/map",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-alpha.6",
4
4
  "license": "MPL-2.0",
5
5
  "private": false,
6
6
  "repository": {
@@ -26,37 +26,39 @@
26
26
  "docsPublish": "pitsby build"
27
27
  },
28
28
  "dependencies": {
29
- "@turf/union": "^7.0.0",
30
- "accessible-autocomplete": "^2.0.4",
29
+ "@turf/helpers": "^7.2.0",
30
+ "@turf/union": "^7.1.0",
31
+ "@types/geojson": "^7946.0.14",
32
+ "accessible-autocomplete": "^3.0.1",
31
33
  "file-saver": "^2.0.5",
32
- "govuk-frontend": "^5.6.0",
33
- "jspdf": "^2.5.2",
34
+ "govuk-frontend": "^5.11.0",
35
+ "jspdf": "^3.0.1",
34
36
  "lit": "^3.0.1",
35
- "ol": "^9.1.0",
36
- "ol-ext": "^4.0.21",
37
- "ol-mapbox-style": "^12.3.0",
37
+ "ol": "^10.6.1",
38
+ "ol-ext": "^4.0.24",
39
+ "ol-mapbox-style": "^12.6.0",
38
40
  "postcode": "^5.1.0",
39
- "proj4": "^2.12.1",
40
- "rambda": "^9.2.1"
41
+ "proj4": "^2.19.5",
42
+ "rambda": "^10.2.0"
41
43
  },
42
44
  "devDependencies": {
43
45
  "@glorious/pitsby": "^1.37.2",
44
46
  "@testing-library/dom": "^10.4.0",
45
- "@testing-library/user-event": "^14.5.2",
47
+ "@testing-library/user-event": "^14.6.1",
46
48
  "@types/file-saver": "^2.0.7",
47
49
  "@types/node": "22.0.3",
48
- "@types/ol-ext": "npm:@siedlerchr/types-ol-ext@^3.3.0",
49
- "@types/proj4": "^2.5.5",
50
- "@vitest/ui": "^0.34.7",
50
+ "@types/ol-ext": "npm:@siedlerchr/types-ol-ext@^3.6.1",
51
+ "@types/proj4": "^2.5.6",
52
+ "@vitest/ui": "^3.0.7",
51
53
  "happy-dom": "^9.1.9",
52
54
  "husky": "^8.0.3",
53
- "lint-staged": "^15.2.7",
54
- "prettier": "^3.2.5",
55
+ "lint-staged": "^15.2.10",
56
+ "prettier": "^3.6.2",
55
57
  "rollup-plugin-postcss-lit": "^2.1.0",
56
- "sass": "^1.77.8",
57
- "typescript": "^5.6.2",
58
- "vite": "^5.4.6",
59
- "vitest": "0.34.6",
58
+ "sass": "^1.89.2",
59
+ "typescript": "^5.8.3",
60
+ "vite": "^6.3.4",
61
+ "vitest": "3.0.7",
60
62
  "wait-for-expect": "^3.0.2"
61
63
  },
62
64
  "lint-staged": {
@@ -14,7 +14,7 @@ export declare class AddressAutocomplete extends LitElement {
14
14
  /**
15
15
  * @deprecated - please set singular `osApiKey`
16
16
  */
17
- osPlacesApiKey: any;
17
+ osPlacesApiKey: string;
18
18
  osProxyEndpoint: string;
19
19
  arrowStyle: ArrowStyleEnum;
20
20
  labelStyle: LabelStyleEnum;
@@ -5,7 +5,7 @@ import { Vector as VectorSource } from "ol/source";
5
5
  export type DrawTypeEnum = Extract<Type, "Polygon" | "Point" | "Circle">;
6
6
  export type DrawPointerEnum = "crosshair" | "dot";
7
7
  export declare const drawingSource: VectorSource<import("ol/Feature").default<import("ol/geom").Geometry>>;
8
- export declare function configureDrawingLayer(drawType: DrawTypeEnum, drawColor: string, drawMany: boolean, hideDrawLabels: boolean): VectorLayer<VectorSource<import("ol/Feature").default<import("ol/geom").Geometry>>>;
8
+ export declare function configureDrawingLayer(drawType: DrawTypeEnum, drawColor: string, drawMany: boolean, hideDrawLabels: boolean): VectorLayer<VectorSource<import("ol/Feature").default<import("ol/geom").Geometry>>, import("ol/Feature").default<import("ol/geom").Geometry>>;
9
9
  export declare function configureDraw(drawType: DrawTypeEnum, drawPointer: DrawPointerEnum, drawColor: string): Draw;
10
10
  export declare const snap: Snap;
11
11
  export declare function configureModify(drawPointer: DrawPointerEnum, drawColor: string): Modify;
@@ -4,6 +4,7 @@ import { DrawPointerEnum, DrawTypeEnum } from "./drawing";
4
4
  import { BasemapEnum } from "./layers";
5
5
  import { ProjectionEnum } from "./projections";
6
6
  import { AreaUnitEnum } from "./utils";
7
+ import { GeoJSONFeatureCollection } from "ol/format/GeoJSON";
7
8
  type MarkerImageEnum = "circle" | "pin";
8
9
  type ResetControlImageEnum = "unicode" | "trash";
9
10
  export declare class MyMap extends LitElement {
@@ -50,10 +51,7 @@ export declare class MyMap extends LitElement {
50
51
  markerLatitude: number;
51
52
  markerLongitude: number;
52
53
  markerColor: string;
53
- geojsonData: {
54
- type: string;
55
- features: never[];
56
- };
54
+ geojsonData: GeoJSONFeatureCollection;
57
55
  showGeojsonDataMarkers: boolean;
58
56
  geojsonDataCopyright: string;
59
57
  geojsonColor: string;
@@ -67,11 +65,11 @@ export declare class MyMap extends LitElement {
67
65
  /**
68
66
  * @deprecated - please set singular `osApiKey`
69
67
  */
70
- osVectorTilesApiKey: any;
68
+ osVectorTilesApiKey: string;
71
69
  /**
72
70
  * @deprecated - please set singular `osApiKey`
73
71
  */
74
- osFeaturesApiKey: any;
72
+ osFeaturesApiKey: string;
75
73
  osCopyright: string;
76
74
  osProxyEndpoint: string;
77
75
  /**