@watergis/maplibre-gl-export
Version:
This module adds control which can export PDF and images.
551 lines (550 loc) • 25.3 kB
JavaScript
//#region ../../node_modules/.pnpm/dompurify@3.3.3/node_modules/dompurify/dist/purify.es.mjs
var { entries: e, setPrototypeOf: t, isFrozen: n, getPrototypeOf: r, getOwnPropertyDescriptor: i } = Object, { freeze: a, seal: o, create: s } = Object, { apply: c, construct: l } = typeof Reflect < "u" && Reflect;
a ||= function(e) {
return e;
}, o ||= function(e) {
return e;
}, c ||= function(e, t) {
var n = [...arguments].slice(2);
return e.apply(t, n);
}, l ||= function(e) {
return new e(...[...arguments].slice(1));
};
var u = v(Array.prototype.forEach), d = v(Array.prototype.lastIndexOf), ee = v(Array.prototype.pop), f = v(Array.prototype.push), te = v(Array.prototype.splice), p = v(String.prototype.toLowerCase), ne = v(String.prototype.toString), re = v(String.prototype.match), m = v(String.prototype.replace), ie = v(String.prototype.indexOf), ae = v(String.prototype.trim), h = v(Object.prototype.hasOwnProperty), g = v(RegExp.prototype.test), _ = oe(TypeError);
function v(e) {
return function(t) {
t instanceof RegExp && (t.lastIndex = 0);
var n = [...arguments].slice(1);
return c(e, t, n);
};
}
function oe(e) {
return function() {
return l(e, [...arguments]);
};
}
function y(e, r) {
let i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : p;
t && t(e, null);
let a = r.length;
for (; a--;) {
let t = r[a];
if (typeof t == "string") {
let e = i(t);
e !== t && (n(r) || (r[a] = e), t = e);
}
e[t] = !0;
}
return e;
}
function b(e) {
for (let t = 0; t < e.length; t++) h(e, t) || (e[t] = null);
return e;
}
function x(t) {
let n = s(null);
for (let [r, i] of e(t)) h(t, r) && (Array.isArray(i) ? n[r] = b(i) : i && typeof i == "object" && i.constructor === Object ? n[r] = x(i) : n[r] = i);
return n;
}
function S(e, t) {
for (; e !== null;) {
let n = i(e, t);
if (n) {
if (n.get) return v(n.get);
if (typeof n.value == "function") return v(n.value);
}
e = r(e);
}
function n() {
return null;
}
return n;
}
var se = a(/* @__PURE__ */ "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".split(".")), ce = a(/* @__PURE__ */ "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".split(".")), le = a([
"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"
]), ue = a([
"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"
]), de = a(/* @__PURE__ */ "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".split(".")), fe = a([
"maction",
"maligngroup",
"malignmark",
"mlongdiv",
"mscarries",
"mscarry",
"msgroup",
"mstack",
"msline",
"msrow",
"semantics",
"annotation",
"annotation-xml",
"mprescripts",
"none"
]), pe = a(["#text"]), me = a(/* @__PURE__ */ "accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.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.slot".split(".")), he = a(/* @__PURE__ */ "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".split(".")), ge = a(/* @__PURE__ */ "accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns".split(".")), _e = a([
"xlink:href",
"xml:id",
"xlink:title",
"xml:space",
"xmlns:xlink"
]), ve = o(/\{\{[\w\W]*|[\w\W]*\}\}/gm), ye = o(/<%[\w\W]*|[\w\W]*%>/gm), be = o(/\$\{[\w\W]*/gm), C = o(/^data-[\-\w.\u00B7-\uFFFF]+$/), w = o(/^aria-[\-\w]+$/), xe = o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), Se = o(/^(?:\w+script|data):/i), Ce = o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), we = o(/^html$/i), Te = o(/^[a-z][.\w]*(-[.\w]+)+$/i), Ee = /* @__PURE__ */ Object.freeze({
__proto__: null,
ARIA_ATTR: w,
ATTR_WHITESPACE: Ce,
CUSTOM_ELEMENT: Te,
DATA_ATTR: C,
DOCTYPE_NAME: we,
ERB_EXPR: ye,
IS_ALLOWED_URI: xe,
IS_SCRIPT_OR_DATA: Se,
MUSTACHE_EXPR: ve,
TMPLIT_EXPR: be
}), T = {
element: 1,
attribute: 2,
text: 3,
cdataSection: 4,
entityReference: 5,
entityNode: 6,
progressingInstruction: 7,
comment: 8,
document: 9,
documentType: 10,
documentFragment: 11,
notation: 12
}, De = function() {
return typeof window > "u" ? null : window;
}, Oe = function(e, t) {
if (typeof e != "object" || typeof e.createPolicy != "function") return null;
let n = null, r = "data-tt-policy-suffix";
t && t.hasAttribute(r) && (n = t.getAttribute(r));
let i = "dompurify" + (n ? "#" + n : "");
try {
return e.createPolicy(i, {
createHTML(e) {
return e;
},
createScriptURL(e) {
return e;
}
});
} catch {
return console.warn("TrustedTypes policy " + i + " could not be created."), null;
}
}, ke = function() {
return {
afterSanitizeAttributes: [],
afterSanitizeElements: [],
afterSanitizeShadowDOM: [],
beforeSanitizeAttributes: [],
beforeSanitizeElements: [],
beforeSanitizeShadowDOM: [],
uponSanitizeAttribute: [],
uponSanitizeElement: [],
uponSanitizeShadowNode: []
};
};
function Ae() {
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : De(), n = (e) => Ae(e);
if (n.version = "3.3.3", n.removed = [], !t || !t.document || t.document.nodeType !== T.document || !t.Element) return n.isSupported = !1, n;
let { document: r } = t, i = r, o = i.currentScript, { DocumentFragment: c, HTMLTemplateElement: l, Node: v, Element: oe, NodeFilter: b, NamedNodeMap: ve = t.NamedNodeMap || t.MozNamedAttrMap, HTMLFormElement: ye, DOMParser: be, trustedTypes: C } = t, w = oe.prototype, Se = S(w, "cloneNode"), Ce = S(w, "remove"), Te = S(w, "nextSibling"), je = S(w, "childNodes"), E = S(w, "parentNode");
if (typeof l == "function") {
let e = r.createElement("template");
e.content && e.content.ownerDocument && (r = e.content.ownerDocument);
}
let D, O = "", { implementation: Me, createNodeIterator: Ne, createDocumentFragment: Pe, getElementsByTagName: Fe } = r, { importNode: Ie } = i, k = ke();
n.isSupported = typeof e == "function" && typeof E == "function" && Me && Me.createHTMLDocument !== void 0;
let { MUSTACHE_EXPR: Le, ERB_EXPR: Re, TMPLIT_EXPR: ze, DATA_ATTR: Be, ARIA_ATTR: Ve, IS_SCRIPT_OR_DATA: He, ATTR_WHITESPACE: Ue, CUSTOM_ELEMENT: We } = Ee, { IS_ALLOWED_URI: Ge } = Ee, A = null, Ke = y({}, [
...se,
...ce,
...le,
...de,
...pe
]), j = null, qe = y({}, [
...me,
...he,
...ge,
..._e
]), M = Object.seal(s(null, {
tagNameCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
},
attributeNameCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
},
allowCustomizedBuiltInElements: {
writable: !0,
configurable: !1,
enumerable: !0,
value: !1
}
})), N = null, Je = null, P = Object.seal(s(null, {
tagCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
},
attributeCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
}
})), Ye = !0, Xe = !0, Ze = !1, Qe = !0, F = !1, I = !0, L = !1, $e = !1, et = !1, R = !1, z = !1, B = !1, tt = !0, nt = !1, rt = !0, V = !1, H = {}, U = null, it = y({}, [
"annotation-xml",
"audio",
"colgroup",
"desc",
"foreignobject",
"head",
"iframe",
"math",
"mi",
"mn",
"mo",
"ms",
"mtext",
"noembed",
"noframes",
"noscript",
"plaintext",
"script",
"style",
"svg",
"template",
"thead",
"title",
"video",
"xmp"
]), at = null, ot = y({}, [
"audio",
"video",
"img",
"source",
"image",
"track"
]), st = null, ct = y({}, [
"alt",
"class",
"for",
"id",
"label",
"name",
"pattern",
"placeholder",
"role",
"summary",
"title",
"value",
"style",
"xmlns"
]), W = "http://www.w3.org/1998/Math/MathML", G = "http://www.w3.org/2000/svg", K = "http://www.w3.org/1999/xhtml", q = K, lt = !1, ut = null, dt = y({}, [
W,
G,
K
], ne), ft = y({}, [
"mi",
"mo",
"mn",
"ms",
"mtext"
]), pt = y({}, ["annotation-xml"]), mt = y({}, [
"title",
"style",
"font",
"a",
"script"
]), J = null, ht = ["application/xhtml+xml", "text/html"], Y = null, X = null, gt = r.createElement("form"), _t = function(e) {
return e instanceof RegExp || e instanceof Function;
}, vt = function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
if (!(X && X === e)) {
if ((!e || typeof e != "object") && (e = {}), e = x(e), J = ht.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Y = J === "application/xhtml+xml" ? ne : p, A = h(e, "ALLOWED_TAGS") ? y({}, e.ALLOWED_TAGS, Y) : Ke, j = h(e, "ALLOWED_ATTR") ? y({}, e.ALLOWED_ATTR, Y) : qe, ut = h(e, "ALLOWED_NAMESPACES") ? y({}, e.ALLOWED_NAMESPACES, ne) : dt, st = h(e, "ADD_URI_SAFE_ATTR") ? y(x(ct), e.ADD_URI_SAFE_ATTR, Y) : ct, at = h(e, "ADD_DATA_URI_TAGS") ? y(x(ot), e.ADD_DATA_URI_TAGS, Y) : ot, U = h(e, "FORBID_CONTENTS") ? y({}, e.FORBID_CONTENTS, Y) : it, N = h(e, "FORBID_TAGS") ? y({}, e.FORBID_TAGS, Y) : x({}), Je = h(e, "FORBID_ATTR") ? y({}, e.FORBID_ATTR, Y) : x({}), H = h(e, "USE_PROFILES") ? e.USE_PROFILES : !1, Ye = e.ALLOW_ARIA_ATTR !== !1, Xe = e.ALLOW_DATA_ATTR !== !1, Ze = e.ALLOW_UNKNOWN_PROTOCOLS || !1, Qe = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, F = e.SAFE_FOR_TEMPLATES || !1, I = e.SAFE_FOR_XML !== !1, L = e.WHOLE_DOCUMENT || !1, R = e.RETURN_DOM || !1, z = e.RETURN_DOM_FRAGMENT || !1, B = e.RETURN_TRUSTED_TYPE || !1, et = e.FORCE_BODY || !1, tt = e.SANITIZE_DOM !== !1, nt = e.SANITIZE_NAMED_PROPS || !1, rt = e.KEEP_CONTENT !== !1, V = e.IN_PLACE || !1, Ge = e.ALLOWED_URI_REGEXP || xe, q = e.NAMESPACE || K, ft = e.MATHML_TEXT_INTEGRATION_POINTS || ft, pt = e.HTML_INTEGRATION_POINTS || pt, M = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && _t(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (M.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && _t(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (M.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (M.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), F && (Xe = !1), z && (R = !0), H && (A = y({}, pe), j = s(null), H.html === !0 && (y(A, se), y(j, me)), H.svg === !0 && (y(A, ce), y(j, he), y(j, _e)), H.svgFilters === !0 && (y(A, le), y(j, he), y(j, _e)), H.mathMl === !0 && (y(A, de), y(j, ge), y(j, _e))), h(e, "ADD_TAGS") || (P.tagCheck = null), h(e, "ADD_ATTR") || (P.attributeCheck = null), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? P.tagCheck = e.ADD_TAGS : (A === Ke && (A = x(A)), y(A, e.ADD_TAGS, Y))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? P.attributeCheck = e.ADD_ATTR : (j === qe && (j = x(j)), y(j, e.ADD_ATTR, Y))), e.ADD_URI_SAFE_ATTR && y(st, e.ADD_URI_SAFE_ATTR, Y), e.FORBID_CONTENTS && (U === it && (U = x(U)), y(U, e.FORBID_CONTENTS, Y)), e.ADD_FORBID_CONTENTS && (U === it && (U = x(U)), y(U, e.ADD_FORBID_CONTENTS, Y)), rt && (A["#text"] = !0), L && y(A, [
"html",
"head",
"body"
]), A.table && (y(A, ["tbody"]), delete N.tbody), e.TRUSTED_TYPES_POLICY) {
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw _("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw _("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
D = e.TRUSTED_TYPES_POLICY, O = D.createHTML("");
} else D === void 0 && (D = Oe(C, o)), D !== null && typeof O == "string" && (O = D.createHTML(""));
a && a(e), X = e;
}
}, yt = y({}, [
...ce,
...le,
...ue
]), bt = y({}, [...de, ...fe]), xt = function(e) {
let t = E(e);
(!t || !t.tagName) && (t = {
namespaceURI: q,
tagName: "template"
});
let n = p(e.tagName), r = p(t.tagName);
return ut[e.namespaceURI] ? e.namespaceURI === G ? t.namespaceURI === K ? n === "svg" : t.namespaceURI === W ? n === "svg" && (r === "annotation-xml" || ft[r]) : !!yt[n] : e.namespaceURI === W ? t.namespaceURI === K ? n === "math" : t.namespaceURI === G ? n === "math" && pt[r] : !!bt[n] : e.namespaceURI === K ? t.namespaceURI === G && !pt[r] || t.namespaceURI === W && !ft[r] ? !1 : !bt[n] && (mt[n] || !yt[n]) : !!(J === "application/xhtml+xml" && ut[e.namespaceURI]) : !1;
}, Z = function(e) {
f(n.removed, { element: e });
try {
E(e).removeChild(e);
} catch {
Ce(e);
}
}, Q = function(e, t) {
try {
f(n.removed, {
attribute: t.getAttributeNode(e),
from: t
});
} catch {
f(n.removed, {
attribute: null,
from: t
});
}
if (t.removeAttribute(e), e === "is") if (R || z) try {
Z(t);
} catch {}
else try {
t.setAttribute(e, "");
} catch {}
}, St = function(e) {
let t = null, n = null;
if (et) e = "<remove></remove>" + e;
else {
let t = re(e, /^[\r\n\t ]+/);
n = t && t[0];
}
J === "application/xhtml+xml" && q === K && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
let i = D ? D.createHTML(e) : e;
if (q === K) try {
t = new be().parseFromString(i, J);
} catch {}
if (!t || !t.documentElement) {
t = Me.createDocument(q, "template", null);
try {
t.documentElement.innerHTML = lt ? O : i;
} catch {}
}
let a = t.body || t.documentElement;
return e && n && a.insertBefore(r.createTextNode(n), a.childNodes[0] || null), q === K ? Fe.call(t, L ? "html" : "body")[0] : L ? t.documentElement : a;
}, Ct = function(e) {
return Ne.call(e.ownerDocument || e, e, b.SHOW_ELEMENT | b.SHOW_COMMENT | b.SHOW_TEXT | b.SHOW_PROCESSING_INSTRUCTION | b.SHOW_CDATA_SECTION, null);
}, wt = function(e) {
return e instanceof ye && (typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || !(e.attributes instanceof ve) || typeof e.removeAttribute != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function");
}, Tt = function(e) {
return typeof v == "function" && e instanceof v;
};
function $(e, t, r) {
u(e, (e) => {
e.call(n, t, r, X);
});
}
let Et = function(e) {
let t = null;
if ($(k.beforeSanitizeElements, e, null), wt(e)) return Z(e), !0;
let r = Y(e.nodeName);
if ($(k.uponSanitizeElement, e, {
tagName: r,
allowedTags: A
}), I && e.hasChildNodes() && !Tt(e.firstElementChild) && g(/<[/\w!]/g, e.innerHTML) && g(/<[/\w!]/g, e.textContent) || e.nodeType === T.progressingInstruction || I && e.nodeType === T.comment && g(/<[/\w]/g, e.data)) return Z(e), !0;
if (!(P.tagCheck instanceof Function && P.tagCheck(r)) && (!A[r] || N[r])) {
if (!N[r] && Ot(r) && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, r) || M.tagNameCheck instanceof Function && M.tagNameCheck(r))) return !1;
if (rt && !U[r]) {
let t = E(e) || e.parentNode, n = je(e) || e.childNodes;
if (n && t) {
let r = n.length;
for (let i = r - 1; i >= 0; --i) {
let r = Se(n[i], !0);
r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, Te(e));
}
}
}
return Z(e), !0;
}
return e instanceof oe && !xt(e) || (r === "noscript" || r === "noembed" || r === "noframes") && g(/<\/no(script|embed|frames)/i, e.innerHTML) ? (Z(e), !0) : (F && e.nodeType === T.text && (t = e.textContent, u([
Le,
Re,
ze
], (e) => {
t = m(t, e, " ");
}), e.textContent !== t && (f(n.removed, { element: e.cloneNode() }), e.textContent = t)), $(k.afterSanitizeElements, e, null), !1);
}, Dt = function(e, t, n) {
if (Je[t] || tt && (t === "id" || t === "name") && (n in r || n in gt)) return !1;
if (!(Xe && !Je[t] && g(Be, t)) && !(Ye && g(Ve, t)) && !(P.attributeCheck instanceof Function && P.attributeCheck(t, e))) {
if (!j[t] || Je[t]) {
if (!(Ot(e) && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, e) || M.tagNameCheck instanceof Function && M.tagNameCheck(e)) && (M.attributeNameCheck instanceof RegExp && g(M.attributeNameCheck, t) || M.attributeNameCheck instanceof Function && M.attributeNameCheck(t, e)) || t === "is" && M.allowCustomizedBuiltInElements && (M.tagNameCheck instanceof RegExp && g(M.tagNameCheck, n) || M.tagNameCheck instanceof Function && M.tagNameCheck(n)))) return !1;
} else if (!st[t] && !g(Ge, m(n, Ue, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && ie(n, "data:") === 0 && at[e]) && !(Ze && !g(He, m(n, Ue, ""))) && n) return !1;
}
return !0;
}, Ot = function(e) {
return e !== "annotation-xml" && re(e, We);
}, kt = function(e) {
$(k.beforeSanitizeAttributes, e, null);
let { attributes: t } = e;
if (!t || wt(e)) return;
let r = {
attrName: "",
attrValue: "",
keepAttr: !0,
allowedAttributes: j,
forceKeepAttr: void 0
}, i = t.length;
for (; i--;) {
let { name: a, namespaceURI: o, value: s } = t[i], c = Y(a), l = s, d = a === "value" ? l : ae(l);
if (r.attrName = c, r.attrValue = d, r.keepAttr = !0, r.forceKeepAttr = void 0, $(k.uponSanitizeAttribute, e, r), d = r.attrValue, nt && (c === "id" || c === "name") && (Q(a, e), d = "user-content-" + d), I && g(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, d)) {
Q(a, e);
continue;
}
if (c === "attributename" && re(d, "href")) {
Q(a, e);
continue;
}
if (r.forceKeepAttr) continue;
if (!r.keepAttr) {
Q(a, e);
continue;
}
if (!Qe && g(/\/>/i, d)) {
Q(a, e);
continue;
}
F && u([
Le,
Re,
ze
], (e) => {
d = m(d, e, " ");
});
let f = Y(e.nodeName);
if (!Dt(f, c, d)) {
Q(a, e);
continue;
}
if (D && typeof C == "object" && typeof C.getAttributeType == "function" && !o) switch (C.getAttributeType(f, c)) {
case "TrustedHTML":
d = D.createHTML(d);
break;
case "TrustedScriptURL":
d = D.createScriptURL(d);
break;
}
if (d !== l) try {
o ? e.setAttributeNS(o, a, d) : e.setAttribute(a, d), wt(e) ? Z(e) : ee(n.removed);
} catch {
Q(a, e);
}
}
$(k.afterSanitizeAttributes, e, null);
}, At = function e(t) {
let n = null, r = Ct(t);
for ($(k.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) $(k.uponSanitizeShadowNode, n, null), Et(n), kt(n), n.content instanceof c && e(n.content);
$(k.afterSanitizeShadowDOM, t, null);
};
return n.sanitize = function(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = null, a = null, o = null, s = null;
if (lt = !e, lt && (e = "<!-->"), typeof e != "string" && !Tt(e)) if (typeof e.toString == "function") {
if (e = e.toString(), typeof e != "string") throw _("dirty is not a string, aborting");
} else throw _("toString is not a function");
if (!n.isSupported) return e;
if ($e || vt(t), n.removed = [], typeof e == "string" && (V = !1), V) {
if (e.nodeName) {
let t = Y(e.nodeName);
if (!A[t] || N[t]) throw _("root node is forbidden and cannot be sanitized in-place");
}
} else if (e instanceof v) r = St("<!---->"), a = r.ownerDocument.importNode(e, !0), a.nodeType === T.element && a.nodeName === "BODY" || a.nodeName === "HTML" ? r = a : r.appendChild(a);
else {
if (!R && !F && !L && e.indexOf("<") === -1) return D && B ? D.createHTML(e) : e;
if (r = St(e), !r) return R ? null : B ? O : "";
}
r && et && Z(r.firstChild);
let l = Ct(V ? e : r);
for (; o = l.nextNode();) Et(o), kt(o), o.content instanceof c && At(o.content);
if (V) return e;
if (R) {
if (z) for (s = Pe.call(r.ownerDocument); r.firstChild;) s.appendChild(r.firstChild);
else s = r;
return (j.shadowroot || j.shadowrootmode) && (s = Ie.call(i, s, !0)), s;
}
let d = L ? r.outerHTML : r.innerHTML;
return L && A["!doctype"] && r.ownerDocument && r.ownerDocument.doctype && r.ownerDocument.doctype.name && g(we, r.ownerDocument.doctype.name) && (d = "<!DOCTYPE " + r.ownerDocument.doctype.name + ">\n" + d), F && u([
Le,
Re,
ze
], (e) => {
d = m(d, e, " ");
}), D && B ? D.createHTML(d) : d;
}, n.setConfig = function() {
vt(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), $e = !0;
}, n.clearConfig = function() {
X = null, $e = !1;
}, n.isValidAttribute = function(e, t, n) {
return X || vt({}), Dt(Y(e), Y(t), n);
}, n.addHook = function(e, t) {
typeof t == "function" && f(k[e], t);
}, n.removeHook = function(e, t) {
if (t !== void 0) {
let n = d(k[e], t);
return n === -1 ? void 0 : te(k[e], n, 1)[0];
}
return ee(k[e]);
}, n.removeHooks = function(e) {
k[e] = [];
}, n.removeAllHooks = function() {
k = ke();
}, n;
}
var je = Ae();
//#endregion
export { je as default };
//# sourceMappingURL=purify.es-DVGU85zV.js.map