@nysds/nys-icon 1.19.1 → 1.19.2
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/icons/location_on.svg +8 -0
- package/dist/icons/manifest.json +2 -0
- package/dist/icons/schedule.svg +8 -0
- package/dist/nys-icon.d.ts +74 -0
- package/dist/nys-icon.js +674 -507
- package/dist/nys-icon.js.map +1 -1
- package/package.json +3 -2
package/dist/nys-icon.js
CHANGED
|
@@ -1,215 +1,215 @@
|
|
|
1
|
-
import { LitElement as
|
|
2
|
-
import { property as
|
|
1
|
+
import { LitElement as Pn, unsafeCSS as kn, html as zn } from "lit";
|
|
2
|
+
import { property as Q, state as Un } from "lit/decorators.js";
|
|
3
3
|
/*!
|
|
4
4
|
* █▄ █ █ █ █▀▀▀█ █▀▀▄ █▀▀▀█
|
|
5
5
|
* █ █ █ █▄▄▄█ ▀▀▀▄▄ █ █ ▀▀▀▄▄
|
|
6
6
|
* █ ▀█ █ █▄▄▄█ █▄▄▀ █▄▄▄█
|
|
7
7
|
*
|
|
8
|
-
* Icon Component v1.19.
|
|
8
|
+
* Icon Component v1.19.2
|
|
9
9
|
* Part of the New York State Design System
|
|
10
10
|
* Repository: https://github.com/its-hcd/nysds
|
|
11
11
|
* License: MIT
|
|
12
12
|
*/
|
|
13
13
|
window.__nysIconRegistry || (window.__nysIconRegistry = /* @__PURE__ */ new Map());
|
|
14
14
|
window.__nysIconWatchers || (window.__nysIconWatchers = /* @__PURE__ */ new Map());
|
|
15
|
-
const
|
|
16
|
-
function
|
|
17
|
-
const
|
|
15
|
+
const bt = window.__nysIconRegistry, ct = window.__nysIconWatchers;
|
|
16
|
+
function Fn() {
|
|
17
|
+
const o = /(?:^|\/)(?:nysds(?:\.es|\.min)?|nys-icon)\.js(?:[?#]|$)/;
|
|
18
18
|
if (typeof document < "u") {
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
19
|
+
const s = document.currentScript;
|
|
20
|
+
if (s?.src) return new URL("./icons/", s.src).href;
|
|
21
21
|
const l = Array.from(
|
|
22
22
|
document.querySelectorAll("script[src]")
|
|
23
|
-
).find((
|
|
23
|
+
).find((m) => o.test(m.src));
|
|
24
24
|
if (l?.src) return new URL("./icons/", l.src).href;
|
|
25
25
|
}
|
|
26
|
-
const
|
|
27
|
-
return
|
|
26
|
+
const n = import.meta.url;
|
|
27
|
+
return n ? new URL("./icons/", n).href : new URL("./icons/", document.baseURI).href;
|
|
28
28
|
}
|
|
29
|
-
if (!
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
resolver: (
|
|
29
|
+
if (!bt.has("default")) {
|
|
30
|
+
const o = Fn();
|
|
31
|
+
bt.set("default", {
|
|
32
|
+
resolver: (n) => n ? `${o}${n}.svg` : void 0
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
35
|
+
function Lo(o, n) {
|
|
36
|
+
bt.set(o, n), ct.get(o)?.forEach((s) => s.redraw());
|
|
37
37
|
}
|
|
38
|
-
function
|
|
39
|
-
|
|
38
|
+
function Do(o) {
|
|
39
|
+
bt.delete(o), ct.get(o)?.forEach((n) => n.redraw());
|
|
40
40
|
}
|
|
41
|
-
function
|
|
42
|
-
return
|
|
41
|
+
function Hn(o) {
|
|
42
|
+
return bt.get(o);
|
|
43
43
|
}
|
|
44
|
-
function
|
|
45
|
-
|
|
44
|
+
function Fe(o, n) {
|
|
45
|
+
ct.has(o) || ct.set(o, /* @__PURE__ */ new Set()), ct.get(o).add(n);
|
|
46
46
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
47
|
+
function He(o, n) {
|
|
48
|
+
ct.get(o)?.delete(n);
|
|
49
49
|
}
|
|
50
|
-
/*! @license DOMPurify 3.4.
|
|
51
|
-
function
|
|
52
|
-
(
|
|
53
|
-
for (var
|
|
54
|
-
return
|
|
50
|
+
/*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */
|
|
51
|
+
function Ge(o, n) {
|
|
52
|
+
(n == null || n > o.length) && (n = o.length);
|
|
53
|
+
for (var s = 0, c = Array(n); s < n; s++) c[s] = o[s];
|
|
54
|
+
return c;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
if (Array.isArray(
|
|
56
|
+
function Gn(o) {
|
|
57
|
+
if (Array.isArray(o)) return o;
|
|
58
58
|
}
|
|
59
|
-
function
|
|
60
|
-
var
|
|
61
|
-
if (
|
|
62
|
-
var
|
|
59
|
+
function Bn(o, n) {
|
|
60
|
+
var s = o == null ? null : typeof Symbol < "u" && o[Symbol.iterator] || o["@@iterator"];
|
|
61
|
+
if (s != null) {
|
|
62
|
+
var c, l, m, d, lt = [], D = !0, ut = !1;
|
|
63
63
|
try {
|
|
64
|
-
if (
|
|
65
|
-
} catch (
|
|
66
|
-
|
|
64
|
+
if (m = (s = s.call(o)).next, n !== 0) for (; !(D = (c = m.call(s)).done) && (lt.push(c.value), lt.length !== n); D = !0) ;
|
|
65
|
+
} catch (xt) {
|
|
66
|
+
ut = !0, l = xt;
|
|
67
67
|
} finally {
|
|
68
68
|
try {
|
|
69
|
-
if (!
|
|
69
|
+
if (!D && s.return != null && (d = s.return(), Object(d) !== d)) return;
|
|
70
70
|
} finally {
|
|
71
|
-
if (
|
|
71
|
+
if (ut) throw l;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
return
|
|
74
|
+
return lt;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function Wn() {
|
|
78
78
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
79
79
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
80
80
|
}
|
|
81
|
-
function
|
|
82
|
-
return
|
|
81
|
+
function Yn(o, n) {
|
|
82
|
+
return Gn(o) || Bn(o, n) || jn(o, n) || Wn();
|
|
83
83
|
}
|
|
84
|
-
function
|
|
85
|
-
if (
|
|
86
|
-
if (typeof
|
|
87
|
-
var
|
|
88
|
-
return
|
|
84
|
+
function jn(o, n) {
|
|
85
|
+
if (o) {
|
|
86
|
+
if (typeof o == "string") return Ge(o, n);
|
|
87
|
+
var s = {}.toString.call(o).slice(8, -1);
|
|
88
|
+
return s === "Object" && o.constructor && (s = o.constructor.name), s === "Map" || s === "Set" ? Array.from(o) : s === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s) ? Ge(o, n) : void 0;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
const
|
|
92
|
-
let
|
|
93
|
-
|
|
94
|
-
return
|
|
91
|
+
const en = Object.entries, Be = Object.setPrototypeOf, $n = Object.isFrozen, Xn = Object.getPrototypeOf, Vn = Object.getOwnPropertyDescriptor;
|
|
92
|
+
let O = Object.freeze, R = Object.seal, at = Object.create, nn = typeof Reflect < "u" && Reflect, se = nn.apply, ae = nn.construct;
|
|
93
|
+
O || (O = function(n) {
|
|
94
|
+
return n;
|
|
95
95
|
});
|
|
96
|
-
|
|
97
|
-
return
|
|
96
|
+
R || (R = function(n) {
|
|
97
|
+
return n;
|
|
98
98
|
});
|
|
99
|
-
|
|
100
|
-
for (var
|
|
101
|
-
l[
|
|
102
|
-
return
|
|
99
|
+
se || (se = function(n, s) {
|
|
100
|
+
for (var c = arguments.length, l = new Array(c > 2 ? c - 2 : 0), m = 2; m < c; m++)
|
|
101
|
+
l[m - 2] = arguments[m];
|
|
102
|
+
return n.apply(s, l);
|
|
103
103
|
});
|
|
104
|
-
|
|
105
|
-
for (var
|
|
106
|
-
|
|
107
|
-
return new
|
|
104
|
+
ae || (ae = function(n) {
|
|
105
|
+
for (var s = arguments.length, c = new Array(s > 1 ? s - 1 : 0), l = 1; l < s; l++)
|
|
106
|
+
c[l - 1] = arguments[l];
|
|
107
|
+
return new n(...c);
|
|
108
108
|
});
|
|
109
|
-
const
|
|
110
|
-
function A(
|
|
111
|
-
return function(
|
|
112
|
-
|
|
113
|
-
for (var
|
|
114
|
-
|
|
115
|
-
return
|
|
109
|
+
const yt = A(Array.prototype.forEach), qn = A(Array.prototype.lastIndexOf), We = A(Array.prototype.pop), st = A(Array.prototype.push), Kn = A(Array.prototype.splice), j = Array.isArray, At = A(String.prototype.toLowerCase), ee = A(String.prototype.toString), Ye = A(String.prototype.match), gt = A(String.prototype.replace), je = A(String.prototype.indexOf), Zn = A(String.prototype.trim), Jn = A(Number.prototype.toString), Qn = A(Boolean.prototype.toString), $e = typeof BigInt > "u" ? null : A(BigInt.prototype.toString), Xe = typeof Symbol > "u" ? null : A(Symbol.prototype.toString), b = A(Object.prototype.hasOwnProperty), Et = A(Object.prototype.toString), w = A(RegExp.prototype.test), J = to(TypeError);
|
|
110
|
+
function A(o) {
|
|
111
|
+
return function(n) {
|
|
112
|
+
n instanceof RegExp && (n.lastIndex = 0);
|
|
113
|
+
for (var s = arguments.length, c = new Array(s > 1 ? s - 1 : 0), l = 1; l < s; l++)
|
|
114
|
+
c[l - 1] = arguments[l];
|
|
115
|
+
return se(o, n, c);
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function to(o) {
|
|
119
119
|
return function() {
|
|
120
|
-
for (var
|
|
121
|
-
|
|
122
|
-
return
|
|
120
|
+
for (var n = arguments.length, s = new Array(n), c = 0; c < n; c++)
|
|
121
|
+
s[c] = arguments[c];
|
|
122
|
+
return ae(o, s);
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
|
-
function
|
|
126
|
-
let
|
|
127
|
-
if (
|
|
128
|
-
return
|
|
129
|
-
let
|
|
130
|
-
for (;
|
|
131
|
-
let l =
|
|
125
|
+
function f(o, n) {
|
|
126
|
+
let s = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : At;
|
|
127
|
+
if (Be && Be(o, null), !j(n))
|
|
128
|
+
return o;
|
|
129
|
+
let c = n.length;
|
|
130
|
+
for (; c--; ) {
|
|
131
|
+
let l = n[c];
|
|
132
132
|
if (typeof l == "string") {
|
|
133
|
-
const
|
|
134
|
-
|
|
133
|
+
const m = s(l);
|
|
134
|
+
m !== l && ($n(n) || (n[c] = m), l = m);
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
o[l] = !0;
|
|
137
137
|
}
|
|
138
|
-
return
|
|
138
|
+
return o;
|
|
139
139
|
}
|
|
140
|
-
function
|
|
141
|
-
for (let
|
|
142
|
-
|
|
143
|
-
return
|
|
140
|
+
function eo(o) {
|
|
141
|
+
for (let n = 0; n < o.length; n++)
|
|
142
|
+
b(o, n) || (o[n] = null);
|
|
143
|
+
return o;
|
|
144
144
|
}
|
|
145
|
-
function
|
|
146
|
-
const
|
|
147
|
-
for (const
|
|
148
|
-
var
|
|
149
|
-
const l =
|
|
150
|
-
|
|
145
|
+
function N(o) {
|
|
146
|
+
const n = at(null);
|
|
147
|
+
for (const c of en(o)) {
|
|
148
|
+
var s = Yn(c, 2);
|
|
149
|
+
const l = s[0], m = s[1];
|
|
150
|
+
b(o, l) && (j(m) ? n[l] = eo(m) : m && typeof m == "object" && m.constructor === Object ? n[l] = N(m) : n[l] = m);
|
|
151
151
|
}
|
|
152
|
-
return
|
|
152
|
+
return n;
|
|
153
153
|
}
|
|
154
|
-
function
|
|
155
|
-
switch (typeof
|
|
154
|
+
function no(o) {
|
|
155
|
+
switch (typeof o) {
|
|
156
156
|
case "string":
|
|
157
|
-
return
|
|
157
|
+
return o;
|
|
158
158
|
case "number":
|
|
159
|
-
return
|
|
159
|
+
return Jn(o);
|
|
160
160
|
case "boolean":
|
|
161
|
-
return
|
|
161
|
+
return Qn(o);
|
|
162
162
|
case "bigint":
|
|
163
|
-
return
|
|
163
|
+
return $e ? $e(o) : "0";
|
|
164
164
|
case "symbol":
|
|
165
|
-
return
|
|
165
|
+
return Xe ? Xe(o) : "Symbol()";
|
|
166
166
|
case "undefined":
|
|
167
|
-
return
|
|
167
|
+
return Et(o);
|
|
168
168
|
case "function":
|
|
169
169
|
case "object": {
|
|
170
|
-
if (
|
|
171
|
-
return
|
|
172
|
-
const
|
|
173
|
-
if (typeof
|
|
174
|
-
const
|
|
175
|
-
return typeof
|
|
170
|
+
if (o === null)
|
|
171
|
+
return Et(o);
|
|
172
|
+
const n = o, s = z(n, "toString");
|
|
173
|
+
if (typeof s == "function") {
|
|
174
|
+
const c = s(n);
|
|
175
|
+
return typeof c == "string" ? c : Et(c);
|
|
176
176
|
}
|
|
177
|
-
return
|
|
177
|
+
return Et(o);
|
|
178
178
|
}
|
|
179
179
|
default:
|
|
180
|
-
return
|
|
180
|
+
return Et(o);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
function z(
|
|
184
|
-
for (;
|
|
185
|
-
const
|
|
186
|
-
if (
|
|
187
|
-
if (
|
|
188
|
-
return A(
|
|
189
|
-
if (typeof
|
|
190
|
-
return A(
|
|
183
|
+
function z(o, n) {
|
|
184
|
+
for (; o !== null; ) {
|
|
185
|
+
const c = Vn(o, n);
|
|
186
|
+
if (c) {
|
|
187
|
+
if (c.get)
|
|
188
|
+
return A(c.get);
|
|
189
|
+
if (typeof c.value == "function")
|
|
190
|
+
return A(c.value);
|
|
191
191
|
}
|
|
192
|
-
|
|
192
|
+
o = Xn(o);
|
|
193
193
|
}
|
|
194
|
-
function
|
|
194
|
+
function s() {
|
|
195
195
|
return null;
|
|
196
196
|
}
|
|
197
|
-
return
|
|
197
|
+
return s;
|
|
198
198
|
}
|
|
199
|
-
function
|
|
199
|
+
function oo(o) {
|
|
200
200
|
try {
|
|
201
|
-
return
|
|
201
|
+
return w(o, ""), !0;
|
|
202
202
|
} catch {
|
|
203
203
|
return !1;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
-
const
|
|
206
|
+
const Ve = O(["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", "search", "section", "select", "shadow", "slot", "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"]), ne = O(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), oe = O(["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"]), io = O(["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"]), ie = O(["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"]), ro = O(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), qe = O(["#text"]), Ke = O(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "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", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"]), re = O(["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", "mask-type", "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"]), Ze = O(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "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"]), vt = O(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), so = R(/{{[\w\W]*|^[\w\W]*}}/g), ao = R(/<%[\w\W]*|^[\w\W]*%>/g), co = R(/\${[\w\W]*/g), lo = R(/^data-[\-\w.\u00B7-\uFFFF]+$/), uo = R(/^aria-[\-\w]+$/), Je = R(
|
|
207
207
|
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
208
208
|
// eslint-disable-line no-useless-escape
|
|
209
|
-
),
|
|
209
|
+
), fo = R(/^(?:\w+script|data):/i), po = R(
|
|
210
210
|
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
|
|
211
211
|
// eslint-disable-line no-control-regex
|
|
212
|
-
),
|
|
212
|
+
), mo = R(/^html$/i), ho = R(/^[a-z][.\w]*(-[.\w]+)+$/i), Qe = R(/<[/\w!]/g), _o = R(/<[/\w]/g), To = R(/<\/no(script|embed|frames)/i), yo = R(/\/>/i), k = {
|
|
213
213
|
element: 1,
|
|
214
214
|
attribute: 2,
|
|
215
215
|
text: 3,
|
|
@@ -218,24 +218,24 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
218
218
|
// Deprecated
|
|
219
219
|
entityNode: 6,
|
|
220
220
|
// Deprecated
|
|
221
|
-
|
|
221
|
+
processingInstruction: 7,
|
|
222
222
|
comment: 8,
|
|
223
223
|
document: 9,
|
|
224
224
|
documentType: 10,
|
|
225
225
|
documentFragment: 11,
|
|
226
226
|
notation: 12
|
|
227
227
|
// Deprecated
|
|
228
|
-
},
|
|
228
|
+
}, go = function() {
|
|
229
229
|
return typeof window > "u" ? null : window;
|
|
230
|
-
},
|
|
231
|
-
if (typeof
|
|
230
|
+
}, Eo = function(n, s) {
|
|
231
|
+
if (typeof n != "object" || typeof n.createPolicy != "function")
|
|
232
232
|
return null;
|
|
233
|
-
let
|
|
233
|
+
let c = null;
|
|
234
234
|
const l = "data-tt-policy-suffix";
|
|
235
|
-
|
|
236
|
-
const
|
|
235
|
+
s && s.hasAttribute(l) && (c = s.getAttribute(l));
|
|
236
|
+
const m = "dompurify" + (c ? "#" + c : "");
|
|
237
237
|
try {
|
|
238
|
-
return
|
|
238
|
+
return n.createPolicy(m, {
|
|
239
239
|
createHTML(d) {
|
|
240
240
|
return d;
|
|
241
241
|
},
|
|
@@ -244,9 +244,9 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
244
244
|
}
|
|
245
245
|
});
|
|
246
246
|
} catch {
|
|
247
|
-
return console.warn("TrustedTypes policy " +
|
|
247
|
+
return console.warn("TrustedTypes policy " + m + " could not be created."), null;
|
|
248
248
|
}
|
|
249
|
-
},
|
|
249
|
+
}, tn = function() {
|
|
250
250
|
return {
|
|
251
251
|
afterSanitizeAttributes: [],
|
|
252
252
|
afterSanitizeElements: [],
|
|
@@ -258,32 +258,53 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
258
258
|
uponSanitizeElement: [],
|
|
259
259
|
uponSanitizeShadowNode: []
|
|
260
260
|
};
|
|
261
|
+
}, Y = function(n, s, c, l) {
|
|
262
|
+
return b(n, s) && j(n[s]) ? f(l.base ? N(l.base) : {}, n[s], l.transform) : c;
|
|
261
263
|
};
|
|
262
|
-
function
|
|
263
|
-
let
|
|
264
|
-
const
|
|
265
|
-
if (
|
|
266
|
-
return
|
|
267
|
-
let
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
const
|
|
273
|
-
if (typeof
|
|
274
|
-
const
|
|
275
|
-
|
|
264
|
+
function on() {
|
|
265
|
+
let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : go();
|
|
266
|
+
const n = (r) => on(r);
|
|
267
|
+
if (n.version = "3.4.11", n.removed = [], !o || !o.document || o.document.nodeType !== k.document || !o.Element)
|
|
268
|
+
return n.isSupported = !1, n;
|
|
269
|
+
let s = o.document;
|
|
270
|
+
const c = s, l = c.currentScript;
|
|
271
|
+
o.DocumentFragment;
|
|
272
|
+
const m = o.HTMLTemplateElement, d = o.Node, lt = o.Element, D = o.NodeFilter, ut = o.NamedNodeMap;
|
|
273
|
+
ut === void 0 && (o.NamedNodeMap || o.MozNamedAttrMap), o.HTMLFormElement;
|
|
274
|
+
const xt = o.DOMParser, wt = o.trustedTypes, V = lt.prototype, rn = z(V, "cloneNode"), ce = z(V, "remove"), sn = z(V, "nextSibling"), ft = z(V, "childNodes"), pt = z(V, "parentNode"), le = z(V, "shadowRoot"), Pt = z(V, "attributes"), C = d && d.prototype ? z(d.prototype, "nodeType") : null, H = d && d.prototype ? z(d.prototype, "nodeName") : null;
|
|
275
|
+
if (typeof m == "function") {
|
|
276
|
+
const r = s.createElement("template");
|
|
277
|
+
r.content && r.content.ownerDocument && (s = r.content.ownerDocument);
|
|
276
278
|
}
|
|
277
|
-
let
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
279
|
+
let L, q = "", kt, ue = !1, mt = 0;
|
|
280
|
+
const fe = function() {
|
|
281
|
+
if (mt > 0)
|
|
282
|
+
throw J('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');
|
|
283
|
+
}, tt = function(t) {
|
|
284
|
+
fe(), mt++;
|
|
285
|
+
try {
|
|
286
|
+
return L.createHTML(t);
|
|
287
|
+
} finally {
|
|
288
|
+
mt--;
|
|
289
|
+
}
|
|
290
|
+
}, an = function(t) {
|
|
291
|
+
fe(), mt++;
|
|
292
|
+
try {
|
|
293
|
+
return L.createScriptURL(t);
|
|
294
|
+
} finally {
|
|
295
|
+
mt--;
|
|
296
|
+
}
|
|
297
|
+
}, cn = function() {
|
|
298
|
+
return ue || (kt = Eo(wt, l), ue = !0), kt;
|
|
299
|
+
}, Ot = s, zt = Ot.implementation, pe = Ot.createNodeIterator, ln = Ot.createDocumentFragment, un = Ot.getElementsByTagName, fn = c.importNode;
|
|
300
|
+
let g = tn();
|
|
301
|
+
n.isSupported = typeof en == "function" && typeof pt == "function" && zt && zt.createHTMLDocument !== void 0;
|
|
302
|
+
const pn = so, mn = ao, dn = co, hn = lo, _n = uo, Tn = fo, me = po, yn = ho;
|
|
303
|
+
let de = Je, h = null;
|
|
304
|
+
const he = f({}, [...Ve, ...ne, ...oe, ...ie, ...qe]);
|
|
305
|
+
let _ = null;
|
|
306
|
+
const _e = f({}, [...Ke, ...re, ...Ze, ...vt]);
|
|
307
|
+
let T = Object.seal(at(null, {
|
|
287
308
|
tagNameCheck: {
|
|
288
309
|
writable: !0,
|
|
289
310
|
configurable: !1,
|
|
@@ -302,8 +323,8 @@ function Ye() {
|
|
|
302
323
|
enumerable: !0,
|
|
303
324
|
value: !1
|
|
304
325
|
}
|
|
305
|
-
})),
|
|
306
|
-
const G = Object.seal(
|
|
326
|
+
})), dt = null, Te = null;
|
|
327
|
+
const G = Object.seal(at(null, {
|
|
307
328
|
tagCheck: {
|
|
308
329
|
writable: !0,
|
|
309
330
|
configurable: !1,
|
|
@@ -317,135 +338,250 @@ function Ye() {
|
|
|
317
338
|
value: null
|
|
318
339
|
}
|
|
319
340
|
}));
|
|
320
|
-
let
|
|
321
|
-
const
|
|
322
|
-
let Wt = !0,
|
|
323
|
-
const jt =
|
|
324
|
-
|
|
325
|
-
|
|
341
|
+
let ye = !0, Ut = !0, ge = !1, Ee = !0, B = !1, ht = !0, K = !1, Ft = !1, Ht = null, Gt = null, Bt = !1, et = !1, Rt = !1, It = !1, Ae = !0, Se = !1;
|
|
342
|
+
const be = "user-content-";
|
|
343
|
+
let Wt = !0, Yt = !1, nt = {}, x = null;
|
|
344
|
+
const jt = f({}, [
|
|
345
|
+
"annotation-xml",
|
|
346
|
+
"audio",
|
|
347
|
+
"colgroup",
|
|
348
|
+
"desc",
|
|
349
|
+
"foreignobject",
|
|
350
|
+
"head",
|
|
351
|
+
"iframe",
|
|
352
|
+
"math",
|
|
353
|
+
"mi",
|
|
354
|
+
"mn",
|
|
355
|
+
"mo",
|
|
356
|
+
"ms",
|
|
357
|
+
"mtext",
|
|
358
|
+
"noembed",
|
|
359
|
+
"noframes",
|
|
360
|
+
"noscript",
|
|
361
|
+
"plaintext",
|
|
362
|
+
"script",
|
|
363
|
+
// <selectedcontent> mirrors the selected <option>'s subtree, cloned by
|
|
364
|
+
// the UA (customizable <select>) — including any on* handlers — and the
|
|
365
|
+
// engine re-mirrors synchronously whenever a removal changes which
|
|
366
|
+
// option/selectedcontent is current, even inside DOMPurify's inert
|
|
367
|
+
// DOMParser document. Hoisting its children on removal re-inserts a fresh
|
|
368
|
+
// mirror target ahead of the walk, which the engine refills, looping
|
|
369
|
+
// forever (DoS) and amplifying output. Dropping its content on removal
|
|
370
|
+
// (rather than hoisting) breaks that cascade; the content is a duplicate
|
|
371
|
+
// of the option, which is sanitized on its own. See campaign-3 F1/F6.
|
|
372
|
+
"selectedcontent",
|
|
373
|
+
"style",
|
|
374
|
+
"svg",
|
|
375
|
+
"template",
|
|
376
|
+
"thead",
|
|
377
|
+
"title",
|
|
378
|
+
"video",
|
|
379
|
+
"xmp"
|
|
380
|
+
]);
|
|
381
|
+
let we = null;
|
|
382
|
+
const Oe = f({}, ["audio", "video", "img", "source", "image", "track"]);
|
|
326
383
|
let $t = null;
|
|
327
|
-
const
|
|
328
|
-
let
|
|
329
|
-
const
|
|
330
|
-
let
|
|
331
|
-
const
|
|
332
|
-
let
|
|
333
|
-
const
|
|
334
|
-
let
|
|
335
|
-
const
|
|
384
|
+
const Re = f({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Nt = "http://www.w3.org/1998/Math/MathML", Lt = "http://www.w3.org/2000/svg", P = "http://www.w3.org/1999/xhtml";
|
|
385
|
+
let ot = P, Xt = !1, Vt = null;
|
|
386
|
+
const gn = f({}, [Nt, Lt, P], ee), Ie = O(["mi", "mo", "mn", "ms", "mtext"]);
|
|
387
|
+
let qt = f({}, Ie);
|
|
388
|
+
const Ne = O(["annotation-xml"]);
|
|
389
|
+
let Kt = f({}, Ne);
|
|
390
|
+
const En = f({}, ["title", "style", "font", "a", "script"]);
|
|
391
|
+
let _t = null;
|
|
392
|
+
const An = ["application/xhtml+xml", "text/html"], Sn = "text/html";
|
|
393
|
+
let y = null, it = null;
|
|
394
|
+
const bn = s.createElement("form"), Le = function(t) {
|
|
336
395
|
return t instanceof RegExp || t instanceof Function;
|
|
337
|
-
},
|
|
396
|
+
}, Zt = function() {
|
|
338
397
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
339
|
-
if (
|
|
398
|
+
if (it && it === t)
|
|
340
399
|
return;
|
|
341
|
-
(!t || typeof t != "object") && (t = {}), t =
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
400
|
+
(!t || typeof t != "object") && (t = {}), t = N(t), _t = // eslint-disable-next-line unicorn/prefer-includes
|
|
401
|
+
An.indexOf(t.PARSER_MEDIA_TYPE) === -1 ? Sn : t.PARSER_MEDIA_TYPE, y = _t === "application/xhtml+xml" ? ee : At, h = Y(t, "ALLOWED_TAGS", he, {
|
|
402
|
+
transform: y
|
|
403
|
+
}), _ = Y(t, "ALLOWED_ATTR", _e, {
|
|
404
|
+
transform: y
|
|
405
|
+
}), Vt = Y(t, "ALLOWED_NAMESPACES", gn, {
|
|
406
|
+
transform: ee
|
|
407
|
+
}), $t = Y(t, "ADD_URI_SAFE_ATTR", Re, {
|
|
408
|
+
transform: y,
|
|
409
|
+
base: Re
|
|
410
|
+
}), we = Y(t, "ADD_DATA_URI_TAGS", Oe, {
|
|
411
|
+
transform: y,
|
|
412
|
+
base: Oe
|
|
413
|
+
}), x = Y(t, "FORBID_CONTENTS", jt, {
|
|
414
|
+
transform: y
|
|
415
|
+
}), dt = Y(t, "FORBID_TAGS", N({}), {
|
|
416
|
+
transform: y
|
|
417
|
+
}), Te = Y(t, "FORBID_ATTR", N({}), {
|
|
418
|
+
transform: y
|
|
419
|
+
}), nt = b(t, "USE_PROFILES") ? t.USE_PROFILES && typeof t.USE_PROFILES == "object" ? N(t.USE_PROFILES) : t.USE_PROFILES : !1, ye = t.ALLOW_ARIA_ATTR !== !1, Ut = t.ALLOW_DATA_ATTR !== !1, ge = t.ALLOW_UNKNOWN_PROTOCOLS || !1, Ee = t.ALLOW_SELF_CLOSE_IN_ATTR !== !1, B = t.SAFE_FOR_TEMPLATES || !1, ht = t.SAFE_FOR_XML !== !1, K = t.WHOLE_DOCUMENT || !1, et = t.RETURN_DOM || !1, Rt = t.RETURN_DOM_FRAGMENT || !1, It = t.RETURN_TRUSTED_TYPE || !1, Bt = t.FORCE_BODY || !1, Ae = t.SANITIZE_DOM !== !1, Se = t.SANITIZE_NAMED_PROPS || !1, Wt = t.KEEP_CONTENT !== !1, Yt = t.IN_PLACE || !1, de = oo(t.ALLOWED_URI_REGEXP) ? t.ALLOWED_URI_REGEXP : Je, ot = typeof t.NAMESPACE == "string" ? t.NAMESPACE : P, qt = b(t, "MATHML_TEXT_INTEGRATION_POINTS") && t.MATHML_TEXT_INTEGRATION_POINTS && typeof t.MATHML_TEXT_INTEGRATION_POINTS == "object" ? N(t.MATHML_TEXT_INTEGRATION_POINTS) : f({}, Ie), Kt = b(t, "HTML_INTEGRATION_POINTS") && t.HTML_INTEGRATION_POINTS && typeof t.HTML_INTEGRATION_POINTS == "object" ? N(t.HTML_INTEGRATION_POINTS) : f({}, Ne);
|
|
420
|
+
const e = b(t, "CUSTOM_ELEMENT_HANDLING") && t.CUSTOM_ELEMENT_HANDLING && typeof t.CUSTOM_ELEMENT_HANDLING == "object" ? N(t.CUSTOM_ELEMENT_HANDLING) : at(null);
|
|
421
|
+
if (T = at(null), b(e, "tagNameCheck") && Le(e.tagNameCheck) && (T.tagNameCheck = e.tagNameCheck), b(e, "attributeNameCheck") && Le(e.attributeNameCheck) && (T.attributeNameCheck = e.attributeNameCheck), b(e, "allowCustomizedBuiltInElements") && typeof e.allowCustomizedBuiltInElements == "boolean" && (T.allowCustomizedBuiltInElements = e.allowCustomizedBuiltInElements), R(T), B && (Ut = !1), Rt && (et = !0), nt && (h = f({}, qe), _ = at(null), nt.html === !0 && (f(h, Ve), f(_, Ke)), nt.svg === !0 && (f(h, ne), f(_, re), f(_, vt)), nt.svgFilters === !0 && (f(h, oe), f(_, re), f(_, vt)), nt.mathMl === !0 && (f(h, ie), f(_, Ze), f(_, vt))), G.tagCheck = null, G.attributeCheck = null, b(t, "ADD_TAGS") && (typeof t.ADD_TAGS == "function" ? G.tagCheck = t.ADD_TAGS : j(t.ADD_TAGS) && (h === he && (h = N(h)), f(h, t.ADD_TAGS, y))), b(t, "ADD_ATTR") && (typeof t.ADD_ATTR == "function" ? G.attributeCheck = t.ADD_ATTR : j(t.ADD_ATTR) && (_ === _e && (_ = N(_)), f(_, t.ADD_ATTR, y))), b(t, "ADD_URI_SAFE_ATTR") && j(t.ADD_URI_SAFE_ATTR) && f($t, t.ADD_URI_SAFE_ATTR, y), b(t, "FORBID_CONTENTS") && j(t.FORBID_CONTENTS) && (x === jt && (x = N(x)), f(x, t.FORBID_CONTENTS, y)), b(t, "ADD_FORBID_CONTENTS") && j(t.ADD_FORBID_CONTENTS) && (x === jt && (x = N(x)), f(x, t.ADD_FORBID_CONTENTS, y)), Wt && (h["#text"] = !0), K && f(h, ["html", "head", "body"]), h.table && (f(h, ["tbody"]), delete dt.tbody), t.TRUSTED_TYPES_POLICY) {
|
|
345
422
|
if (typeof t.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
346
|
-
throw
|
|
423
|
+
throw J('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
347
424
|
if (typeof t.TRUSTED_TYPES_POLICY.createScriptURL != "function")
|
|
348
|
-
throw
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
425
|
+
throw J('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
|
|
426
|
+
const i = L;
|
|
427
|
+
L = t.TRUSTED_TYPES_POLICY;
|
|
428
|
+
try {
|
|
429
|
+
q = tt("");
|
|
430
|
+
} catch (a) {
|
|
431
|
+
throw L = i, a;
|
|
432
|
+
}
|
|
433
|
+
} else t.TRUSTED_TYPES_POLICY === null ? (L = void 0, q = "") : (L === void 0 && (L = cn()), L && typeof q == "string" && (q = tt("")));
|
|
434
|
+
O && O(t), it = t;
|
|
435
|
+
}, De = f({}, [...ne, ...oe, ...io]), Ce = f({}, [...ie, ...ro]), wn = function(t, e, i) {
|
|
436
|
+
return e.namespaceURI === P ? t === "svg" : e.namespaceURI === Nt ? t === "svg" && (i === "annotation-xml" || qt[i]) : !!De[t];
|
|
437
|
+
}, On = function(t, e, i) {
|
|
438
|
+
return e.namespaceURI === P ? t === "math" : e.namespaceURI === Lt ? t === "math" && Kt[i] : !!Ce[t];
|
|
439
|
+
}, Rn = function(t, e, i) {
|
|
440
|
+
return e.namespaceURI === Lt && !Kt[i] || e.namespaceURI === Nt && !qt[i] ? !1 : !Ce[t] && (En[t] || !De[t]);
|
|
441
|
+
}, In = function(t) {
|
|
442
|
+
let e = pt(t);
|
|
443
|
+
(!e || !e.tagName) && (e = {
|
|
444
|
+
namespaceURI: ot,
|
|
357
445
|
tagName: "template"
|
|
358
446
|
});
|
|
359
|
-
const
|
|
360
|
-
return
|
|
361
|
-
},
|
|
362
|
-
|
|
447
|
+
const i = At(t.tagName), a = At(e.tagName);
|
|
448
|
+
return Vt[t.namespaceURI] ? t.namespaceURI === Lt ? wn(i, e, a) : t.namespaceURI === Nt ? On(i, e, a) : t.namespaceURI === P ? Rn(i, e, a) : !!(_t === "application/xhtml+xml" && Vt[t.namespaceURI]) : !1;
|
|
449
|
+
}, W = function(t) {
|
|
450
|
+
st(n.removed, {
|
|
363
451
|
element: t
|
|
364
452
|
});
|
|
365
453
|
try {
|
|
366
|
-
|
|
454
|
+
pt(t).removeChild(t);
|
|
367
455
|
} catch {
|
|
368
|
-
|
|
456
|
+
if (ce(t), !pt(t))
|
|
457
|
+
throw J("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
|
|
458
|
+
}
|
|
459
|
+
}, Me = function(t) {
|
|
460
|
+
const e = ft(t);
|
|
461
|
+
if (e) {
|
|
462
|
+
const a = [];
|
|
463
|
+
yt(e, (u) => {
|
|
464
|
+
st(a, u);
|
|
465
|
+
}), yt(a, (u) => {
|
|
466
|
+
try {
|
|
467
|
+
ce(u);
|
|
468
|
+
} catch {
|
|
469
|
+
}
|
|
470
|
+
});
|
|
369
471
|
}
|
|
370
|
-
|
|
472
|
+
const i = Pt(t);
|
|
473
|
+
if (i)
|
|
474
|
+
for (let a = i.length - 1; a >= 0; --a) {
|
|
475
|
+
const u = i[a], p = u && u.name;
|
|
476
|
+
if (typeof p == "string")
|
|
477
|
+
try {
|
|
478
|
+
t.removeAttribute(p);
|
|
479
|
+
} catch {
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}, Z = function(t, e) {
|
|
371
483
|
try {
|
|
372
|
-
|
|
373
|
-
attribute:
|
|
374
|
-
from:
|
|
484
|
+
st(n.removed, {
|
|
485
|
+
attribute: e.getAttributeNode(t),
|
|
486
|
+
from: e
|
|
375
487
|
});
|
|
376
488
|
} catch {
|
|
377
|
-
|
|
489
|
+
st(n.removed, {
|
|
378
490
|
attribute: null,
|
|
379
|
-
from:
|
|
491
|
+
from: e
|
|
380
492
|
});
|
|
381
493
|
}
|
|
382
|
-
if (
|
|
383
|
-
if (
|
|
494
|
+
if (e.removeAttribute(t), t === "is")
|
|
495
|
+
if (et || Rt)
|
|
384
496
|
try {
|
|
385
|
-
|
|
497
|
+
W(e);
|
|
386
498
|
} catch {
|
|
387
499
|
}
|
|
388
500
|
else
|
|
389
501
|
try {
|
|
390
|
-
|
|
502
|
+
e.setAttribute(t, "");
|
|
391
503
|
} catch {
|
|
392
504
|
}
|
|
393
|
-
},
|
|
394
|
-
|
|
505
|
+
}, Nn = function(t) {
|
|
506
|
+
const e = Pt(t);
|
|
507
|
+
if (e)
|
|
508
|
+
for (let i = e.length - 1; i >= 0; --i) {
|
|
509
|
+
const a = e[i], u = a && a.name;
|
|
510
|
+
if (!(typeof u != "string" || _[y(u)]))
|
|
511
|
+
try {
|
|
512
|
+
t.removeAttribute(u);
|
|
513
|
+
} catch {
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}, Ln = function(t) {
|
|
517
|
+
const e = [t];
|
|
518
|
+
for (; e.length > 0; ) {
|
|
519
|
+
const i = e.pop();
|
|
520
|
+
(C ? C(i) : i.nodeType) === k.element && Nn(i);
|
|
521
|
+
const u = ft(i);
|
|
522
|
+
if (u)
|
|
523
|
+
for (let p = u.length - 1; p >= 0; --p)
|
|
524
|
+
e.push(u[p]);
|
|
525
|
+
}
|
|
526
|
+
}, ve = function(t) {
|
|
527
|
+
let e = null, i = null;
|
|
395
528
|
if (Bt)
|
|
396
529
|
t = "<remove></remove>" + t;
|
|
397
530
|
else {
|
|
398
|
-
const p =
|
|
399
|
-
|
|
531
|
+
const p = Ye(t, /^[\r\n\t ]+/);
|
|
532
|
+
i = p && p[0];
|
|
400
533
|
}
|
|
401
|
-
|
|
402
|
-
const
|
|
403
|
-
if (
|
|
534
|
+
_t === "application/xhtml+xml" && ot === P && (t = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + t + "</body></html>");
|
|
535
|
+
const a = L ? tt(t) : t;
|
|
536
|
+
if (ot === P)
|
|
404
537
|
try {
|
|
405
|
-
|
|
538
|
+
e = new xt().parseFromString(a, _t);
|
|
406
539
|
} catch {
|
|
407
540
|
}
|
|
408
|
-
if (!
|
|
409
|
-
|
|
541
|
+
if (!e || !e.documentElement) {
|
|
542
|
+
e = zt.createDocument(ot, "template", null);
|
|
410
543
|
try {
|
|
411
|
-
|
|
544
|
+
e.documentElement.innerHTML = Xt ? q : a;
|
|
412
545
|
} catch {
|
|
413
546
|
}
|
|
414
547
|
}
|
|
415
|
-
const
|
|
416
|
-
return t &&
|
|
417
|
-
},
|
|
418
|
-
return
|
|
548
|
+
const u = e.body || e.documentElement;
|
|
549
|
+
return t && i && u.insertBefore(s.createTextNode(i), u.childNodes[0] || null), ot === P ? un.call(e, K ? "html" : "body")[0] : K ? e.documentElement : u;
|
|
550
|
+
}, xe = function(t) {
|
|
551
|
+
return pe.call(
|
|
419
552
|
t.ownerDocument || t,
|
|
420
553
|
t,
|
|
421
554
|
// eslint-disable-next-line no-bitwise
|
|
422
|
-
|
|
555
|
+
D.SHOW_ELEMENT | D.SHOW_COMMENT | D.SHOW_TEXT | D.SHOW_PROCESSING_INSTRUCTION | D.SHOW_CDATA_SECTION,
|
|
423
556
|
null
|
|
424
557
|
);
|
|
425
|
-
},
|
|
558
|
+
}, Dt = function(t) {
|
|
559
|
+
return t = gt(t, pn, " "), t = gt(t, mn, " "), t = gt(t, dn, " "), t;
|
|
560
|
+
}, Jt = function(t) {
|
|
561
|
+
var e;
|
|
426
562
|
t.normalize();
|
|
427
|
-
const i =
|
|
563
|
+
const i = pe.call(
|
|
428
564
|
t.ownerDocument || t,
|
|
429
565
|
t,
|
|
430
566
|
// eslint-disable-next-line no-bitwise
|
|
431
|
-
|
|
567
|
+
D.SHOW_TEXT | D.SHOW_COMMENT | D.SHOW_CDATA_SECTION | D.SHOW_PROCESSING_INSTRUCTION,
|
|
432
568
|
null
|
|
433
569
|
);
|
|
434
|
-
let
|
|
435
|
-
for (;
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
}
|
|
441
|
-
},
|
|
442
|
-
const
|
|
443
|
-
return typeof
|
|
570
|
+
let a = i.nextNode();
|
|
571
|
+
for (; a; )
|
|
572
|
+
a.data = Dt(a.data), a = i.nextNode();
|
|
573
|
+
const u = (e = t.querySelectorAll) === null || e === void 0 ? void 0 : e.call(t, "template");
|
|
574
|
+
u && yt(u, (p) => {
|
|
575
|
+
rt(p.content) && Jt(p.content);
|
|
576
|
+
});
|
|
577
|
+
}, Ct = function(t) {
|
|
578
|
+
const e = H ? H(t) : null;
|
|
579
|
+
return typeof e != "string" || y(e) !== "form" ? !1 : typeof t.nodeName != "string" || typeof t.textContent != "string" || typeof t.removeChild != "function" || // Realm-safe NamedNodeMap detection: equality against the cached
|
|
444
580
|
// prototype getter. Clobbered .attributes (e.g. <input name="attributes">)
|
|
445
581
|
// makes the direct read diverge from the cached read; a clean form
|
|
446
582
|
// (same-realm OR foreign-realm) has both reads pointing at the same
|
|
447
583
|
// canonical NamedNodeMap.
|
|
448
|
-
t.attributes !==
|
|
584
|
+
t.attributes !== Pt(t) || typeof t.removeAttribute != "function" || typeof t.setAttribute != "function" || typeof t.namespaceURI != "string" || typeof t.insertBefore != "function" || typeof t.hasChildNodes != "function" || // NodeType clobbering probe. Cached Node.prototype.nodeType getter
|
|
449
585
|
// returns the integer 1 for any Element regardless of realm; direct
|
|
450
586
|
// read on a clobbered form (e.g. <input name="nodeType">) returns
|
|
451
587
|
// the named child element. Cheap addition — nodeType is read from
|
|
@@ -463,16 +599,16 @@ function Ye() {
|
|
|
463
599
|
// select, etc.) regardless of whether the named child happens to
|
|
464
600
|
// carry a numeric .length, which a typeof-based probe would miss
|
|
465
601
|
// (e.g. HTMLSelectElement.length is a defined unsigned-long).
|
|
466
|
-
t.childNodes !==
|
|
467
|
-
},
|
|
602
|
+
t.childNodes !== ft(t);
|
|
603
|
+
}, rt = function(t) {
|
|
468
604
|
if (!C || typeof t != "object" || t === null)
|
|
469
605
|
return !1;
|
|
470
606
|
try {
|
|
471
|
-
return C(t) ===
|
|
607
|
+
return C(t) === k.documentFragment;
|
|
472
608
|
} catch {
|
|
473
609
|
return !1;
|
|
474
610
|
}
|
|
475
|
-
},
|
|
611
|
+
}, Tt = function(t) {
|
|
476
612
|
if (!C || typeof t != "object" || t === null)
|
|
477
613
|
return !1;
|
|
478
614
|
try {
|
|
@@ -481,275 +617,306 @@ function Ye() {
|
|
|
481
617
|
return !1;
|
|
482
618
|
}
|
|
483
619
|
};
|
|
484
|
-
function U(
|
|
485
|
-
|
|
486
|
-
|
|
620
|
+
function U(r, t, e) {
|
|
621
|
+
r.length !== 0 && yt(r, (i) => {
|
|
622
|
+
i.call(n, t, e, it);
|
|
487
623
|
});
|
|
488
624
|
}
|
|
489
|
-
const
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
if (
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
return !1;
|
|
502
|
-
if (Wt && !x[r]) {
|
|
503
|
-
const f = Et(t), p = At(t);
|
|
504
|
-
if (p && f) {
|
|
505
|
-
const D = p.length;
|
|
506
|
-
for (let k = D - 1; k >= 0; --k) {
|
|
507
|
-
const v = Xe(p[k], !0);
|
|
508
|
-
f.insertBefore(v, qe(t));
|
|
509
|
-
}
|
|
625
|
+
const Dn = function(t, e) {
|
|
626
|
+
return !!(ht && t.hasChildNodes() && !Tt(t.firstElementChild) && w(Qe, t.textContent) && w(Qe, t.innerHTML) || ht && t.namespaceURI === P && e === "style" && Tt(t.firstElementChild) || t.nodeType === k.processingInstruction || ht && t.nodeType === k.comment && w(_o, t.data));
|
|
627
|
+
}, Cn = function(t, e) {
|
|
628
|
+
if (!dt[e] && ze(e) && (T.tagNameCheck instanceof RegExp && w(T.tagNameCheck, e) || T.tagNameCheck instanceof Function && T.tagNameCheck(e)))
|
|
629
|
+
return !1;
|
|
630
|
+
if (Wt && !x[e]) {
|
|
631
|
+
const i = pt(t), a = ft(t);
|
|
632
|
+
if (a && i) {
|
|
633
|
+
const u = a.length;
|
|
634
|
+
for (let p = u - 1; p >= 0; --p) {
|
|
635
|
+
const S = Yt ? a[p] : rn(a[p], !0);
|
|
636
|
+
i.insertBefore(S, sn(t));
|
|
510
637
|
}
|
|
511
638
|
}
|
|
512
|
-
return M(t), !0;
|
|
513
639
|
}
|
|
514
|
-
return (
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
640
|
+
return W(t), !0;
|
|
641
|
+
}, Pe = function(t) {
|
|
642
|
+
if (U(g.beforeSanitizeElements, t, null), Ct(t))
|
|
643
|
+
return W(t), !0;
|
|
644
|
+
const e = y(H ? H(t) : t.nodeName);
|
|
645
|
+
if (U(g.uponSanitizeElement, t, {
|
|
646
|
+
tagName: e,
|
|
647
|
+
allowedTags: h
|
|
648
|
+
}), Dn(t, e))
|
|
649
|
+
return W(t), !0;
|
|
650
|
+
if (dt[e] || !(G.tagCheck instanceof Function && G.tagCheck(e)) && !h[e])
|
|
651
|
+
return Cn(t, e);
|
|
652
|
+
if ((C ? C(t) : t.nodeType) === k.element && !In(t) || (e === "noscript" || e === "noembed" || e === "noframes") && w(To, t.innerHTML))
|
|
653
|
+
return W(t), !0;
|
|
654
|
+
if (B && t.nodeType === k.text) {
|
|
655
|
+
const a = Dt(t.textContent);
|
|
656
|
+
t.textContent !== a && (st(n.removed, {
|
|
657
|
+
element: t.cloneNode()
|
|
658
|
+
}), t.textContent = a);
|
|
659
|
+
}
|
|
660
|
+
return U(g.afterSanitizeElements, t, null), !1;
|
|
661
|
+
}, ke = function(t, e, i) {
|
|
662
|
+
if (Te[e] || Ae && (e === "id" || e === "name") && (i in s || i in bn))
|
|
521
663
|
return !1;
|
|
522
|
-
const
|
|
523
|
-
if (!(
|
|
524
|
-
if (!(
|
|
525
|
-
if (
|
|
526
|
-
if (
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
) return !1;
|
|
534
|
-
} else if (!$t[i]) {
|
|
535
|
-
if (!b(se, it(r, ae, ""))) {
|
|
536
|
-
if (!((i === "src" || i === "xlink:href" || i === "href") && t !== "script" && Pe(r, "data:") === 0 && de[t])) {
|
|
537
|
-
if (!(ce && !b(nn, it(r, ae, "")))) {
|
|
538
|
-
if (r)
|
|
539
|
-
return !1;
|
|
664
|
+
const a = _[e] || G.attributeCheck instanceof Function && G.attributeCheck(e, t);
|
|
665
|
+
if (!(Ut && w(hn, e))) {
|
|
666
|
+
if (!(ye && w(_n, e))) {
|
|
667
|
+
if (a) {
|
|
668
|
+
if (!$t[e]) {
|
|
669
|
+
if (!w(de, gt(i, me, ""))) {
|
|
670
|
+
if (!((e === "src" || e === "xlink:href" || e === "href") && t !== "script" && je(i, "data:") === 0 && we[t])) {
|
|
671
|
+
if (!(ge && !w(Tn, gt(i, me, "")))) {
|
|
672
|
+
if (i)
|
|
673
|
+
return !1;
|
|
674
|
+
}
|
|
540
675
|
}
|
|
541
676
|
}
|
|
542
677
|
}
|
|
543
|
-
}
|
|
678
|
+
} else if (
|
|
679
|
+
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
680
|
+
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
681
|
+
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
682
|
+
!(ze(t) && (T.tagNameCheck instanceof RegExp && w(T.tagNameCheck, t) || T.tagNameCheck instanceof Function && T.tagNameCheck(t)) && (T.attributeNameCheck instanceof RegExp && w(T.attributeNameCheck, e) || T.attributeNameCheck instanceof Function && T.attributeNameCheck(e, t)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
683
|
+
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
684
|
+
e === "is" && T.allowCustomizedBuiltInElements && (T.tagNameCheck instanceof RegExp && w(T.tagNameCheck, i) || T.tagNameCheck instanceof Function && T.tagNameCheck(i)))
|
|
685
|
+
) return !1;
|
|
544
686
|
}
|
|
545
687
|
}
|
|
546
688
|
return !0;
|
|
547
|
-
},
|
|
548
|
-
return !
|
|
549
|
-
},
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
689
|
+
}, Mn = f({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]), ze = function(t) {
|
|
690
|
+
return !Mn[At(t)] && w(yn, t);
|
|
691
|
+
}, vn = function(t, e, i, a) {
|
|
692
|
+
if (L && typeof wt == "object" && typeof wt.getAttributeType == "function" && !i)
|
|
693
|
+
switch (wt.getAttributeType(t, e)) {
|
|
694
|
+
case "TrustedHTML":
|
|
695
|
+
return tt(a);
|
|
696
|
+
case "TrustedScriptURL":
|
|
697
|
+
return an(a);
|
|
698
|
+
}
|
|
699
|
+
return a;
|
|
700
|
+
}, xn = function(t, e, i, a) {
|
|
701
|
+
try {
|
|
702
|
+
i ? t.setAttributeNS(i, e, a) : t.setAttribute(e, a), Ct(t) ? W(t) : We(n.removed);
|
|
703
|
+
} catch {
|
|
704
|
+
Z(e, t);
|
|
705
|
+
}
|
|
706
|
+
}, Ue = function(t) {
|
|
707
|
+
U(g.beforeSanitizeAttributes, t, null);
|
|
708
|
+
const e = t.attributes;
|
|
709
|
+
if (!e || Ct(t))
|
|
553
710
|
return;
|
|
554
|
-
const
|
|
711
|
+
const i = {
|
|
555
712
|
attrName: "",
|
|
556
713
|
attrValue: "",
|
|
557
714
|
keepAttr: !0,
|
|
558
|
-
allowedAttributes:
|
|
715
|
+
allowedAttributes: _,
|
|
559
716
|
forceKeepAttr: void 0
|
|
560
717
|
};
|
|
561
|
-
let
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
718
|
+
let a = e.length;
|
|
719
|
+
const u = y(t.nodeName);
|
|
720
|
+
for (; a--; ) {
|
|
721
|
+
const p = e[a], S = p.name, E = p.namespaceURI, M = p.value, v = y(S), te = M;
|
|
722
|
+
let I = S === "value" ? te : Zn(te);
|
|
723
|
+
if (i.attrName = v, i.attrValue = I, i.keepAttr = !0, i.forceKeepAttr = void 0, U(g.uponSanitizeAttribute, t, i), I = i.attrValue, Se && (v === "id" || v === "name") && je(I, be) !== 0 && (Z(S, t), I = be + I), ht && w(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, I)) {
|
|
724
|
+
Z(S, t);
|
|
567
725
|
continue;
|
|
568
726
|
}
|
|
569
|
-
if (v === "attributename" &&
|
|
570
|
-
|
|
727
|
+
if (v === "attributename" && Ye(I, "href")) {
|
|
728
|
+
Z(S, t);
|
|
571
729
|
continue;
|
|
572
730
|
}
|
|
573
|
-
if (
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
731
|
+
if (!i.forceKeepAttr) {
|
|
732
|
+
if (!i.keepAttr) {
|
|
733
|
+
Z(S, t);
|
|
734
|
+
continue;
|
|
735
|
+
}
|
|
736
|
+
if (!Ee && w(yo, I)) {
|
|
737
|
+
Z(S, t);
|
|
738
|
+
continue;
|
|
739
|
+
}
|
|
740
|
+
if (B && (I = Dt(I)), !ke(u, v, I)) {
|
|
741
|
+
Z(S, t);
|
|
742
|
+
continue;
|
|
743
|
+
}
|
|
744
|
+
I = vn(u, v, E, I), I !== te && xn(t, S, E, I);
|
|
578
745
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
746
|
+
}
|
|
747
|
+
U(g.afterSanitizeAttributes, t, null);
|
|
748
|
+
}, Mt = function(t) {
|
|
749
|
+
let e = null;
|
|
750
|
+
const i = xe(t);
|
|
751
|
+
for (U(g.beforeSanitizeShadowDOM, t, null); e = i.nextNode(); )
|
|
752
|
+
if (U(g.uponSanitizeShadowNode, e, null), Pe(e), Ue(e), rt(e.content) && Mt(e.content), (C ? C(e) : e.nodeType) === k.element) {
|
|
753
|
+
const u = le(e);
|
|
754
|
+
rt(u) && (Qt(u), Mt(u));
|
|
582
755
|
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
756
|
+
U(g.afterSanitizeShadowDOM, t, null);
|
|
757
|
+
}, Qt = function(t) {
|
|
758
|
+
const e = [{
|
|
759
|
+
node: t,
|
|
760
|
+
shadow: null
|
|
761
|
+
}];
|
|
762
|
+
for (; e.length > 0; ) {
|
|
763
|
+
const i = e.pop();
|
|
764
|
+
if (i.shadow) {
|
|
765
|
+
Mt(i.shadow);
|
|
589
766
|
continue;
|
|
590
767
|
}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
X(p, t);
|
|
768
|
+
const a = i.node, p = (C ? C(a) : a.nodeType) === k.element, S = ft(a);
|
|
769
|
+
if (S)
|
|
770
|
+
for (let E = S.length - 1; E >= 0; --E)
|
|
771
|
+
e.push({
|
|
772
|
+
node: S[E],
|
|
773
|
+
shadow: null
|
|
774
|
+
});
|
|
775
|
+
if (p) {
|
|
776
|
+
const E = H ? H(a) : null;
|
|
777
|
+
if (typeof E == "string" && y(E) === "template") {
|
|
778
|
+
const M = a.content;
|
|
779
|
+
rt(M) && e.push({
|
|
780
|
+
node: M,
|
|
781
|
+
shadow: null
|
|
782
|
+
});
|
|
607
783
|
}
|
|
608
|
-
}
|
|
609
|
-
U(E.afterSanitizeAttributes, t, null);
|
|
610
|
-
}, xt = function(t) {
|
|
611
|
-
let i = null;
|
|
612
|
-
const r = Ee(t);
|
|
613
|
-
for (U(E.beforeSanitizeShadowDOM, t, null); i = r.nextNode(); )
|
|
614
|
-
if (U(E.uponSanitizeShadowNode, i, null), be(i), we(i), pt(i.content) && xt(i.content), (C ? C(i) : i.nodeType) === F.element) {
|
|
615
|
-
const f = St ? St(i) : i.shadowRoot;
|
|
616
|
-
pt(f) && (tt(f), xt(f));
|
|
617
784
|
}
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
return;
|
|
628
|
-
const m = [];
|
|
629
|
-
et(r, (f) => {
|
|
630
|
-
nt(m, f);
|
|
631
|
-
});
|
|
632
|
-
for (const f of m)
|
|
633
|
-
tt(f);
|
|
634
|
-
if (i === F.element) {
|
|
635
|
-
const f = q ? q(t) : null;
|
|
636
|
-
if (typeof f == "string" && T(f) === "template") {
|
|
637
|
-
const p = t.content;
|
|
638
|
-
pt(p) && tt(p);
|
|
785
|
+
if (p) {
|
|
786
|
+
const E = le(a);
|
|
787
|
+
rt(E) && e.push({
|
|
788
|
+
node: null,
|
|
789
|
+
shadow: E
|
|
790
|
+
}, {
|
|
791
|
+
node: E,
|
|
792
|
+
shadow: null
|
|
793
|
+
});
|
|
639
794
|
}
|
|
640
795
|
}
|
|
641
796
|
};
|
|
642
|
-
return
|
|
643
|
-
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
|
|
644
|
-
if (
|
|
645
|
-
throw
|
|
646
|
-
if (!
|
|
647
|
-
return
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
797
|
+
return n.sanitize = function(r) {
|
|
798
|
+
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, e = null, i = null, a = null, u = null;
|
|
799
|
+
if (Xt = !r, Xt && (r = "<!-->"), typeof r != "string" && !Tt(r) && (r = no(r), typeof r != "string"))
|
|
800
|
+
throw J("dirty is not a string, aborting");
|
|
801
|
+
if (!n.isSupported)
|
|
802
|
+
return r;
|
|
803
|
+
Ft ? (h = Ht, _ = Gt) : Zt(t), (g.uponSanitizeElement.length > 0 || g.uponSanitizeAttribute.length > 0) && (h = N(h)), g.uponSanitizeAttribute.length > 0 && (_ = N(_)), n.removed = [];
|
|
804
|
+
const p = Yt && typeof r != "string" && Tt(r);
|
|
805
|
+
if (p) {
|
|
806
|
+
const M = H ? H(r) : r.nodeName;
|
|
807
|
+
if (typeof M == "string") {
|
|
808
|
+
const v = y(M);
|
|
809
|
+
if (!h[v] || dt[v])
|
|
810
|
+
throw J("root node is forbidden and cannot be sanitized in-place");
|
|
811
|
+
}
|
|
812
|
+
if (Ct(r))
|
|
813
|
+
throw J("root node is clobbered and cannot be sanitized in-place");
|
|
814
|
+
try {
|
|
815
|
+
Qt(r);
|
|
816
|
+
} catch (v) {
|
|
817
|
+
throw Me(r), v;
|
|
654
818
|
}
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
tt(a);
|
|
658
|
-
} else if (vt(a))
|
|
659
|
-
i = Ae("<!---->"), r = i.ownerDocument.importNode(a, !0), r.nodeType === F.element && r.nodeName === "BODY" || r.nodeName === "HTML" ? i = r : i.appendChild(r), tt(r);
|
|
819
|
+
} else if (Tt(r))
|
|
820
|
+
e = ve("<!---->"), i = e.ownerDocument.importNode(r, !0), i.nodeType === k.element && i.nodeName === "BODY" || i.nodeName === "HTML" ? e = i : e.appendChild(i), Qt(i);
|
|
660
821
|
else {
|
|
661
|
-
if (!
|
|
662
|
-
|
|
663
|
-
return
|
|
664
|
-
if (
|
|
665
|
-
return
|
|
822
|
+
if (!et && !B && !K && // eslint-disable-next-line unicorn/prefer-includes
|
|
823
|
+
r.indexOf("<") === -1)
|
|
824
|
+
return L && It ? tt(r) : r;
|
|
825
|
+
if (e = ve(r), !e)
|
|
826
|
+
return et ? null : It ? q : "";
|
|
827
|
+
}
|
|
828
|
+
e && Bt && W(e.firstChild);
|
|
829
|
+
const S = xe(p ? r : e);
|
|
830
|
+
try {
|
|
831
|
+
for (; a = S.nextNode(); )
|
|
832
|
+
Pe(a), Ue(a), rt(a.content) && Mt(a.content);
|
|
833
|
+
} catch (M) {
|
|
834
|
+
throw p && Me(r), M;
|
|
666
835
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
if (
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
for (f = Ze.call(i.ownerDocument); i.firstChild; )
|
|
676
|
-
f.appendChild(i.firstChild);
|
|
836
|
+
if (p)
|
|
837
|
+
return yt(n.removed, (M) => {
|
|
838
|
+
M.element && Ln(M.element);
|
|
839
|
+
}), B && Jt(r), r;
|
|
840
|
+
if (et) {
|
|
841
|
+
if (B && Jt(e), Rt)
|
|
842
|
+
for (u = ln.call(e.ownerDocument); e.firstChild; )
|
|
843
|
+
u.appendChild(e.firstChild);
|
|
677
844
|
else
|
|
678
|
-
|
|
679
|
-
return (
|
|
845
|
+
u = e;
|
|
846
|
+
return (_.shadowroot || _.shadowrootmode) && (u = fn.call(c, u, !0)), u;
|
|
680
847
|
}
|
|
681
|
-
let
|
|
682
|
-
return
|
|
683
|
-
` +
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
},
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
},
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
848
|
+
let E = K ? e.outerHTML : e.innerHTML;
|
|
849
|
+
return K && h["!doctype"] && e.ownerDocument && e.ownerDocument.doctype && e.ownerDocument.doctype.name && w(mo, e.ownerDocument.doctype.name) && (E = "<!DOCTYPE " + e.ownerDocument.doctype.name + `>
|
|
850
|
+
` + E), B && (E = Dt(E)), L && It ? tt(E) : E;
|
|
851
|
+
}, n.setConfig = function() {
|
|
852
|
+
let r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
853
|
+
Zt(r), Ft = !0, Ht = h, Gt = _;
|
|
854
|
+
}, n.clearConfig = function() {
|
|
855
|
+
it = null, Ft = !1, Ht = null, Gt = null, L = kt, q = "";
|
|
856
|
+
}, n.isValidAttribute = function(r, t, e) {
|
|
857
|
+
it || Zt({});
|
|
858
|
+
const i = y(r), a = y(t);
|
|
859
|
+
return ke(i, a, e);
|
|
860
|
+
}, n.addHook = function(r, t) {
|
|
861
|
+
typeof t == "function" && b(g, r) && st(g[r], t);
|
|
862
|
+
}, n.removeHook = function(r, t) {
|
|
863
|
+
if (b(g, r)) {
|
|
864
|
+
if (t !== void 0) {
|
|
865
|
+
const e = qn(g[r], t);
|
|
866
|
+
return e === -1 ? void 0 : Kn(g[r], e, 1)[0];
|
|
867
|
+
}
|
|
868
|
+
return We(g[r]);
|
|
701
869
|
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
}, e;
|
|
870
|
+
}, n.removeHooks = function(r) {
|
|
871
|
+
b(g, r) && (g[r] = []);
|
|
872
|
+
}, n.removeAllHooks = function() {
|
|
873
|
+
g = tn();
|
|
874
|
+
}, n;
|
|
708
875
|
}
|
|
709
|
-
var
|
|
710
|
-
const
|
|
711
|
-
async function
|
|
712
|
-
const
|
|
713
|
-
if (!
|
|
714
|
-
throw new Error(`Failed to load icon: ${
|
|
715
|
-
const
|
|
876
|
+
var Ao = on();
|
|
877
|
+
const St = /* @__PURE__ */ new Map();
|
|
878
|
+
async function So(o) {
|
|
879
|
+
const n = await fetch(o);
|
|
880
|
+
if (!n.ok)
|
|
881
|
+
throw new Error(`Failed to load icon: ${n.status}`);
|
|
882
|
+
const s = await n.text(), c = Ao.sanitize(s, {
|
|
716
883
|
USE_PROFILES: { svg: !0, svgFilters: !0 },
|
|
717
884
|
FORBID_TAGS: ["script", "use"],
|
|
718
885
|
// <use> can SSRF to external hrefs
|
|
719
886
|
FORBID_ATTR: ["onload", "onerror", "onbegin", "href", "xlink:href"]
|
|
720
|
-
}), d = new DOMParser().parseFromString(
|
|
887
|
+
}), d = new DOMParser().parseFromString(c, "image/svg+xml").documentElement;
|
|
721
888
|
if (!(d instanceof SVGElement))
|
|
722
|
-
throw new Error(`Invalid SVG from ${
|
|
889
|
+
throw new Error(`Invalid SVG from ${o}`);
|
|
723
890
|
return d;
|
|
724
891
|
}
|
|
725
|
-
async function
|
|
726
|
-
return
|
|
892
|
+
async function bo(o) {
|
|
893
|
+
return St.has(o) || St.set(o, So(o)), (await St.get(o)).cloneNode(!0);
|
|
727
894
|
}
|
|
728
|
-
function
|
|
729
|
-
|
|
895
|
+
function Co(o) {
|
|
896
|
+
o ? St.delete(o) : St.clear();
|
|
730
897
|
}
|
|
731
|
-
const
|
|
732
|
-
var
|
|
733
|
-
for (var l = void 0,
|
|
734
|
-
(d =
|
|
735
|
-
return l &&
|
|
736
|
-
},
|
|
737
|
-
const
|
|
898
|
+
const wo = ":host{display:inline-block;width:fit-content;height:fit-content;--_nys-icon-size: var( --nys-icon-size, .7em );box-sizing:content-box!important;vertical-align:middle}@supports (font-size: 1cap){:host{--_nys-icon-size: var(--nys-icon-size, 1cap)}}.nys-icon--svg{width:var(--_nys-icon-size, 1em);height:var(--_nys-icon-size, 1em);display:block;white-space:nowrap}.nys-icon--xs{width:calc(var(--_nys-icon-size) * .75);height:calc(var(--_nys-icon-size) * .75)}.nys-icon--sm{width:calc(var(--_nys-icon-size) * .875);height:calc(var(--_nys-icon-size) * .875)}.nys-icon--md{width:var(--_nys-icon-size);height:var(--_nys-icon-size)}.nys-icon--lg{width:calc(var(--_nys-icon-size) * 1.125);height:calc(var(--_nys-icon-size) * 1.125)}.nys-icon--xl{width:calc(var(--_nys-icon-size) * 1.25);height:calc(var(--_nys-icon-size) * 1.25)}.nys-icon--2xl{width:calc(var(--_nys-icon-size) * 1.5);height:calc(var(--_nys-icon-size) * 1.5)}.nys-icon--3xl{width:calc(var(--_nys-icon-size) * 1.875);height:calc(var(--_nys-icon-size) * 1.875)}.nys-icon--4xl{width:calc(var(--_nys-icon-size) * 2.25);height:calc(var(--_nys-icon-size) * 2.25)}.nys-icon--5xl{width:calc(var(--_nys-icon-size) * 3);height:calc(var(--_nys-icon-size) * 3)}.nys-icon--12{width:.75rem;height:.75rem}.nys-icon--14{width:.875rem;height:.875rem}.nys-icon--16{width:1rem;height:1rem}.nys-icon--18{width:1.125rem;height:1.125rem}.nys-icon--20{width:1.25rem;height:1.25rem}.nys-icon--24{width:1.5rem;height:1.5rem}.nys-icon--32{width:2rem;height:2rem}.nys-icon--40{width:2.5rem;height:2.5rem}.nys-icon--50{width:3.125rem;height:3.125rem}.nys-icon--flip-horizontal{transform:scaleX(-1)}.nys-icon--flip-vertical{transform:scaleY(-1)}.nys-icon--flip-both{transform:scale(-1)}";
|
|
899
|
+
var Oo = Object.defineProperty, X = (o, n, s, c) => {
|
|
900
|
+
for (var l = void 0, m = o.length - 1, d; m >= 0; m--)
|
|
901
|
+
(d = o[m]) && (l = d(n, s, l) || l);
|
|
902
|
+
return l && Oo(n, s, l), l;
|
|
903
|
+
}, $;
|
|
904
|
+
const F = ($ = class extends Pn {
|
|
738
905
|
constructor() {
|
|
739
906
|
super(...arguments), this.name = "", this.library = "default", this.ariaLabel = "", this.rotate = "0", this.flip = "", this.color = "", this.size = "md", this._svg = null, this._loadSeq = 0, this._loadPromise = null;
|
|
740
907
|
}
|
|
741
908
|
/** Resolves when the current icon load (if any) is complete. */
|
|
742
909
|
get updateComplete() {
|
|
743
910
|
return (async () => {
|
|
744
|
-
const
|
|
745
|
-
return await this._loadPromise,
|
|
911
|
+
const n = await super.updateComplete;
|
|
912
|
+
return await this._loadPromise, n;
|
|
746
913
|
})();
|
|
747
914
|
}
|
|
748
915
|
connectedCallback() {
|
|
749
|
-
super.connectedCallback(),
|
|
916
|
+
super.connectedCallback(), Fe(this.library, this);
|
|
750
917
|
}
|
|
751
918
|
disconnectedCallback() {
|
|
752
|
-
super.disconnectedCallback(),
|
|
919
|
+
super.disconnectedCallback(), He(this.library, this);
|
|
753
920
|
}
|
|
754
921
|
/** Called by the icon library registry when the current library changes. */
|
|
755
922
|
redraw() {
|
|
@@ -765,79 +932,79 @@ const H = (W = class extends mn {
|
|
|
765
932
|
firstUpdated() {
|
|
766
933
|
this._loadIcon();
|
|
767
934
|
}
|
|
768
|
-
updated(
|
|
769
|
-
if (
|
|
935
|
+
updated(n) {
|
|
936
|
+
if (n.has("name") && !$._validName.test(this.name)) {
|
|
770
937
|
console.warn(`nys-icon: invalid name "${this.name}" — ignored`), this._svg = null;
|
|
771
938
|
return;
|
|
772
939
|
}
|
|
773
|
-
if (
|
|
774
|
-
if (
|
|
775
|
-
const
|
|
776
|
-
|
|
940
|
+
if (n.has("name") || n.has("library")) {
|
|
941
|
+
if (n.has("library")) {
|
|
942
|
+
const s = n.get("library");
|
|
943
|
+
s && He(s, this), Fe(this.library, this);
|
|
777
944
|
}
|
|
778
945
|
this._loadIcon();
|
|
779
946
|
}
|
|
780
|
-
this._svg && (
|
|
947
|
+
this._svg && (n.has("ariaLabel") || n.has("rotate") || n.has("flip") || n.has("color") || n.has("size")) && this._applyAttributes(this._svg);
|
|
781
948
|
}
|
|
782
949
|
_loadIcon() {
|
|
783
|
-
const
|
|
950
|
+
const n = ++this._loadSeq;
|
|
784
951
|
this._loadPromise = (async () => {
|
|
785
|
-
const
|
|
786
|
-
if (!
|
|
952
|
+
const s = Hn(this.library);
|
|
953
|
+
if (!s || !this.name) {
|
|
787
954
|
this._svg = null;
|
|
788
955
|
return;
|
|
789
956
|
}
|
|
790
|
-
const
|
|
791
|
-
if (!
|
|
957
|
+
const c = s.resolver(this.name);
|
|
958
|
+
if (!c) {
|
|
792
959
|
this._svg = null;
|
|
793
960
|
return;
|
|
794
961
|
}
|
|
795
962
|
try {
|
|
796
|
-
const l = await
|
|
797
|
-
if (
|
|
798
|
-
|
|
963
|
+
const l = await bo(c);
|
|
964
|
+
if (n !== this._loadSeq) return;
|
|
965
|
+
s.mutator?.(l), this._applyAttributes(l), this._svg = l;
|
|
799
966
|
} catch {
|
|
800
|
-
|
|
967
|
+
n === this._loadSeq && (this._svg = null);
|
|
801
968
|
}
|
|
802
969
|
})();
|
|
803
970
|
}
|
|
804
|
-
_applyAttributes(
|
|
805
|
-
|
|
971
|
+
_applyAttributes(n) {
|
|
972
|
+
n.setAttribute("role", "img"), this.ariaLabel ? (n.setAttribute("aria-label", this.ariaLabel), n.removeAttribute("aria-hidden")) : (n.setAttribute("aria-hidden", "true"), n.removeAttribute("aria-label")), n.style.rotate = `${this.rotate}deg`, n.style.color = this.color || "currentcolor", n.classList.add(`nys-icon--${this.size}`), n.classList.add("nys-icon--svg"), this.flip && n.classList.add(`nys-icon--flip-${this.flip}`);
|
|
806
973
|
}
|
|
807
974
|
render() {
|
|
808
|
-
return this._svg ?
|
|
975
|
+
return this._svg ? zn`${this._svg}` : null;
|
|
809
976
|
}
|
|
810
|
-
},
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
],
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
],
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
],
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
],
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
],
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
],
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
],
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
],
|
|
835
|
-
let
|
|
836
|
-
customElements.get("nys-icon") || customElements.define("nys-icon",
|
|
977
|
+
}, $.styles = kn(wo), $._validName = /^[a-zA-Z0-9_-]+$/, $);
|
|
978
|
+
X([
|
|
979
|
+
Q({ type: String, reflect: !0 })
|
|
980
|
+
], F.prototype, "name");
|
|
981
|
+
X([
|
|
982
|
+
Q({ type: String, reflect: !0 })
|
|
983
|
+
], F.prototype, "library");
|
|
984
|
+
X([
|
|
985
|
+
Q({ type: String })
|
|
986
|
+
], F.prototype, "ariaLabel");
|
|
987
|
+
X([
|
|
988
|
+
Q({ type: String })
|
|
989
|
+
], F.prototype, "rotate");
|
|
990
|
+
X([
|
|
991
|
+
Q({ type: String })
|
|
992
|
+
], F.prototype, "flip");
|
|
993
|
+
X([
|
|
994
|
+
Q({ type: String })
|
|
995
|
+
], F.prototype, "color");
|
|
996
|
+
X([
|
|
997
|
+
Q({ type: String })
|
|
998
|
+
], F.prototype, "size");
|
|
999
|
+
X([
|
|
1000
|
+
Un()
|
|
1001
|
+
], F.prototype, "_svg");
|
|
1002
|
+
let Ro = F;
|
|
1003
|
+
customElements.get("nys-icon") || customElements.define("nys-icon", Ro);
|
|
837
1004
|
export {
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
1005
|
+
Ro as NysIcon,
|
|
1006
|
+
Co as clearIconCache,
|
|
1007
|
+
Lo as registerIconLibrary,
|
|
1008
|
+
Do as unregisterIconLibrary
|
|
842
1009
|
};
|
|
843
1010
|
//# sourceMappingURL=nys-icon.js.map
|