@nysds/nys-icon 1.19.0 → 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/filter_alt.svg +1 -1
- package/dist/icons/filter_list.svg +1 -1
- package/dist/icons/location_on.svg +8 -0
- package/dist/icons/manifest.json +2 -0
- package/dist/icons/schedule.svg +8 -0
- package/dist/icons/sort.svg +1 -1
- package/dist/nys-icon.js +678 -502
- package/dist/nys-icon.js.map +1 -1
- package/package.json +3 -2
- package/dist/icon-cache.d.ts +0 -11
- package/dist/icon-library-registry.d.ts +0 -47
- package/dist/index.d.ts +0 -4
package/dist/nys-icon.js
CHANGED
|
@@ -1,206 +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
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
const bt = window.__nysIconRegistry, ct = window.__nysIconWatchers;
|
|
16
|
+
function Fn() {
|
|
17
|
+
const o = /(?:^|\/)(?:nysds(?:\.es|\.min)?|nys-icon)\.js(?:[?#]|$)/;
|
|
18
|
+
if (typeof document < "u") {
|
|
19
|
+
const s = document.currentScript;
|
|
20
|
+
if (s?.src) return new URL("./icons/", s.src).href;
|
|
21
|
+
const l = Array.from(
|
|
22
|
+
document.querySelectorAll("script[src]")
|
|
23
|
+
).find((m) => o.test(m.src));
|
|
24
|
+
if (l?.src) return new URL("./icons/", l.src).href;
|
|
25
|
+
}
|
|
26
|
+
const n = import.meta.url;
|
|
27
|
+
return n ? new URL("./icons/", n).href : new URL("./icons/", document.baseURI).href;
|
|
28
|
+
}
|
|
29
|
+
if (!bt.has("default")) {
|
|
30
|
+
const o = Fn();
|
|
31
|
+
bt.set("default", {
|
|
32
|
+
resolver: (n) => n ? `${o}${n}.svg` : void 0
|
|
24
33
|
});
|
|
25
34
|
}
|
|
26
|
-
function
|
|
27
|
-
|
|
35
|
+
function Lo(o, n) {
|
|
36
|
+
bt.set(o, n), ct.get(o)?.forEach((s) => s.redraw());
|
|
28
37
|
}
|
|
29
|
-
function
|
|
30
|
-
|
|
38
|
+
function Do(o) {
|
|
39
|
+
bt.delete(o), ct.get(o)?.forEach((n) => n.redraw());
|
|
31
40
|
}
|
|
32
|
-
function
|
|
33
|
-
return
|
|
41
|
+
function Hn(o) {
|
|
42
|
+
return bt.get(o);
|
|
34
43
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
44
|
+
function Fe(o, n) {
|
|
45
|
+
ct.has(o) || ct.set(o, /* @__PURE__ */ new Set()), ct.get(o).add(n);
|
|
37
46
|
}
|
|
38
|
-
function
|
|
39
|
-
|
|
47
|
+
function He(o, n) {
|
|
48
|
+
ct.get(o)?.delete(n);
|
|
40
49
|
}
|
|
41
|
-
/*! @license DOMPurify 3.4.
|
|
42
|
-
function
|
|
43
|
-
(
|
|
44
|
-
for (var
|
|
45
|
-
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;
|
|
46
55
|
}
|
|
47
|
-
function
|
|
48
|
-
if (Array.isArray(
|
|
56
|
+
function Gn(o) {
|
|
57
|
+
if (Array.isArray(o)) return o;
|
|
49
58
|
}
|
|
50
|
-
function
|
|
51
|
-
var
|
|
52
|
-
if (
|
|
53
|
-
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;
|
|
54
63
|
try {
|
|
55
|
-
if (m = (
|
|
56
|
-
} catch (
|
|
57
|
-
|
|
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;
|
|
58
67
|
} finally {
|
|
59
68
|
try {
|
|
60
|
-
if (!
|
|
69
|
+
if (!D && s.return != null && (d = s.return(), Object(d) !== d)) return;
|
|
61
70
|
} finally {
|
|
62
|
-
if (
|
|
71
|
+
if (ut) throw l;
|
|
63
72
|
}
|
|
64
73
|
}
|
|
65
|
-
return
|
|
74
|
+
return lt;
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
|
-
function
|
|
77
|
+
function Wn() {
|
|
69
78
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
70
79
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
71
80
|
}
|
|
72
|
-
function
|
|
73
|
-
return
|
|
81
|
+
function Yn(o, n) {
|
|
82
|
+
return Gn(o) || Bn(o, n) || jn(o, n) || Wn();
|
|
74
83
|
}
|
|
75
|
-
function
|
|
76
|
-
if (
|
|
77
|
-
if (typeof
|
|
78
|
-
var
|
|
79
|
-
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;
|
|
80
89
|
}
|
|
81
90
|
}
|
|
82
|
-
const
|
|
83
|
-
let
|
|
84
|
-
|
|
85
|
-
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;
|
|
86
95
|
});
|
|
87
|
-
|
|
88
|
-
return
|
|
96
|
+
R || (R = function(n) {
|
|
97
|
+
return n;
|
|
89
98
|
});
|
|
90
|
-
|
|
91
|
-
for (var
|
|
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++)
|
|
92
101
|
l[m - 2] = arguments[m];
|
|
93
|
-
return
|
|
102
|
+
return n.apply(s, l);
|
|
94
103
|
});
|
|
95
|
-
|
|
96
|
-
for (var
|
|
97
|
-
|
|
98
|
-
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);
|
|
99
108
|
});
|
|
100
|
-
const
|
|
101
|
-
function A(
|
|
102
|
-
return function(
|
|
103
|
-
|
|
104
|
-
for (var
|
|
105
|
-
|
|
106
|
-
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);
|
|
107
116
|
};
|
|
108
117
|
}
|
|
109
|
-
function
|
|
118
|
+
function to(o) {
|
|
110
119
|
return function() {
|
|
111
|
-
for (var
|
|
112
|
-
|
|
113
|
-
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);
|
|
114
123
|
};
|
|
115
124
|
}
|
|
116
|
-
function
|
|
117
|
-
let
|
|
118
|
-
if (
|
|
119
|
-
return
|
|
120
|
-
let
|
|
121
|
-
for (;
|
|
122
|
-
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];
|
|
123
132
|
if (typeof l == "string") {
|
|
124
|
-
const m =
|
|
125
|
-
m !== l && (
|
|
133
|
+
const m = s(l);
|
|
134
|
+
m !== l && ($n(n) || (n[c] = m), l = m);
|
|
126
135
|
}
|
|
127
|
-
|
|
136
|
+
o[l] = !0;
|
|
128
137
|
}
|
|
129
|
-
return
|
|
138
|
+
return o;
|
|
130
139
|
}
|
|
131
|
-
function
|
|
132
|
-
for (let
|
|
133
|
-
|
|
134
|
-
return
|
|
140
|
+
function eo(o) {
|
|
141
|
+
for (let n = 0; n < o.length; n++)
|
|
142
|
+
b(o, n) || (o[n] = null);
|
|
143
|
+
return o;
|
|
135
144
|
}
|
|
136
|
-
function
|
|
137
|
-
const
|
|
138
|
-
for (const
|
|
139
|
-
var
|
|
140
|
-
const l =
|
|
141
|
-
|
|
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);
|
|
142
151
|
}
|
|
143
|
-
return
|
|
152
|
+
return n;
|
|
144
153
|
}
|
|
145
|
-
function
|
|
146
|
-
switch (typeof
|
|
154
|
+
function no(o) {
|
|
155
|
+
switch (typeof o) {
|
|
147
156
|
case "string":
|
|
148
|
-
return
|
|
157
|
+
return o;
|
|
149
158
|
case "number":
|
|
150
|
-
return
|
|
159
|
+
return Jn(o);
|
|
151
160
|
case "boolean":
|
|
152
|
-
return
|
|
161
|
+
return Qn(o);
|
|
153
162
|
case "bigint":
|
|
154
|
-
return
|
|
163
|
+
return $e ? $e(o) : "0";
|
|
155
164
|
case "symbol":
|
|
156
|
-
return
|
|
165
|
+
return Xe ? Xe(o) : "Symbol()";
|
|
157
166
|
case "undefined":
|
|
158
|
-
return
|
|
167
|
+
return Et(o);
|
|
159
168
|
case "function":
|
|
160
169
|
case "object": {
|
|
161
|
-
if (
|
|
162
|
-
return
|
|
163
|
-
const
|
|
164
|
-
if (typeof
|
|
165
|
-
const
|
|
166
|
-
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);
|
|
167
176
|
}
|
|
168
|
-
return
|
|
177
|
+
return Et(o);
|
|
169
178
|
}
|
|
170
179
|
default:
|
|
171
|
-
return
|
|
180
|
+
return Et(o);
|
|
172
181
|
}
|
|
173
182
|
}
|
|
174
|
-
function z(
|
|
175
|
-
for (;
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
if (
|
|
179
|
-
return A(
|
|
180
|
-
if (typeof
|
|
181
|
-
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);
|
|
182
191
|
}
|
|
183
|
-
|
|
192
|
+
o = Xn(o);
|
|
184
193
|
}
|
|
185
|
-
function
|
|
194
|
+
function s() {
|
|
186
195
|
return null;
|
|
187
196
|
}
|
|
188
|
-
return
|
|
197
|
+
return s;
|
|
189
198
|
}
|
|
190
|
-
function
|
|
199
|
+
function oo(o) {
|
|
191
200
|
try {
|
|
192
|
-
return
|
|
201
|
+
return w(o, ""), !0;
|
|
193
202
|
} catch {
|
|
194
203
|
return !1;
|
|
195
204
|
}
|
|
196
205
|
}
|
|
197
|
-
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(
|
|
198
207
|
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
199
208
|
// eslint-disable-line no-useless-escape
|
|
200
|
-
),
|
|
209
|
+
), fo = R(/^(?:\w+script|data):/i), po = R(
|
|
201
210
|
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
|
|
202
211
|
// eslint-disable-line no-control-regex
|
|
203
|
-
),
|
|
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 = {
|
|
204
213
|
element: 1,
|
|
205
214
|
attribute: 2,
|
|
206
215
|
text: 3,
|
|
@@ -209,24 +218,24 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
209
218
|
// Deprecated
|
|
210
219
|
entityNode: 6,
|
|
211
220
|
// Deprecated
|
|
212
|
-
|
|
221
|
+
processingInstruction: 7,
|
|
213
222
|
comment: 8,
|
|
214
223
|
document: 9,
|
|
215
224
|
documentType: 10,
|
|
216
225
|
documentFragment: 11,
|
|
217
226
|
notation: 12
|
|
218
227
|
// Deprecated
|
|
219
|
-
},
|
|
228
|
+
}, go = function() {
|
|
220
229
|
return typeof window > "u" ? null : window;
|
|
221
|
-
},
|
|
222
|
-
if (typeof
|
|
230
|
+
}, Eo = function(n, s) {
|
|
231
|
+
if (typeof n != "object" || typeof n.createPolicy != "function")
|
|
223
232
|
return null;
|
|
224
|
-
let
|
|
233
|
+
let c = null;
|
|
225
234
|
const l = "data-tt-policy-suffix";
|
|
226
|
-
|
|
227
|
-
const m = "dompurify" + (
|
|
235
|
+
s && s.hasAttribute(l) && (c = s.getAttribute(l));
|
|
236
|
+
const m = "dompurify" + (c ? "#" + c : "");
|
|
228
237
|
try {
|
|
229
|
-
return
|
|
238
|
+
return n.createPolicy(m, {
|
|
230
239
|
createHTML(d) {
|
|
231
240
|
return d;
|
|
232
241
|
},
|
|
@@ -237,7 +246,7 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
237
246
|
} catch {
|
|
238
247
|
return console.warn("TrustedTypes policy " + m + " could not be created."), null;
|
|
239
248
|
}
|
|
240
|
-
},
|
|
249
|
+
}, tn = function() {
|
|
241
250
|
return {
|
|
242
251
|
afterSanitizeAttributes: [],
|
|
243
252
|
afterSanitizeElements: [],
|
|
@@ -249,32 +258,53 @@ const ze = I(["a", "abbr", "acronym", "address", "area", "article", "aside", "au
|
|
|
249
258
|
uponSanitizeElement: [],
|
|
250
259
|
uponSanitizeShadowNode: []
|
|
251
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;
|
|
252
263
|
};
|
|
253
|
-
function
|
|
254
|
-
let
|
|
255
|
-
const
|
|
256
|
-
if (
|
|
257
|
-
return
|
|
258
|
-
let
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
const m =
|
|
262
|
-
|
|
263
|
-
const
|
|
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;
|
|
264
275
|
if (typeof m == "function") {
|
|
265
|
-
const
|
|
266
|
-
|
|
276
|
+
const r = s.createElement("template");
|
|
277
|
+
r.content && r.content.ownerDocument && (s = r.content.ownerDocument);
|
|
267
278
|
}
|
|
268
|
-
let
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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, {
|
|
278
308
|
tagNameCheck: {
|
|
279
309
|
writable: !0,
|
|
280
310
|
configurable: !1,
|
|
@@ -293,8 +323,8 @@ function Ye() {
|
|
|
293
323
|
enumerable: !0,
|
|
294
324
|
value: !1
|
|
295
325
|
}
|
|
296
|
-
})),
|
|
297
|
-
const G = Object.seal(
|
|
326
|
+
})), dt = null, Te = null;
|
|
327
|
+
const G = Object.seal(at(null, {
|
|
298
328
|
tagCheck: {
|
|
299
329
|
writable: !0,
|
|
300
330
|
configurable: !1,
|
|
@@ -308,135 +338,250 @@ function Ye() {
|
|
|
308
338
|
value: null
|
|
309
339
|
}
|
|
310
340
|
}));
|
|
311
|
-
let
|
|
312
|
-
const
|
|
313
|
-
let
|
|
314
|
-
const jt =
|
|
315
|
-
|
|
316
|
-
|
|
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"]);
|
|
317
383
|
let $t = null;
|
|
318
|
-
const
|
|
319
|
-
let
|
|
320
|
-
const
|
|
321
|
-
let
|
|
322
|
-
const
|
|
323
|
-
let
|
|
324
|
-
const
|
|
325
|
-
let
|
|
326
|
-
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) {
|
|
327
395
|
return t instanceof RegExp || t instanceof Function;
|
|
328
|
-
},
|
|
396
|
+
}, Zt = function() {
|
|
329
397
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
330
|
-
if (
|
|
398
|
+
if (it && it === t)
|
|
331
399
|
return;
|
|
332
|
-
(!t || typeof t != "object") && (t = {}), t =
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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) {
|
|
336
422
|
if (typeof t.TRUSTED_TYPES_POLICY.createHTML != "function")
|
|
337
|
-
throw
|
|
423
|
+
throw J('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
|
|
338
424
|
if (typeof t.TRUSTED_TYPES_POLICY.createScriptURL != "function")
|
|
339
|
-
throw
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
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,
|
|
348
445
|
tagName: "template"
|
|
349
446
|
});
|
|
350
|
-
const
|
|
351
|
-
return
|
|
352
|
-
},
|
|
353
|
-
|
|
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, {
|
|
354
451
|
element: t
|
|
355
452
|
});
|
|
356
453
|
try {
|
|
357
|
-
|
|
454
|
+
pt(t).removeChild(t);
|
|
358
455
|
} catch {
|
|
359
|
-
|
|
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");
|
|
360
458
|
}
|
|
361
|
-
},
|
|
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
|
+
});
|
|
471
|
+
}
|
|
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) {
|
|
362
483
|
try {
|
|
363
|
-
|
|
364
|
-
attribute:
|
|
365
|
-
from:
|
|
484
|
+
st(n.removed, {
|
|
485
|
+
attribute: e.getAttributeNode(t),
|
|
486
|
+
from: e
|
|
366
487
|
});
|
|
367
488
|
} catch {
|
|
368
|
-
|
|
489
|
+
st(n.removed, {
|
|
369
490
|
attribute: null,
|
|
370
|
-
from:
|
|
491
|
+
from: e
|
|
371
492
|
});
|
|
372
493
|
}
|
|
373
|
-
if (
|
|
374
|
-
if (
|
|
494
|
+
if (e.removeAttribute(t), t === "is")
|
|
495
|
+
if (et || Rt)
|
|
375
496
|
try {
|
|
376
|
-
|
|
497
|
+
W(e);
|
|
377
498
|
} catch {
|
|
378
499
|
}
|
|
379
500
|
else
|
|
380
501
|
try {
|
|
381
|
-
|
|
502
|
+
e.setAttribute(t, "");
|
|
382
503
|
} catch {
|
|
383
504
|
}
|
|
384
|
-
},
|
|
385
|
-
|
|
386
|
-
if (
|
|
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;
|
|
528
|
+
if (Bt)
|
|
387
529
|
t = "<remove></remove>" + t;
|
|
388
530
|
else {
|
|
389
|
-
const p =
|
|
390
|
-
|
|
531
|
+
const p = Ye(t, /^[\r\n\t ]+/);
|
|
532
|
+
i = p && p[0];
|
|
391
533
|
}
|
|
392
|
-
|
|
393
|
-
const
|
|
394
|
-
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)
|
|
395
537
|
try {
|
|
396
|
-
|
|
538
|
+
e = new xt().parseFromString(a, _t);
|
|
397
539
|
} catch {
|
|
398
540
|
}
|
|
399
|
-
if (!
|
|
400
|
-
|
|
541
|
+
if (!e || !e.documentElement) {
|
|
542
|
+
e = zt.createDocument(ot, "template", null);
|
|
401
543
|
try {
|
|
402
|
-
|
|
544
|
+
e.documentElement.innerHTML = Xt ? q : a;
|
|
403
545
|
} catch {
|
|
404
546
|
}
|
|
405
547
|
}
|
|
406
|
-
const
|
|
407
|
-
return t &&
|
|
408
|
-
},
|
|
409
|
-
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(
|
|
410
552
|
t.ownerDocument || t,
|
|
411
553
|
t,
|
|
412
554
|
// eslint-disable-next-line no-bitwise
|
|
413
|
-
|
|
555
|
+
D.SHOW_ELEMENT | D.SHOW_COMMENT | D.SHOW_TEXT | D.SHOW_PROCESSING_INSTRUCTION | D.SHOW_CDATA_SECTION,
|
|
414
556
|
null
|
|
415
557
|
);
|
|
416
|
-
},
|
|
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;
|
|
417
562
|
t.normalize();
|
|
418
|
-
const
|
|
563
|
+
const i = pe.call(
|
|
419
564
|
t.ownerDocument || t,
|
|
420
565
|
t,
|
|
421
566
|
// eslint-disable-next-line no-bitwise
|
|
422
|
-
|
|
567
|
+
D.SHOW_TEXT | D.SHOW_COMMENT | D.SHOW_CDATA_SECTION | D.SHOW_PROCESSING_INSTRUCTION,
|
|
423
568
|
null
|
|
424
569
|
);
|
|
425
|
-
let
|
|
426
|
-
for (;
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}
|
|
432
|
-
},
|
|
433
|
-
const
|
|
434
|
-
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
|
|
435
580
|
// prototype getter. Clobbered .attributes (e.g. <input name="attributes">)
|
|
436
581
|
// makes the direct read diverge from the cached read; a clean form
|
|
437
582
|
// (same-realm OR foreign-realm) has both reads pointing at the same
|
|
438
583
|
// canonical NamedNodeMap.
|
|
439
|
-
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
|
|
440
585
|
// returns the integer 1 for any Element regardless of realm; direct
|
|
441
586
|
// read on a clobbered form (e.g. <input name="nodeType">) returns
|
|
442
587
|
// the named child element. Cheap addition — nodeType is read from
|
|
@@ -454,16 +599,16 @@ function Ye() {
|
|
|
454
599
|
// select, etc.) regardless of whether the named child happens to
|
|
455
600
|
// carry a numeric .length, which a typeof-based probe would miss
|
|
456
601
|
// (e.g. HTMLSelectElement.length is a defined unsigned-long).
|
|
457
|
-
t.childNodes !==
|
|
458
|
-
},
|
|
602
|
+
t.childNodes !== ft(t);
|
|
603
|
+
}, rt = function(t) {
|
|
459
604
|
if (!C || typeof t != "object" || t === null)
|
|
460
605
|
return !1;
|
|
461
606
|
try {
|
|
462
|
-
return C(t) ===
|
|
607
|
+
return C(t) === k.documentFragment;
|
|
463
608
|
} catch {
|
|
464
609
|
return !1;
|
|
465
610
|
}
|
|
466
|
-
},
|
|
611
|
+
}, Tt = function(t) {
|
|
467
612
|
if (!C || typeof t != "object" || t === null)
|
|
468
613
|
return !1;
|
|
469
614
|
try {
|
|
@@ -472,275 +617,306 @@ function Ye() {
|
|
|
472
617
|
return !1;
|
|
473
618
|
}
|
|
474
619
|
};
|
|
475
|
-
function U(
|
|
476
|
-
|
|
477
|
-
|
|
620
|
+
function U(r, t, e) {
|
|
621
|
+
r.length !== 0 && yt(r, (i) => {
|
|
622
|
+
i.call(n, t, e, it);
|
|
478
623
|
});
|
|
479
624
|
}
|
|
480
|
-
const
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
if (
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
return !1;
|
|
493
|
-
if (Bt && !x[o]) {
|
|
494
|
-
const f = Et(t), p = At(t);
|
|
495
|
-
if (p && f) {
|
|
496
|
-
const D = p.length;
|
|
497
|
-
for (let k = D - 1; k >= 0; --k) {
|
|
498
|
-
const v = Xe(p[k], !0);
|
|
499
|
-
f.insertBefore(v, qe(t));
|
|
500
|
-
}
|
|
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));
|
|
501
637
|
}
|
|
502
638
|
}
|
|
503
|
-
return M(t), !0;
|
|
504
639
|
}
|
|
505
|
-
return (
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
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))
|
|
512
663
|
return !1;
|
|
513
|
-
const
|
|
514
|
-
if (!(
|
|
515
|
-
if (!(
|
|
516
|
-
if (
|
|
517
|
-
if (
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
) return !1;
|
|
525
|
-
} else if (!$t[n]) {
|
|
526
|
-
if (!b(se, it(o, ae, ""))) {
|
|
527
|
-
if (!((n === "src" || n === "xlink:href" || n === "href") && t !== "script" && Pe(o, "data:") === 0 && de[t])) {
|
|
528
|
-
if (!(ce && !b(nn, it(o, ae, "")))) {
|
|
529
|
-
if (o)
|
|
530
|
-
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
|
+
}
|
|
531
675
|
}
|
|
532
676
|
}
|
|
533
677
|
}
|
|
534
|
-
}
|
|
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;
|
|
535
686
|
}
|
|
536
687
|
}
|
|
537
688
|
return !0;
|
|
538
|
-
},
|
|
539
|
-
return !
|
|
540
|
-
},
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
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))
|
|
544
710
|
return;
|
|
545
|
-
const
|
|
711
|
+
const i = {
|
|
546
712
|
attrName: "",
|
|
547
713
|
attrValue: "",
|
|
548
714
|
keepAttr: !0,
|
|
549
|
-
allowedAttributes:
|
|
715
|
+
allowedAttributes: _,
|
|
550
716
|
forceKeepAttr: void 0
|
|
551
717
|
};
|
|
552
|
-
let
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
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);
|
|
558
725
|
continue;
|
|
559
726
|
}
|
|
560
|
-
if (v === "attributename" &&
|
|
561
|
-
|
|
727
|
+
if (v === "attributename" && Ye(I, "href")) {
|
|
728
|
+
Z(S, t);
|
|
562
729
|
continue;
|
|
563
730
|
}
|
|
564
|
-
if (
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
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);
|
|
569
745
|
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
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));
|
|
573
755
|
}
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
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);
|
|
580
766
|
continue;
|
|
581
767
|
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
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
|
+
});
|
|
598
783
|
}
|
|
599
|
-
}
|
|
600
|
-
U(E.afterSanitizeAttributes, t, null);
|
|
601
|
-
}, xt = function(t) {
|
|
602
|
-
let n = null;
|
|
603
|
-
const o = Ee(t);
|
|
604
|
-
for (U(E.beforeSanitizeShadowDOM, t, null); n = o.nextNode(); )
|
|
605
|
-
if (U(E.uponSanitizeShadowNode, n, null), be(n), we(n), pt(n.content) && xt(n.content), (C ? C(n) : n.nodeType) === F.element) {
|
|
606
|
-
const f = St ? St(n) : n.shadowRoot;
|
|
607
|
-
pt(f) && (tt(f), xt(f));
|
|
608
784
|
}
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
return;
|
|
619
|
-
const u = [];
|
|
620
|
-
et(o, (f) => {
|
|
621
|
-
nt(u, f);
|
|
622
|
-
});
|
|
623
|
-
for (const f of u)
|
|
624
|
-
tt(f);
|
|
625
|
-
if (n === F.element) {
|
|
626
|
-
const f = q ? q(t) : null;
|
|
627
|
-
if (typeof f == "string" && T(f) === "template") {
|
|
628
|
-
const p = t.content;
|
|
629
|
-
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
|
+
});
|
|
630
794
|
}
|
|
631
795
|
}
|
|
632
796
|
};
|
|
633
|
-
return
|
|
634
|
-
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
|
|
635
|
-
if (
|
|
636
|
-
throw
|
|
637
|
-
if (!
|
|
638
|
-
return
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
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;
|
|
645
818
|
}
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
tt(a);
|
|
649
|
-
} else if (vt(a))
|
|
650
|
-
n = Ae("<!---->"), o = n.ownerDocument.importNode(a, !0), o.nodeType === F.element && o.nodeName === "BODY" || o.nodeName === "HTML" ? n = o : n.appendChild(o), tt(o);
|
|
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);
|
|
651
821
|
else {
|
|
652
|
-
if (!
|
|
653
|
-
|
|
654
|
-
return
|
|
655
|
-
if (
|
|
656
|
-
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 : "";
|
|
657
827
|
}
|
|
658
|
-
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
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;
|
|
835
|
+
}
|
|
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);
|
|
668
844
|
else
|
|
669
|
-
|
|
670
|
-
return (
|
|
845
|
+
u = e;
|
|
846
|
+
return (_.shadowroot || _.shadowrootmode) && (u = fn.call(c, u, !0)), u;
|
|
671
847
|
}
|
|
672
|
-
let
|
|
673
|
-
return
|
|
674
|
-
` +
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
},
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
},
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
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]);
|
|
692
869
|
}
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
}, e;
|
|
870
|
+
}, n.removeHooks = function(r) {
|
|
871
|
+
b(g, r) && (g[r] = []);
|
|
872
|
+
}, n.removeAllHooks = function() {
|
|
873
|
+
g = tn();
|
|
874
|
+
}, n;
|
|
699
875
|
}
|
|
700
|
-
var
|
|
701
|
-
const
|
|
702
|
-
async function
|
|
703
|
-
const
|
|
704
|
-
if (!
|
|
705
|
-
throw new Error(`Failed to load icon: ${
|
|
706
|
-
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, {
|
|
707
883
|
USE_PROFILES: { svg: !0, svgFilters: !0 },
|
|
708
884
|
FORBID_TAGS: ["script", "use"],
|
|
709
885
|
// <use> can SSRF to external hrefs
|
|
710
886
|
FORBID_ATTR: ["onload", "onerror", "onbegin", "href", "xlink:href"]
|
|
711
|
-
}), d = new DOMParser().parseFromString(
|
|
887
|
+
}), d = new DOMParser().parseFromString(c, "image/svg+xml").documentElement;
|
|
712
888
|
if (!(d instanceof SVGElement))
|
|
713
|
-
throw new Error(`Invalid SVG from ${
|
|
889
|
+
throw new Error(`Invalid SVG from ${o}`);
|
|
714
890
|
return d;
|
|
715
891
|
}
|
|
716
|
-
async function
|
|
717
|
-
return
|
|
892
|
+
async function bo(o) {
|
|
893
|
+
return St.has(o) || St.set(o, So(o)), (await St.get(o)).cloneNode(!0);
|
|
718
894
|
}
|
|
719
|
-
function
|
|
720
|
-
|
|
895
|
+
function Co(o) {
|
|
896
|
+
o ? St.delete(o) : St.clear();
|
|
721
897
|
}
|
|
722
|
-
const
|
|
723
|
-
var
|
|
724
|
-
for (var l = void 0, m =
|
|
725
|
-
(d =
|
|
726
|
-
return l &&
|
|
727
|
-
},
|
|
728
|
-
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 {
|
|
729
905
|
constructor() {
|
|
730
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;
|
|
731
907
|
}
|
|
732
908
|
/** Resolves when the current icon load (if any) is complete. */
|
|
733
909
|
get updateComplete() {
|
|
734
910
|
return (async () => {
|
|
735
|
-
const
|
|
736
|
-
return await this._loadPromise,
|
|
911
|
+
const n = await super.updateComplete;
|
|
912
|
+
return await this._loadPromise, n;
|
|
737
913
|
})();
|
|
738
914
|
}
|
|
739
915
|
connectedCallback() {
|
|
740
|
-
super.connectedCallback(),
|
|
916
|
+
super.connectedCallback(), Fe(this.library, this);
|
|
741
917
|
}
|
|
742
918
|
disconnectedCallback() {
|
|
743
|
-
super.disconnectedCallback(),
|
|
919
|
+
super.disconnectedCallback(), He(this.library, this);
|
|
744
920
|
}
|
|
745
921
|
/** Called by the icon library registry when the current library changes. */
|
|
746
922
|
redraw() {
|
|
@@ -756,79 +932,79 @@ const H = (B = class extends mn {
|
|
|
756
932
|
firstUpdated() {
|
|
757
933
|
this._loadIcon();
|
|
758
934
|
}
|
|
759
|
-
updated(
|
|
760
|
-
if (
|
|
935
|
+
updated(n) {
|
|
936
|
+
if (n.has("name") && !$._validName.test(this.name)) {
|
|
761
937
|
console.warn(`nys-icon: invalid name "${this.name}" — ignored`), this._svg = null;
|
|
762
938
|
return;
|
|
763
939
|
}
|
|
764
|
-
if (
|
|
765
|
-
if (
|
|
766
|
-
const
|
|
767
|
-
|
|
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);
|
|
768
944
|
}
|
|
769
945
|
this._loadIcon();
|
|
770
946
|
}
|
|
771
|
-
this._svg && (
|
|
947
|
+
this._svg && (n.has("ariaLabel") || n.has("rotate") || n.has("flip") || n.has("color") || n.has("size")) && this._applyAttributes(this._svg);
|
|
772
948
|
}
|
|
773
949
|
_loadIcon() {
|
|
774
|
-
const
|
|
950
|
+
const n = ++this._loadSeq;
|
|
775
951
|
this._loadPromise = (async () => {
|
|
776
|
-
const
|
|
777
|
-
if (!
|
|
952
|
+
const s = Hn(this.library);
|
|
953
|
+
if (!s || !this.name) {
|
|
778
954
|
this._svg = null;
|
|
779
955
|
return;
|
|
780
956
|
}
|
|
781
|
-
const
|
|
782
|
-
if (!
|
|
957
|
+
const c = s.resolver(this.name);
|
|
958
|
+
if (!c) {
|
|
783
959
|
this._svg = null;
|
|
784
960
|
return;
|
|
785
961
|
}
|
|
786
962
|
try {
|
|
787
|
-
const l = await
|
|
788
|
-
if (
|
|
789
|
-
|
|
963
|
+
const l = await bo(c);
|
|
964
|
+
if (n !== this._loadSeq) return;
|
|
965
|
+
s.mutator?.(l), this._applyAttributes(l), this._svg = l;
|
|
790
966
|
} catch {
|
|
791
|
-
|
|
967
|
+
n === this._loadSeq && (this._svg = null);
|
|
792
968
|
}
|
|
793
969
|
})();
|
|
794
970
|
}
|
|
795
|
-
_applyAttributes(
|
|
796
|
-
|
|
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}`);
|
|
797
973
|
}
|
|
798
974
|
render() {
|
|
799
|
-
return this._svg ?
|
|
975
|
+
return this._svg ? zn`${this._svg}` : null;
|
|
800
976
|
}
|
|
801
|
-
},
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
],
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
],
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
],
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
],
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
],
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
],
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
],
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
],
|
|
826
|
-
let
|
|
827
|
-
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);
|
|
828
1004
|
export {
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
1005
|
+
Ro as NysIcon,
|
|
1006
|
+
Co as clearIconCache,
|
|
1007
|
+
Lo as registerIconLibrary,
|
|
1008
|
+
Do as unregisterIconLibrary
|
|
833
1009
|
};
|
|
834
1010
|
//# sourceMappingURL=nys-icon.js.map
|