wrec 0.18.5 → 0.18.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/wrec.es.js CHANGED
@@ -29,7 +29,7 @@ Kt || (Kt = function(t) {
29
29
  o[i - 1] = arguments[i];
30
30
  return new t(...o);
31
31
  });
32
- const gt = M(Array.prototype.forEach), hn = M(Array.prototype.lastIndexOf), Ce = M(Array.prototype.pop), nt = M(Array.prototype.push), dn = M(Array.prototype.splice), bt = M(String.prototype.toLowerCase), Ut = M(String.prototype.toString), Ht = M(String.prototype.match), ot = M(String.prototype.replace), Tn = M(String.prototype.indexOf), En = M(String.prototype.trim), P = M(Object.prototype.hasOwnProperty), O = M(RegExp.prototype.test), it = gn(TypeError);
32
+ const Et = M(Array.prototype.forEach), hn = M(Array.prototype.lastIndexOf), Ce = M(Array.prototype.pop), nt = M(Array.prototype.push), dn = M(Array.prototype.splice), _t = M(String.prototype.toLowerCase), Ut = M(String.prototype.toString), Ht = M(String.prototype.match), ot = M(String.prototype.replace), Tn = M(String.prototype.indexOf), En = M(String.prototype.trim), P = M(Object.prototype.hasOwnProperty), O = M(RegExp.prototype.test), it = gn(TypeError);
33
33
  function M(s) {
34
34
  return function(t) {
35
35
  t instanceof RegExp && (t.lastIndex = 0);
@@ -46,7 +46,7 @@ function gn(s) {
46
46
  };
47
47
  }
48
48
  function m(s, t) {
49
- let e = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : bt;
49
+ let e = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _t;
50
50
  Re && Re(s, null);
51
51
  let o = t.length;
52
52
  for (; o--; ) {
@@ -86,7 +86,7 @@ function st(s, t) {
86
86
  }
87
87
  return e;
88
88
  }
89
- const Ne = L(["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"]), zt = L(["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"]), $t = L(["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"]), _n = L(["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"]), Gt = L(["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"]), bn = L(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Oe = L(["#text"]), Le = L(["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"]), Bt = L(["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"]), Me = L(["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"]), At = L(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), Sn = I(/\{\{[\w\W]*|[\w\W]*\}\}/gm), yn = I(/<%[\w\W]*|[\w\W]*%>/gm), Rn = I(/\$\{[\w\W]*/gm), Cn = I(/^data-[\-\w.\u00B7-\uFFFF]+$/), Nn = I(/^aria-[\-\w]+$/), xe = I(
89
+ const Ne = L(["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"]), zt = L(["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"]), Gt = L(["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"]), _n = L(["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"]), $t = L(["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"]), bn = L(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Oe = L(["#text"]), Le = L(["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"]), Bt = L(["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"]), Me = L(["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"]), gt = L(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), Sn = I(/\{\{[\w\W]*|[\w\W]*\}\}/gm), yn = I(/<%[\w\W]*|[\w\W]*%>/gm), Rn = I(/\$\{[\w\W]*/gm), Cn = I(/^data-[\-\w.\u00B7-\uFFFF]+$/), Nn = I(/^aria-[\-\w]+$/), xe = I(
90
90
  /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
91
91
  // eslint-disable-line no-useless-escape
92
92
  ), On = I(/^(?:\w+script|data):/i), Ln = I(
@@ -163,9 +163,9 @@ function ke() {
163
163
  NodeFilter: p,
164
164
  NamedNodeMap: d = s.NamedNodeMap || s.MozNamedAttrMap,
165
165
  HTMLFormElement: y,
166
- DOMParser: $,
166
+ DOMParser: G,
167
167
  trustedTypes: F
168
- } = s, G = u.prototype, We = st(G, "cloneNode"), je = st(G, "remove"), Ye = st(G, "nextSibling"), Ve = st(G, "childNodes"), ft = st(G, "parentNode");
168
+ } = s, $ = u.prototype, We = st($, "cloneNode"), je = st($, "remove"), Ye = st($, "nextSibling"), Ve = st($, "childNodes"), lt = st($, "parentNode");
169
169
  if (typeof c == "function") {
170
170
  const f = e.createElement("template");
171
171
  f.content && f.content.ownerDocument && (e = f.content.ownerDocument);
@@ -180,7 +180,7 @@ function ke() {
180
180
  importNode: Ze
181
181
  } = o;
182
182
  let N = De();
183
- t.isSupported = typeof Pe == "function" && typeof ft == "function" && St && St.createHTMLDocument !== void 0;
183
+ t.isSupported = typeof Pe == "function" && typeof lt == "function" && St && St.createHTMLDocument !== void 0;
184
184
  const {
185
185
  MUSTACHE_EXPR: yt,
186
186
  ERB_EXPR: Rt,
@@ -194,9 +194,9 @@ function ke() {
194
194
  let {
195
195
  IS_ALLOWED_URI: ee
196
196
  } = we, _ = null;
197
- const ne = m({}, [...Ne, ...zt, ...$t, ...Gt, ...Oe]);
197
+ const ne = m({}, [...Ne, ...zt, ...Gt, ...$t, ...Oe]);
198
198
  let b = null;
199
- const oe = m({}, [...Le, ...Bt, ...Me, ...At]);
199
+ const oe = m({}, [...Le, ...Bt, ...Me, ...gt]);
200
200
  let E = Object.seal(Xt(null, {
201
201
  tagNameCheck: {
202
202
  writable: !0,
@@ -231,17 +231,17 @@ function ke() {
231
231
  value: null
232
232
  }
233
233
  }));
234
- let ie = !0, Ot = !0, se = !1, re = !0, Y = !1, ut = !0, B = !1, Lt = !1, Mt = !1, V = !1, pt = !1, mt = !1, ae = !0, ce = !1;
234
+ let ie = !0, Ot = !0, se = !1, re = !0, Y = !1, ft = !0, B = !1, Lt = !1, Mt = !1, V = !1, ut = !1, pt = !1, ae = !0, ce = !1;
235
235
  const nn = "user-content-";
236
236
  let wt = !0, tt = !1, X = {}, x = null;
237
237
  const Dt = m({}, ["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"]);
238
238
  let le = null;
239
239
  const fe = m({}, ["audio", "video", "img", "source", "image", "track"]);
240
240
  let It = null;
241
- const ue = m({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), ht = "http://www.w3.org/1998/Math/MathML", dt = "http://www.w3.org/2000/svg", U = "http://www.w3.org/1999/xhtml";
241
+ const ue = m({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), mt = "http://www.w3.org/1998/Math/MathML", ht = "http://www.w3.org/2000/svg", U = "http://www.w3.org/1999/xhtml";
242
242
  let q = U, Pt = !1, xt = null;
243
- const on = m({}, [ht, dt, U], Ut);
244
- let Tt = m({}, ["mi", "mo", "mn", "ms", "mtext"]), Et = m({}, ["annotation-xml"]);
243
+ const on = m({}, [mt, ht, U], Ut);
244
+ let dt = m({}, ["mi", "mo", "mn", "ms", "mtext"]), Tt = m({}, ["annotation-xml"]);
245
245
  const sn = m({}, ["title", "style", "font", "a", "script"]);
246
246
  let et = null;
247
247
  const rn = ["application/xhtml+xml", "text/html"], an = "text/html";
@@ -252,7 +252,7 @@ function ke() {
252
252
  let n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
253
253
  if (!(K && K === n)) {
254
254
  if ((!n || typeof n != "object") && (n = {}), n = k(n), et = // eslint-disable-next-line unicorn/prefer-includes
255
- rn.indexOf(n.PARSER_MEDIA_TYPE) === -1 ? an : n.PARSER_MEDIA_TYPE, A = et === "application/xhtml+xml" ? Ut : bt, _ = P(n, "ALLOWED_TAGS") ? m({}, n.ALLOWED_TAGS, A) : ne, b = P(n, "ALLOWED_ATTR") ? m({}, n.ALLOWED_ATTR, A) : oe, xt = P(n, "ALLOWED_NAMESPACES") ? m({}, n.ALLOWED_NAMESPACES, Ut) : on, It = P(n, "ADD_URI_SAFE_ATTR") ? m(k(ue), n.ADD_URI_SAFE_ATTR, A) : ue, le = P(n, "ADD_DATA_URI_TAGS") ? m(k(fe), n.ADD_DATA_URI_TAGS, A) : fe, x = P(n, "FORBID_CONTENTS") ? m({}, n.FORBID_CONTENTS, A) : Dt, Q = P(n, "FORBID_TAGS") ? m({}, n.FORBID_TAGS, A) : k({}), Nt = P(n, "FORBID_ATTR") ? m({}, n.FORBID_ATTR, A) : k({}), X = P(n, "USE_PROFILES") ? n.USE_PROFILES : !1, ie = n.ALLOW_ARIA_ATTR !== !1, Ot = n.ALLOW_DATA_ATTR !== !1, se = n.ALLOW_UNKNOWN_PROTOCOLS || !1, re = n.ALLOW_SELF_CLOSE_IN_ATTR !== !1, Y = n.SAFE_FOR_TEMPLATES || !1, ut = n.SAFE_FOR_XML !== !1, B = n.WHOLE_DOCUMENT || !1, V = n.RETURN_DOM || !1, pt = n.RETURN_DOM_FRAGMENT || !1, mt = n.RETURN_TRUSTED_TYPE || !1, Mt = n.FORCE_BODY || !1, ae = n.SANITIZE_DOM !== !1, ce = n.SANITIZE_NAMED_PROPS || !1, wt = n.KEEP_CONTENT !== !1, tt = n.IN_PLACE || !1, ee = n.ALLOWED_URI_REGEXP || xe, q = n.NAMESPACE || U, Tt = n.MATHML_TEXT_INTEGRATION_POINTS || Tt, Et = n.HTML_INTEGRATION_POINTS || Et, E = n.CUSTOM_ELEMENT_HANDLING || {}, n.CUSTOM_ELEMENT_HANDLING && pe(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (E.tagNameCheck = n.CUSTOM_ELEMENT_HANDLING.tagNameCheck), n.CUSTOM_ELEMENT_HANDLING && pe(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (E.attributeNameCheck = n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), n.CUSTOM_ELEMENT_HANDLING && typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (E.allowCustomizedBuiltInElements = n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), Y && (Ot = !1), pt && (V = !0), X && (_ = m({}, Oe), b = [], X.html === !0 && (m(_, Ne), m(b, Le)), X.svg === !0 && (m(_, zt), m(b, Bt), m(b, At)), X.svgFilters === !0 && (m(_, $t), m(b, Bt), m(b, At)), X.mathMl === !0 && (m(_, Gt), m(b, Me), m(b, At))), n.ADD_TAGS && (typeof n.ADD_TAGS == "function" ? j.tagCheck = n.ADD_TAGS : (_ === ne && (_ = k(_)), m(_, n.ADD_TAGS, A))), n.ADD_ATTR && (typeof n.ADD_ATTR == "function" ? j.attributeCheck = n.ADD_ATTR : (b === oe && (b = k(b)), m(b, n.ADD_ATTR, A))), n.ADD_URI_SAFE_ATTR && m(It, n.ADD_URI_SAFE_ATTR, A), n.FORBID_CONTENTS && (x === Dt && (x = k(x)), m(x, n.FORBID_CONTENTS, A)), n.ADD_FORBID_CONTENTS && (x === Dt && (x = k(x)), m(x, n.ADD_FORBID_CONTENTS, A)), wt && (_["#text"] = !0), B && m(_, ["html", "head", "body"]), _.table && (m(_, ["tbody"]), delete Q.tbody), n.TRUSTED_TYPES_POLICY) {
255
+ rn.indexOf(n.PARSER_MEDIA_TYPE) === -1 ? an : n.PARSER_MEDIA_TYPE, A = et === "application/xhtml+xml" ? Ut : _t, _ = P(n, "ALLOWED_TAGS") ? m({}, n.ALLOWED_TAGS, A) : ne, b = P(n, "ALLOWED_ATTR") ? m({}, n.ALLOWED_ATTR, A) : oe, xt = P(n, "ALLOWED_NAMESPACES") ? m({}, n.ALLOWED_NAMESPACES, Ut) : on, It = P(n, "ADD_URI_SAFE_ATTR") ? m(k(ue), n.ADD_URI_SAFE_ATTR, A) : ue, le = P(n, "ADD_DATA_URI_TAGS") ? m(k(fe), n.ADD_DATA_URI_TAGS, A) : fe, x = P(n, "FORBID_CONTENTS") ? m({}, n.FORBID_CONTENTS, A) : Dt, Q = P(n, "FORBID_TAGS") ? m({}, n.FORBID_TAGS, A) : k({}), Nt = P(n, "FORBID_ATTR") ? m({}, n.FORBID_ATTR, A) : k({}), X = P(n, "USE_PROFILES") ? n.USE_PROFILES : !1, ie = n.ALLOW_ARIA_ATTR !== !1, Ot = n.ALLOW_DATA_ATTR !== !1, se = n.ALLOW_UNKNOWN_PROTOCOLS || !1, re = n.ALLOW_SELF_CLOSE_IN_ATTR !== !1, Y = n.SAFE_FOR_TEMPLATES || !1, ft = n.SAFE_FOR_XML !== !1, B = n.WHOLE_DOCUMENT || !1, V = n.RETURN_DOM || !1, ut = n.RETURN_DOM_FRAGMENT || !1, pt = n.RETURN_TRUSTED_TYPE || !1, Mt = n.FORCE_BODY || !1, ae = n.SANITIZE_DOM !== !1, ce = n.SANITIZE_NAMED_PROPS || !1, wt = n.KEEP_CONTENT !== !1, tt = n.IN_PLACE || !1, ee = n.ALLOWED_URI_REGEXP || xe, q = n.NAMESPACE || U, dt = n.MATHML_TEXT_INTEGRATION_POINTS || dt, Tt = n.HTML_INTEGRATION_POINTS || Tt, E = n.CUSTOM_ELEMENT_HANDLING || {}, n.CUSTOM_ELEMENT_HANDLING && pe(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (E.tagNameCheck = n.CUSTOM_ELEMENT_HANDLING.tagNameCheck), n.CUSTOM_ELEMENT_HANDLING && pe(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (E.attributeNameCheck = n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), n.CUSTOM_ELEMENT_HANDLING && typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (E.allowCustomizedBuiltInElements = n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), Y && (Ot = !1), ut && (V = !0), X && (_ = m({}, Oe), b = [], X.html === !0 && (m(_, Ne), m(b, Le)), X.svg === !0 && (m(_, zt), m(b, Bt), m(b, gt)), X.svgFilters === !0 && (m(_, Gt), m(b, Bt), m(b, gt)), X.mathMl === !0 && (m(_, $t), m(b, Me), m(b, gt))), n.ADD_TAGS && (typeof n.ADD_TAGS == "function" ? j.tagCheck = n.ADD_TAGS : (_ === ne && (_ = k(_)), m(_, n.ADD_TAGS, A))), n.ADD_ATTR && (typeof n.ADD_ATTR == "function" ? j.attributeCheck = n.ADD_ATTR : (b === oe && (b = k(b)), m(b, n.ADD_ATTR, A))), n.ADD_URI_SAFE_ATTR && m(It, n.ADD_URI_SAFE_ATTR, A), n.FORBID_CONTENTS && (x === Dt && (x = k(x)), m(x, n.FORBID_CONTENTS, A)), n.ADD_FORBID_CONTENTS && (x === Dt && (x = k(x)), m(x, n.ADD_FORBID_CONTENTS, A)), wt && (_["#text"] = !0), B && m(_, ["html", "head", "body"]), _.table && (m(_, ["tbody"]), delete Q.tbody), n.TRUSTED_TYPES_POLICY) {
256
256
  if (typeof n.TRUSTED_TYPES_POLICY.createHTML != "function")
257
257
  throw it('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
258
258
  if (typeof n.TRUSTED_TYPES_POLICY.createScriptURL != "function")
@@ -262,20 +262,20 @@ function ke() {
262
262
  C === void 0 && (C = Dn(F, i)), C !== null && typeof J == "string" && (J = C.createHTML(""));
263
263
  L && L(n), K = n;
264
264
  }
265
- }, me = m({}, [...zt, ...$t, ..._n]), he = m({}, [...Gt, ...bn]), ln = function(n) {
266
- let a = ft(n);
265
+ }, me = m({}, [...zt, ...Gt, ..._n]), he = m({}, [...$t, ...bn]), ln = function(n) {
266
+ let a = lt(n);
267
267
  (!a || !a.tagName) && (a = {
268
268
  namespaceURI: q,
269
269
  tagName: "template"
270
270
  });
271
- const l = bt(n.tagName), T = bt(a.tagName);
272
- return xt[n.namespaceURI] ? n.namespaceURI === dt ? a.namespaceURI === U ? l === "svg" : a.namespaceURI === ht ? l === "svg" && (T === "annotation-xml" || Tt[T]) : !!me[l] : n.namespaceURI === ht ? a.namespaceURI === U ? l === "math" : a.namespaceURI === dt ? l === "math" && Et[T] : !!he[l] : n.namespaceURI === U ? a.namespaceURI === dt && !Et[T] || a.namespaceURI === ht && !Tt[T] ? !1 : !he[l] && (sn[l] || !me[l]) : !!(et === "application/xhtml+xml" && xt[n.namespaceURI]) : !1;
271
+ const l = _t(n.tagName), T = _t(a.tagName);
272
+ return xt[n.namespaceURI] ? n.namespaceURI === ht ? a.namespaceURI === U ? l === "svg" : a.namespaceURI === mt ? l === "svg" && (T === "annotation-xml" || dt[T]) : !!me[l] : n.namespaceURI === mt ? a.namespaceURI === U ? l === "math" : a.namespaceURI === ht ? l === "math" && Tt[T] : !!he[l] : n.namespaceURI === U ? a.namespaceURI === ht && !Tt[T] || a.namespaceURI === mt && !dt[T] ? !1 : !he[l] && (sn[l] || !me[l]) : !!(et === "application/xhtml+xml" && xt[n.namespaceURI]) : !1;
273
273
  }, v = function(n) {
274
274
  nt(t.removed, {
275
275
  element: n
276
276
  });
277
277
  try {
278
- ft(n).removeChild(n);
278
+ lt(n).removeChild(n);
279
279
  } catch {
280
280
  je(n);
281
281
  }
@@ -292,7 +292,7 @@ function ke() {
292
292
  });
293
293
  }
294
294
  if (a.removeAttribute(n), n === "is")
295
- if (V || pt)
295
+ if (V || ut)
296
296
  try {
297
297
  v(a);
298
298
  } catch {
@@ -314,7 +314,7 @@ function ke() {
314
314
  const T = C ? C.createHTML(n) : n;
315
315
  if (q === U)
316
316
  try {
317
- a = new $().parseFromString(T, et);
317
+ a = new G().parseFromString(T, et);
318
318
  } catch {
319
319
  }
320
320
  if (!a || !a.documentElement) {
@@ -340,7 +340,7 @@ function ke() {
340
340
  return typeof h == "function" && n instanceof h;
341
341
  };
342
342
  function H(f, n, a) {
343
- gt(f, (l) => {
343
+ Et(f, (l) => {
344
344
  l.call(t, n, a, K);
345
345
  });
346
346
  }
@@ -352,13 +352,13 @@ function ke() {
352
352
  if (H(N.uponSanitizeElement, n, {
353
353
  tagName: l,
354
354
  allowedTags: _
355
- }), ut && n.hasChildNodes() && !Ee(n.firstElementChild) && O(/<[/\w!]/g, n.innerHTML) && O(/<[/\w!]/g, n.textContent) || n.nodeType === rt.progressingInstruction || ut && n.nodeType === rt.comment && O(/<[/\w]/g, n.data))
355
+ }), ft && n.hasChildNodes() && !Ee(n.firstElementChild) && O(/<[/\w!]/g, n.innerHTML) && O(/<[/\w!]/g, n.textContent) || n.nodeType === rt.progressingInstruction || ft && n.nodeType === rt.comment && O(/<[/\w]/g, n.data))
356
356
  return v(n), !0;
357
357
  if (!(j.tagCheck instanceof Function && j.tagCheck(l)) && (!_[l] || Q[l])) {
358
358
  if (!Q[l] && _e(l) && (E.tagNameCheck instanceof RegExp && O(E.tagNameCheck, l) || E.tagNameCheck instanceof Function && E.tagNameCheck(l)))
359
359
  return !1;
360
360
  if (wt && !x[l]) {
361
- const T = ft(n) || n.parentNode, R = Ve(n) || n.childNodes;
361
+ const T = lt(n) || n.parentNode, R = Ve(n) || n.childNodes;
362
362
  if (R && T) {
363
363
  const g = R.length;
364
364
  for (let w = g - 1; w >= 0; --w) {
@@ -369,7 +369,7 @@ function ke() {
369
369
  }
370
370
  return v(n), !0;
371
371
  }
372
- return n instanceof u && !ln(n) || (l === "noscript" || l === "noembed" || l === "noframes") && O(/<\/no(script|embed|frames)/i, n.innerHTML) ? (v(n), !0) : (Y && n.nodeType === rt.text && (a = n.textContent, gt([yt, Rt, Ct], (T) => {
372
+ return n instanceof u && !ln(n) || (l === "noscript" || l === "noembed" || l === "noframes") && O(/<\/no(script|embed|frames)/i, n.innerHTML) ? (v(n), !0) : (Y && n.nodeType === rt.text && (a = n.textContent, Et([yt, Rt, Ct], (T) => {
373
373
  a = ot(a, T, " ");
374
374
  }), n.textContent !== a && (nt(t.removed, {
375
375
  element: n.cloneNode()
@@ -427,7 +427,7 @@ function ke() {
427
427
  value: z
428
428
  } = R, Z = A(g), Ft = z;
429
429
  let S = g === "value" ? Ft : En(Ft);
430
- if (l.attrName = Z, l.attrValue = S, l.keepAttr = !0, l.forceKeepAttr = void 0, H(N.uponSanitizeAttribute, n, l), S = l.attrValue, ce && (Z === "id" || Z === "name") && (W(g, n), S = nn + S), ut && O(/((--!?|])>)|<\/(style|title|textarea)/i, S)) {
430
+ if (l.attrName = Z, l.attrValue = S, l.keepAttr = !0, l.forceKeepAttr = void 0, H(N.uponSanitizeAttribute, n, l), S = l.attrValue, ce && (Z === "id" || Z === "name") && (W(g, n), S = nn + S), ft && O(/((--!?|])>)|<\/(style|title|textarea)/i, S)) {
431
431
  W(g, n);
432
432
  continue;
433
433
  }
@@ -445,7 +445,7 @@ function ke() {
445
445
  W(g, n);
446
446
  continue;
447
447
  }
448
- Y && gt([yt, Rt, Ct], (ye) => {
448
+ Y && Et([yt, Rt, Ct], (ye) => {
449
449
  S = ot(S, ye, " ");
450
450
  });
451
451
  const Se = A(n.nodeName);
@@ -500,9 +500,9 @@ function ke() {
500
500
  else {
501
501
  if (!V && !Y && !B && // eslint-disable-next-line unicorn/prefer-includes
502
502
  f.indexOf("<") === -1)
503
- return C && mt ? C.createHTML(f) : f;
503
+ return C && pt ? C.createHTML(f) : f;
504
504
  if (a = de(f), !a)
505
- return V ? null : mt ? J : "";
505
+ return V ? null : pt ? J : "";
506
506
  }
507
507
  a && Mt && v(a.firstChild);
508
508
  const g = Te(tt ? f : a);
@@ -511,7 +511,7 @@ function ke() {
511
511
  if (tt)
512
512
  return f;
513
513
  if (V) {
514
- if (pt)
514
+ if (ut)
515
515
  for (R = qe.call(a.ownerDocument); a.firstChild; )
516
516
  R.appendChild(a.firstChild);
517
517
  else
@@ -520,9 +520,9 @@ function ke() {
520
520
  }
521
521
  let w = B ? a.outerHTML : a.innerHTML;
522
522
  return B && _["!doctype"] && a.ownerDocument && a.ownerDocument.doctype && a.ownerDocument.doctype.name && O(ve, a.ownerDocument.doctype.name) && (w = "<!DOCTYPE " + a.ownerDocument.doctype.name + `>
523
- ` + w), Y && gt([yt, Rt, Ct], (z) => {
523
+ ` + w), Y && Et([yt, Rt, Ct], (z) => {
524
524
  w = ot(w, z, " ");
525
- }), C && mt ? C.createHTML(w) : w;
525
+ }), C && pt ? C.createHTML(w) : w;
526
526
  }, t.setConfig = function() {
527
527
  let f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
528
528
  vt(f), Lt = !0;
@@ -574,9 +574,9 @@ Fe.addHook("uponSanitizeAttribute", (s, t) => {
574
574
  const { attrName: e } = t, o = e.toLowerCase();
575
575
  Pn.has(o) && (t.forceKeepAttr = !0);
576
576
  });
577
- class ct extends Error {
577
+ class bt extends Error {
578
578
  }
579
- const xn = /([a-zA-Z-]+)\s*:\s*([^;}]+)/g, Ue = "a-zA-Z_$", vn = Ue + "0-9", lt = `[${Ue}][${vn}]*`, kn = /<!--\s*(.*?)\s*-->/, Fn = /<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g, Wt = new RegExp(`^this\\.${lt}$`), jt = new RegExp(`this\\.${lt}(\\.${lt})*`, "g"), He = new RegExp(`this\\.${lt}(\\.${lt})*`), Un = /* @__PURE__ */ new Set(["class", "style"]), ze = 5;
579
+ const xn = /([a-zA-Z-]+)\s*:\s*([^;}]+)/g, Ue = "a-zA-Z_$", vn = Ue + "0-9", ct = `[${Ue}][${vn}]*`, kn = /<!--\s*(.*?)\s*-->/, Fn = /<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g, Wt = new RegExp(`^this\\.${ct}$`), jt = new RegExp(`this\\.${ct}(\\.${ct})*`, "g"), He = new RegExp(`this\\.${ct}(\\.${ct})*`), Un = /* @__PURE__ */ new Set(["class", "style"]), ze = 5;
580
580
  function Hn(s) {
581
581
  return s instanceof HTMLButtonElement || s instanceof HTMLFieldSetElement || s instanceof HTMLInputElement || s instanceof HTMLSelectElement || s instanceof HTMLTextAreaElement || s instanceof D;
582
582
  }
@@ -595,8 +595,8 @@ function Zt(s) {
595
595
  t.push(e), e.shadowRoot && t.push(...Zt(e.shadowRoot)), e.firstElementChild && t.push(...Zt(e)), e = e.nextElementSibling;
596
596
  return t;
597
597
  }
598
- const _t = (s) => s.substring(ze).split(".")[0];
599
- function $e(s, t) {
598
+ const At = (s) => s.substring(ze).split(".")[0];
599
+ function Ge(s, t) {
600
600
  let e = s[0];
601
601
  return t.forEach((o, i) => {
602
602
  e += o + s[i + 1];
@@ -613,11 +613,11 @@ function Qt(s) {
613
613
  const { localName: t } = s;
614
614
  return t === "input" || t === "select";
615
615
  }
616
- const $n = (s) => s.replace(/<!--[\s\S]*?-->/g, "");
617
- function Ge(s, t, e, o) {
616
+ const Gn = (s) => s.replace(/<!--[\s\S]*?-->/g, "");
617
+ function $e(s, t, e, o) {
618
618
  return s.slice(0, t) + o + s.slice(t + e);
619
619
  }
620
- function Gn(s) {
620
+ function $n(s) {
621
621
  let t = s.trim(), e = null;
622
622
  /^\s*<tr[\s>]/i.test(t) ? (t = `<table><tbody>${t}</tbody></table>`, e = "tbody") : /^\s*<(td|th)[\s>]/i.test(t) ? (t = `<table><tbody><tr>${t}</tr></tbody></table>`, e = "tr") : /^\s*<option[\s>]/i.test(t) ? (t = `<select>${t}</select>`, e = "select") : /^\s*<col[\s>]/i.test(t) && (t = `<table><colgroup>${t}</colgroup></table>`, e = "colgroup");
623
623
  const o = Fe.sanitize(t, {
@@ -633,7 +633,7 @@ function Gn(s) {
633
633
  }
634
634
  function Yt(s) {
635
635
  const t = Number(s);
636
- if (isNaN(t)) throw new ct(`can't convert "${s}" to a number`);
636
+ if (isNaN(t)) throw new bt(`can't convert "${s}" to a number`);
637
637
  return t;
638
638
  }
639
639
  function Be(s, t, e) {
@@ -721,13 +721,13 @@ class D extends HTMLElement {
721
721
  t === "disabled" && this.#d();
722
722
  const i = D.getPropName(t);
723
723
  if (this.#s(i)) {
724
- const r = this.#_(i, String(o));
724
+ const r = this.#b(i, String(o));
725
725
  this[i] = r;
726
726
  const c = this.#c[i];
727
727
  c && this.setFormValue(c, String(r)), this.propertyChangedCallback(i, e, o);
728
728
  }
729
729
  }
730
- #y() {
730
+ #R() {
731
731
  if (!this.shadowRoot) return;
732
732
  const t = this.#t;
733
733
  let { template: e } = t;
@@ -746,27 +746,27 @@ class D extends HTMLElement {
746
746
  this[e] = o;
747
747
  }
748
748
  connectedCallback() {
749
- this.#x(), this.#C(), this.#y(), this.hasAttribute("disabled") && this.#d(), requestAnimationFrame(() => {
750
- this.shadowRoot && (this.#S(this.shadowRoot), this.#T(this.shadowRoot)), this.#R();
749
+ this.#v(), this.#N(), this.#R(), this.hasAttribute("disabled") && this.#d(), requestAnimationFrame(() => {
750
+ this.shadowRoot && (this.#y(this.shadowRoot), this.#T(this.shadowRoot)), this.#C();
751
751
  });
752
752
  }
753
- #R() {
753
+ #C() {
754
754
  const t = this.#t, { properties: e } = t;
755
755
  for (const [o, { computed: i }] of Object.entries(e))
756
756
  i && (this[o] = this.#o(i));
757
757
  }
758
- #C() {
758
+ #N() {
759
759
  const t = this.#t, { observedAttributes: e, properties: o } = t;
760
760
  for (const [i, r] of Object.entries(o))
761
- this.#N(i, r, e);
761
+ this.#O(i, r, e);
762
762
  }
763
- #N(t, e, o) {
763
+ #O(t, e, o) {
764
764
  const i = D.getAttrName(t), r = this.hasAttribute(i);
765
765
  e.required && !r && this.#e(this, t, "is a required attribute");
766
766
  let c = e.value;
767
767
  this.hasOwnProperty(t) && (c = this[t], delete this[t]);
768
- const { type: h } = e, u = h === Boolean ? c || r : o.includes(i) && r ? this.#A(t, i) : c || zn(h), p = "#" + t;
769
- this[p] = u, e.computed && this.#w(t, e), Object.defineProperty(this, t, {
768
+ const { type: h } = e, u = h === Boolean ? c || r : o.includes(i) && r ? this.#_(t, i) : c || zn(h), p = "#" + t;
769
+ this[p] = u, e.computed && this.#D(t, e), Object.defineProperty(this, t, {
770
770
  enumerable: !0,
771
771
  get() {
772
772
  return this[p];
@@ -775,11 +775,11 @@ class D extends HTMLElement {
775
775
  h === Number && typeof d == "string" && (d = Yt(d));
776
776
  const y = this[p];
777
777
  if (d === y) return;
778
- this.#k(t, h, d), this[p] = d;
779
- const { state: $, stateProp: F } = this.#t.properties[t];
780
- F && In($, F, d), this.#I(t), this.#D(t, h, d, i), this.#g(t), this.#P(t, d);
781
- const G = this.#c[t];
782
- G && this.setFormValue(G, String(d)), this.propertyChangedCallback(t, y, d), e.dispatch && this.dispatch("change", { [t]: d });
778
+ this.#F(t, h, d), this[p] = d;
779
+ const { state: G, stateProp: F } = this.#t.properties[t];
780
+ F && In(G, F, d), this.#P(t), this.#I(t, h, d, i), this.#A(t), this.#x(t, d);
781
+ const $ = this.#c[t];
782
+ $ && this.setFormValue($, String(d)), this.propertyChangedCallback(t, y, d), e.dispatch && this.dispatch("change", { [t]: d });
783
783
  }
784
784
  });
785
785
  }
@@ -810,10 +810,10 @@ class D extends HTMLElement {
810
810
  static elementName() {
811
811
  return this.name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
812
812
  }
813
- #O(t) {
813
+ #L(t) {
814
814
  const e = t instanceof D;
815
815
  for (const o of t.getAttributeNames()) {
816
- const i = t.getAttribute(o), r = this.#E(t, i);
816
+ const i = t.getAttribute(o), r = this.#g(t, i);
817
817
  if (r) {
818
818
  const c = this[r];
819
819
  c === void 0 && this.#a(t, o, r), t[r] = c;
@@ -830,7 +830,7 @@ class D extends HTMLElement {
830
830
  const e = new Function("return " + t).call(this);
831
831
  return Array.isArray(e) ? e.join("") : e;
832
832
  }
833
- #L(t) {
833
+ #M(t) {
834
834
  const { localName: e } = t;
835
835
  if (e === "style") {
836
836
  const { sheet: o } = t, i = o?.cssRules ?? [], r = Array.from(i);
@@ -856,7 +856,7 @@ class D extends HTMLElement {
856
856
  i && (o = i.textContent?.trim() ?? "");
857
857
  }
858
858
  if (o) {
859
- const i = this.#E(t, o);
859
+ const i = this.#g(t, o);
860
860
  i && at(t) ? t.textContent = this[i] : this.#r(o, t);
861
861
  }
862
862
  }
@@ -902,7 +902,7 @@ class D extends HTMLElement {
902
902
  let e = D.#m.get(t);
903
903
  return e || (e = t.replace(/-([a-z])/g, (o, i) => i.toUpperCase()), D.#m.set(t, e)), e;
904
904
  }
905
- #M(t, e, o) {
905
+ #w(t, e, o) {
906
906
  if (o.length !== 1) return;
907
907
  const [i] = o;
908
908
  if (!Wt.test(i)) return;
@@ -910,12 +910,12 @@ class D extends HTMLElement {
910
910
  let [c, h] = (e ?? "").split(":");
911
911
  if (!(r && c === "value" || at(t))) return;
912
912
  h ? t["on" + h] === void 0 && this.#e(t, e, "refers to an unsupported event name") : h = "change";
913
- const p = _t(i);
913
+ const p = At(i);
914
914
  t.addEventListener(h, (d) => {
915
915
  const { target: y } = d;
916
916
  if (!y) return;
917
- const $ = y.value, { type: F } = this.#t.properties[p];
918
- this[p] = F === Number ? Yt($) : $, this.#g(p);
917
+ const G = y.value, { type: F } = this.#t.properties[p];
918
+ this[p] = F === Number ? Yt(G) : G, this.#A(p);
919
919
  });
920
920
  }
921
921
  #s(t) {
@@ -924,7 +924,15 @@ class D extends HTMLElement {
924
924
  #T(t) {
925
925
  const e = Array.from(t.querySelectorAll("*"));
926
926
  for (const o of e)
927
- this.#O(o), o.firstElementChild || this.#L(o);
927
+ this.#L(o), o.firstElementChild || this.#M(o);
928
+ }
929
+ // formAssociated is only needed when the component is inside a form.
930
+ #E() {
931
+ if (this.#t.formAssociated || this.closest("form") === null) return;
932
+ const t = this.#t.name;
933
+ throw new bt(
934
+ `inside form, class ${t} requires "static formAssociated = true;"`
935
+ );
928
936
  }
929
937
  static get observedAttributes() {
930
938
  const t = Object.keys(this.properties || {}).map(D.getAttrName);
@@ -933,19 +941,19 @@ class D extends HTMLElement {
933
941
  // Subclasses can override this to add functionality.
934
942
  propertyChangedCallback(t, e, o) {
935
943
  }
936
- #E(t, e) {
944
+ #g(t, e) {
937
945
  if (!e || !Wt.test(e)) return;
938
- const o = _t(e);
946
+ const o = At(e);
939
947
  return this[o] === void 0 && this.#a(t, "", o), o;
940
948
  }
941
- #g(t) {
949
+ #A(t) {
942
950
  const i = this.#t.propToExprsMap.get(t) || [];
943
951
  for (const r of i) {
944
952
  let c = this.#o(r);
945
953
  const h = this.#n.get(r) ?? [];
946
954
  for (const u of h)
947
955
  if (u instanceof HTMLElement)
948
- this.#b(u, c);
956
+ this.#S(u, c);
949
957
  else if (!(u instanceof CSSStyleRule)) {
950
958
  const { element: p, attrName: d } = u;
951
959
  p instanceof CSSStyleRule ? p.style.setProperty(d, c) : Vt(p, d, c);
@@ -956,7 +964,7 @@ class D extends HTMLElement {
956
964
  const t = this.elementName();
957
965
  customElements.get(t) || customElements.define(t, this);
958
966
  }
959
- #w(t, e) {
967
+ #D(t, e) {
960
968
  const { computed: o, uses: i } = e, r = this.#t.propToComputedMap;
961
969
  function c(u, p) {
962
970
  let d = r.get(u);
@@ -983,7 +991,7 @@ class D extends HTMLElement {
983
991
  }
984
992
  const r = this.#t;
985
993
  i.forEach((u) => {
986
- const p = _t(u);
994
+ const p = At(u);
987
995
  if (typeof this[p] == "function") return;
988
996
  const d = r.propToExprsMap;
989
997
  let y = d.get(p);
@@ -994,13 +1002,13 @@ class D extends HTMLElement {
994
1002
  const y = d instanceof HTMLElement || d instanceof CSSStyleRule ? d : d.element;
995
1003
  y instanceof CSSStyleRule || y.isConnected || this.#n.set(
996
1004
  u,
997
- p.filter(($) => $ !== d)
1005
+ p.filter((G) => G !== d)
998
1006
  );
999
1007
  }
1000
1008
  let c = this.#n.get(t);
1001
- c || (c = [], this.#n.set(t, c)), c.push(o ? { element: e, attrName: o } : e), e instanceof HTMLElement && this.#M(e, o, i);
1009
+ c || (c = [], this.#n.set(t, c)), c.push(o ? { element: e, attrName: o } : e), e instanceof HTMLElement && this.#w(e, o, i);
1002
1010
  const h = this.#o(t);
1003
- o ? Vt(e, o, h) : this.#b(e, h);
1011
+ o ? Vt(e, o, h) : this.#S(e, h);
1004
1012
  }
1005
1013
  // This follows the best practice
1006
1014
  // "Do not override author-set, global attributes."
@@ -1012,17 +1020,17 @@ class D extends HTMLElement {
1012
1020
  }
1013
1021
  #e(t, e, o) {
1014
1022
  const i = this.#t, r = t instanceof HTMLElement ? t.localName : "CSS rule";
1015
- throw new ct(
1023
+ throw new bt(
1016
1024
  `component ${i.elementName()}` + (t ? `, element "${r}"` : "") + (e ? `, attribute "${e}"` : "") + ` ${o}`
1017
1025
  );
1018
1026
  }
1019
1027
  #a(t, e, o) {
1020
1028
  this.#e(t, e, `refers to missing property "${o}"`);
1021
1029
  }
1022
- #A(t, e) {
1023
- return this.#_(t, this.getAttribute(e));
1024
- }
1025
1030
  #_(t, e) {
1031
+ return this.#b(t, this.getAttribute(e));
1032
+ }
1033
+ #b(t, e) {
1026
1034
  if (e?.match(jt)) return e;
1027
1035
  const o = this.#t, { type: i } = o.properties[t];
1028
1036
  if (i || this.#e(null, t, "does not specify its type"), i === String) return e;
@@ -1036,20 +1044,20 @@ class D extends HTMLElement {
1036
1044
  }
1037
1045
  // Updates the matching attribute for a property if there is one.
1038
1046
  // VS Code thinks this is never called, but it is called by #defineProp.
1039
- #D(t, e, o, i) {
1047
+ #I(t, e, o, i) {
1040
1048
  if (Jt(o) && this.hasAttribute(i)) {
1041
- const r = e === Boolean ? this.hasAttribute(i) : this.#A(t, i);
1049
+ const r = e === Boolean ? this.hasAttribute(i) : this.#_(t, i);
1042
1050
  o !== r && Be(this, t, o);
1043
1051
  }
1044
1052
  }
1045
1053
  // Updates all computed properties that reference this property.
1046
1054
  // VS Code thinks this is never called, but it is called by #defineProp.
1047
- #I(t) {
1055
+ #P(t) {
1048
1056
  const o = this.#t.propToComputedMap.get(t) || [];
1049
1057
  for (const [i, r] of o)
1050
1058
  this[i] = this.#o(r);
1051
1059
  }
1052
- #b(t, e) {
1060
+ #S(t, e) {
1053
1061
  if (e === void 0) return;
1054
1062
  const o = t instanceof HTMLElement, i = typeof e;
1055
1063
  if (i !== "string" && i !== "number" && this.#e(
@@ -1059,13 +1067,13 @@ class D extends HTMLElement {
1059
1067
  ), t instanceof HTMLElement && at(t))
1060
1068
  t.value = e;
1061
1069
  else if (o && i === "string" && e.trim().startsWith("<")) {
1062
- const r = Gn(e);
1063
- t.replaceChildren(...r), this.#S(t), this.#T(t);
1070
+ const r = $n(e);
1071
+ t.replaceChildren(...r), this.#y(t), this.#T(t);
1064
1072
  } else o && (t.textContent = e);
1065
1073
  }
1066
1074
  // Update corresponding parent web component property if bound to one.
1067
1075
  // VS Code thinks this is never called, but it is called by #defineProp.
1068
- #P(t, e) {
1076
+ #x(t, e) {
1069
1077
  const o = this.#u.get(t);
1070
1078
  if (!o) return;
1071
1079
  const i = this.getRootNode();
@@ -1086,7 +1094,7 @@ class D extends HTMLElement {
1086
1094
  for (const o of Object.keys(t))
1087
1095
  e[o] = o;
1088
1096
  }
1089
- this.#v(t, e);
1097
+ this.#k(t, e);
1090
1098
  for (const [o, i] of Object.entries(e))
1091
1099
  if (this.#s(i)) {
1092
1100
  const r = Ie(t, o);
@@ -1096,32 +1104,27 @@ class D extends HTMLElement {
1096
1104
  }
1097
1105
  t.addListener(this, e);
1098
1106
  }
1099
- #x() {
1107
+ #v() {
1100
1108
  const t = this.#t, e = new Set(Object.keys(t.properties));
1101
- for (const i of e)
1102
- Un.has(i) && this.#e(
1109
+ for (const o of e)
1110
+ Un.has(o) && this.#e(
1103
1111
  null,
1104
1112
  "",
1105
- `property "${i}" is not allowed because it is a reserved attribute`
1113
+ `property "${o}" is not allowed because it is a reserved attribute`
1106
1114
  );
1107
- const o = this.#t.name;
1108
- for (const i of this.getAttributeNames())
1109
- if (i !== "class" && i !== "id" && i !== "disabled" && !i.startsWith("on")) {
1110
- if (i === "form-assoc") {
1111
- if (!t.formAssociated)
1112
- throw new ct(
1113
- `add "static formAssociated = true;" to class ${o}`
1114
- );
1115
+ this.#t.name;
1116
+ for (const o of this.getAttributeNames())
1117
+ if (o !== "class" && o !== "id" && o !== "disabled" && !o.startsWith("on")) {
1118
+ if (o === "form-assoc") {
1119
+ this.#E();
1115
1120
  continue;
1116
1121
  }
1117
- if (!e.has(D.getPropName(i))) {
1118
- if (i === "name") {
1119
- if (t.formAssociated) continue;
1120
- throw new ct(
1121
- `name attribute requires "static formAssociated = true;" in class ${o}`
1122
- );
1122
+ if (!e.has(D.getPropName(o))) {
1123
+ if (o === "name") {
1124
+ this.#E();
1125
+ continue;
1123
1126
  }
1124
- this.#e(null, i, "is not a supported attribute");
1127
+ this.#e(null, o, "is not a supported attribute");
1125
1128
  }
1126
1129
  }
1127
1130
  }
@@ -1129,15 +1132,15 @@ class D extends HTMLElement {
1129
1132
  const i = o.match(jt);
1130
1133
  if (i)
1131
1134
  return i.forEach((r) => {
1132
- const c = _t(r);
1135
+ const c = At(r);
1133
1136
  this[c] === void 0 && this.#a(t, e, c);
1134
1137
  }), i;
1135
1138
  }
1136
- #v(t, e) {
1139
+ #k(t, e) {
1137
1140
  for (const [o, i] of Object.entries(e)) {
1138
1141
  let r = Ie(t, o);
1139
1142
  if (r === void 0)
1140
- throw new ct(`invalid state path "${o}"`);
1143
+ throw new bt(`invalid state path "${o}"`);
1141
1144
  r = this[i], this.#s(i) || this.#e(
1142
1145
  null,
1143
1146
  i,
@@ -1146,7 +1149,7 @@ class D extends HTMLElement {
1146
1149
  }
1147
1150
  }
1148
1151
  // When type is an array, this can't validate the type of the array elements.
1149
- #k(t, e, o) {
1152
+ #F(t, e, o) {
1150
1153
  if (o instanceof e) return;
1151
1154
  let i = typeof o;
1152
1155
  if (i === "object") {
@@ -1163,7 +1166,7 @@ class D extends HTMLElement {
1163
1166
  `was set to a ${i}, but must be a ${e.name}`
1164
1167
  );
1165
1168
  }
1166
- #S(t) {
1169
+ #y(t) {
1167
1170
  const e = Array.from(t.querySelectorAll("*"));
1168
1171
  for (const o of e) {
1169
1172
  const i = [];
@@ -1184,7 +1187,7 @@ class D extends HTMLElement {
1184
1187
  }
1185
1188
  }
1186
1189
  function Wn(s, ...t) {
1187
- let e = $e(s, t);
1190
+ let e = Ge(s, t);
1188
1191
  for (; ; ) {
1189
1192
  const o = xn.exec(e);
1190
1193
  if (!o) break;
@@ -1194,21 +1197,21 @@ function Wn(s, ...t) {
1194
1197
  if (!r.startsWith("--")) {
1195
1198
  const c = `--${r}: ${i};
1196
1199
  ${r}: var(--${r})`;
1197
- e = Ge(e, o.index, o[0].length, c);
1200
+ e = $e(e, o.index, o[0].length, c);
1198
1201
  }
1199
1202
  }
1200
1203
  }
1201
1204
  return e;
1202
1205
  }
1203
1206
  function jn(s, ...t) {
1204
- let e = $e(s, t);
1207
+ let e = Ge(s, t);
1205
1208
  for (; ; ) {
1206
1209
  const o = Fn.exec(e);
1207
1210
  if (!o || o[1] === "style") break;
1208
- const i = $n(o[2]);
1211
+ const i = Gn(o[2]);
1209
1212
  if (He.test(i)) {
1210
1213
  const r = `<!-- ${i.trim()} -->`, c = o.index + o[0].indexOf(">") + 1;
1211
- e = Ge(e, c, i.length, r);
1214
+ e = $e(e, c, i.length, r);
1212
1215
  }
1213
1216
  }
1214
1217
  return e;
package/dist/wrec.js CHANGED
@@ -653,6 +653,13 @@ export class Wrec extends HTMLElement {
653
653
  }
654
654
  */
655
655
  }
656
+ // formAssociated is only needed when the component is inside a form.
657
+ #verifyFormAssociated() {
658
+ if (this.#ctor.formAssociated || this.closest('form') === null)
659
+ return;
660
+ const className = this.#ctor.name;
661
+ throw new WrecError(`inside form, class ${className} requires "static formAssociated = true;"`);
662
+ }
656
663
  static get observedAttributes() {
657
664
  const keys = Object.keys(this.properties || {}).map(Wrec.getAttrName);
658
665
  if (!keys.includes('disabled'))
@@ -952,16 +959,13 @@ export class Wrec extends HTMLElement {
952
959
  if (attrName.startsWith('on'))
953
960
  continue;
954
961
  if (attrName === 'form-assoc') {
955
- if (!ctor.formAssociated) {
956
- throw new WrecError(`add "static formAssociated = true;" to class ${className}`);
957
- }
962
+ this.#verifyFormAssociated();
958
963
  continue;
959
964
  }
960
965
  if (!propNames.has(Wrec.getPropName(attrName))) {
961
966
  if (attrName === 'name') {
962
- if (ctor.formAssociated)
963
- continue;
964
- throw new WrecError(`name attribute requires "static formAssociated = true;" in class ${className}`);
967
+ this.#verifyFormAssociated();
968
+ continue;
965
969
  }
966
970
  this.#throw(null, attrName, 'is not a supported attribute');
967
971
  }
package/dist/wrec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrec.js","sourceRoot":"","sources":["../src/wrec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrec.js","sourceRoot":"","sources":["../src/wrec.ts"],"names":[],"mappings":"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"}
package/dist/wrec.min.js CHANGED
@@ -1 +1 @@
1
- import DOMPurify from"dompurify";import{getPathValue,setPathValue}from"./paths.js";const safeOnAttrNames=new Set(["onblur","onchange","onclick","onfocus","oninput","onkeydown","onreset","onsubmit"]);DOMPurify.addHook("uponSanitizeAttribute",(t,e)=>{const{attrName:s}=e,r=s.toLowerCase();safeOnAttrNames.has(r)&&(e.forceKeepAttr=!0)});class WrecError extends Error{}const CSS_PROPERTY_RE=/([a-zA-Z-]+)\s*:\s*([^;}]+)/g,FIRST_CHAR="a-zA-Z_$",OTHER_CHAR="a-zA-Z_$0-9",IDENTIFIER=`[a-zA-Z_$][${OTHER_CHAR}]*`,HTML_COMMENT_TEXT_RE=/<!--\s*(.*?)\s*-->/,HTML_ELEMENT_TEXT_RE=/<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g,REF_RE=new RegExp(`^this\\.${IDENTIFIER}$`),REFS_RE=new RegExp(`this\\.${IDENTIFIER}(\\.${IDENTIFIER})*`,"g"),REFS_TEST_RE=new RegExp(`this\\.${IDENTIFIER}(\\.${IDENTIFIER})*`),RESERVED_ATTRS=new Set(["class","style"]),SKIP=5;function canDisable(t){return t instanceof HTMLButtonElement||t instanceof HTMLFieldSetElement||t instanceof HTMLInputElement||t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof Wrec}export function createElement(t,e,s){const r=document.createElement(t);if(e)for(const[t,s]of Object.entries(e))r.setAttribute(t,s);return s&&(r.innerHTML=s),r}const defaultForType=t=>t===String?"":t===Number?0:t!==Boolean&&(t===Array?[]:t===Object?{}:void 0);function getAllDescendants(t){const e=[];let s=t.firstElementChild;for(;s;)e.push(s),s.shadowRoot&&e.push(...getAllDescendants(s.shadowRoot)),s.firstElementChild&&e.push(...getAllDescendants(s)),s=s.nextElementSibling;return e}const getPropName=t=>t.substring(5).split(".")[0];function interpolate(t,e){let s=t[0];return e.forEach((e,r)=>{s+=e+t[r+1]}),s}function isPrimitive(t){const e=typeof t;return"string"===e||"number"===e||"boolean"===e}function isTextArea(t){return"textarea"===t.localName}function isValueElement(t){const{localName:e}=t;return"input"===e||"select"===e}const removeHtmlComments=t=>t.replace(/<!--[\s\S]*?-->/g,"");function replace(t,e,s,r){return t.slice(0,e)+r+t.slice(e+s)}function sanitize(t){let e=t.trim(),s=null;/^\s*<tr[\s>]/i.test(e)?(e=`<table><tbody>${e}</tbody></table>`,s="tbody"):/^\s*<(td|th)[\s>]/i.test(e)?(e=`<table><tbody><tr>${e}</tr></tbody></table>`,s="tr"):/^\s*<option[\s>]/i.test(e)?(e=`<select>${e}</select>`,s="select"):/^\s*<col[\s>]/i.test(e)&&(e=`<table><colgroup>${e}</colgroup></table>`,s="colgroup");const r=DOMPurify.sanitize(e,{ADD_TAGS:["#comment"],ALLOW_UNKNOWN_PROTOCOLS:!0,RETURN_DOM_FRAGMENT:!0});if(s){const t=r.querySelector(s);if(t)return t.childNodes}return r.childNodes}function stringToNumber(t){const e=Number(t);if(isNaN(e))throw new WrecError(`can't convert "${t}" to a number`);return e}function updateAttribute(t,e,s){const[r,o]=e.split(":");if(isPrimitive(s))if("boolean"==typeof s){s?t.setAttribute(r,r):t.removeAttribute(r);t[Wrec.getPropName(r)]=s}else{const o=t.getAttribute(e),i=String(s);o!==i&&(t.setAttribute(r,i),"value"===r&&isValueElement(t)&&(t.value=i))}else{t[Wrec.getPropName(e)]=s}}function updateValue(t,e,s){const[r,o]=e.split(":");t instanceof CSSStyleRule?t.style.setProperty(r,s):(updateAttribute(t,r,s),"value"===r&&isValueElement(t)&&(t.value=s))}export class Wrec extends HTMLElement{static#t=new Map;static#e=new Map;static css="";static formAssociated=!1;static html="";static properties;static propToComputedMap;static propToExprsMap;static template=null;#s=this.constructor;#r=new Map;#o={};#i;#n={};#a=null;#c=new Map;constructor(){super(),this.attachShadow({mode:"open"});const t=this.#s;t.properties||(t.properties={}),t.propToComputedMap||(t.propToComputedMap=new Map),t.propToExprsMap||(t.propToExprsMap=new Map)}attributeChangedCallback(t,e,s){"disabled"===t&&this.#l();const r=Wrec.getPropName(t);if(this.#p(r)){const t=this.#h(r,String(s));this[r]=t;const o=this.#o[r];o&&this.setFormValue(o,String(t)),this.propertyChangedCallback(r,e,s)}}#u(){if(!this.shadowRoot)return;const t=this.#s;let{template:e}=t;if(!e){e=t.template=document.createElement("template");let s="<style>\n :host([hidden]) { display: none; }";t.css&&(s+=t.css),s+="</style>\n";let r=t.html.trim();r.startsWith("<")||(r=`<span>\x3c!--${r}--\x3e</span>`),e.innerHTML=s+r}this.shadowRoot.replaceChildren(e.content.cloneNode(!0))}changed(t,e,s){this[e]=s}connectedCallback(){this.#f(),this.#d(),this.#u(),this.hasAttribute("disabled")&&this.#l(),requestAnimationFrame(()=>{this.shadowRoot&&(this.#m(this.shadowRoot),this.#b(this.shadowRoot)),this.#E()})}#E(){const t=this.#s,{properties:e}=t;for(const[t,{computed:s}]of Object.entries(e))s&&(this[t]=this.#y(s))}#d(){const t=this.#s,{observedAttributes:e,properties:s}=t;for(const[t,r]of Object.entries(s))this.#g(t,r,e)}#g(t,e,s){const r=Wrec.getAttrName(t),o=this.hasAttribute(r);e.required&&!o&&this.#T(this,t,"is a required attribute");let i=e.value;this.hasOwnProperty(t)&&(i=this[t],delete this[t]);const{type:n}=e,a=n===Boolean?i||o:s.includes(r)&&o?this.#R(t,r):i||defaultForType(n),c="#"+t;this[c]=a,e.computed&&this.#A(t,e),Object.defineProperty(this,t,{enumerable:!0,get(){return this[c]},set(s){n===Number&&"string"==typeof s&&(s=stringToNumber(s));const o=this[c];if(s===o)return;this.#w(t,n,s),this[c]=s;const{state:i,stateProp:a}=this.#s.properties[t];a&&setPathValue(i,a,s),this.#v(t),this.#M(t,n,s,r),this.#S(t),this.#P(t,s);const l=this.#o[t];l&&this.setFormValue(l,String(s)),this.propertyChangedCallback(t,o,s),e.dispatch&&this.dispatch("change",{[t]:s})}})}#l(){const t=this.hasAttribute("disabled"),e=getAllDescendants(this.shadowRoot);for(const s of e)canDisable(s)&&(s.disabled=t)}disconnectedCallback(){this.#r.clear(),this.#n.clear(),this.#c.clear()}dispatch(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}displayIfSet(t,e="block"){return`display: ${t?e:"none"}`}static elementName(){return this.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}#x(t){const e=t instanceof Wrec;for(const s of t.getAttributeNames()){const r=t.getAttribute(s),o=this.#C(t,r);if(o){const r=this[o];void 0===r&&this.#N(t,s,o),t[o]=r;let[i,n]=s.split(":");if("value"===i)if(n){if(void 0===t["on"+n]){const e="refers to an unsupported event name";this.#T(t,s,e)}t.setAttribute(i,this[o])}else n="change";e&&t.#c.set(Wrec.getPropName(i),o)}this.#O(r,t,s)}}#y(t){const e=new Function("return "+t).call(this);return Array.isArray(e)?e.join(""):e}#_(t){const{localName:e}=t;if("style"===e){const{sheet:e}=t,s=e?.cssRules??[],r=Array.from(s);for(const t of r)if(t.constructor===CSSStyleRule){const e=Array.from(t.style);for(const s of e)if(s.startsWith("--")){const e=t.style.getPropertyValue(s);this.#O(e,t,s)}}}else{let e="";if(isTextArea(t)){this.#O(t.textContent,t);const s=t.textContent?.match(HTML_COMMENT_TEXT_RE);s&&(e=s[1])}else{const s=Array.from(t.childNodes).find(t=>t.nodeType===Node.COMMENT_NODE);s&&(e=s.textContent?.trim()??"")}if(e){const s=this.#C(t,e);s&&isTextArea(t)?t.textContent=this[s]:this.#O(e,t)}}}formAssociatedCallback(){let t=this.getAttribute("form-assoc");if(!t){const e=this.getAttribute("name");if(!e)return;if(!this.#p("value"))return;t=`value:${e}`}const e={},s=t.split(",");for(const t of s){const[s,r]=t.split(":");e[s.trim()]=r.trim()}this.#o=e,this.#i=new FormData,this.#a=this.attachInternals(),this.#a.setFormValue(this.#i);const r=Object.keys(this.#s.properties),o=this.#n;for(const t of r)o[t]=this[t]}formResetCallback(){const t=this.#n;for(const e of Object.keys(t)){let s=t[e];REF_RE.test(s)&&(s=this.#y(s)),this[e]=s}}static getAttrName(t){let e=Wrec.#e.get(t);return e||(e=t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Wrec.#e.set(t,e)),e}static getPropName(t){let e=Wrec.#t.get(t);return e||(e=t.replace(/-([a-z])/g,(t,e)=>e.toUpperCase()),Wrec.#t.set(t,e)),e}#$(t,e,s){if(1!==s.length)return;const[r]=s;if(!REF_RE.test(r))return;const o=isValueElement(t)||isTextArea(t);let[i,n]=(e??"").split(":");if(!(o&&"value"===i||isTextArea(t)))return;if(n){if(void 0===t["on"+n]){const s="refers to an unsupported event name";this.#T(t,e,s)}}else n="change";const a=getPropName(r);t.addEventListener(n,t=>{const{target:e}=t;if(!e)return;const s=e.value,{type:r}=this.#s.properties[a];this[a]=r===Number?stringToNumber(s):s,this.#S(a)})}#p(t){return Boolean(this.#s.properties[t])}#b(t){const e=Array.from(t.querySelectorAll("*"));for(const t of e)this.#x(t),t.firstElementChild||this.#_(t)}static get observedAttributes(){const t=Object.keys(this.properties||{}).map(Wrec.getAttrName);return t.includes("disabled")||t.push("disabled"),t}propertyChangedCallback(t,e,s){}#C(t,e){if(!e||!REF_RE.test(e))return;const s=getPropName(e);return void 0===this[s]&&this.#N(t,"",s),s}#S(t){const e=this.#s.propToExprsMap.get(t)||[];for(const t of e){let e=this.#y(t);const s=this.#r.get(t)??[];for(const t of s)if(t instanceof HTMLElement)this.#W(t,e);else if(t instanceof CSSStyleRule);else{const{element:s,attrName:r}=t;s instanceof CSSStyleRule?s.style.setProperty(r,e):updateValue(s,r,e)}}}static register(){const t=this.elementName();customElements.get(t)||customElements.define(t,this)}#A(t,e){const{computed:s,uses:r}=e,o=this.#s.propToComputedMap;function i(e,s){let r=o.get(e);r||(r=[],o.set(e,r)),r.push([t,s])}const n=s.match(REFS_RE)||[];for(const e of n){const r=e.substring(5);void 0===this[r]&&this.#N(null,t,r),"function"!=typeof this[r]&&i(r,s)}if(r)for(const t of r.split(","))i(t,s)}#O(t,e,s=void 0){if(!t)return;const r=this.#I(e,s,t);if(!r){const r=t.replaceAll("this..","this.");return void(s?updateValue(e,s,r):"textContent"in e&&(e.textContent=r))}const o=this.#s;r.forEach(e=>{const s=getPropName(e);if("function"==typeof this[s])return;const r=o.propToExprsMap;let i=r.get(s);i||(i=[],r.set(s,i)),i.includes(t)||i.push(t)});for(const[t,e]of this.#r.entries())for(const s of e){const r=s instanceof HTMLElement||s instanceof CSSStyleRule?s:s.element;r instanceof CSSStyleRule||(r.isConnected||this.#r.set(t,e.filter(t=>t!==s)))}let i=this.#r.get(t);i||(i=[],this.#r.set(t,i)),i.push(s?{element:e,attrName:s}:e),e instanceof HTMLElement&&this.#$(e,s,r);const n=this.#y(t);s?updateValue(e,s,n):this.#W(e,n)}setAttributeSafe(t,e){this.hasAttribute(t)||this.setAttribute(t,e)}setFormValue(t,e){this.#i&&isPrimitive(e)&&(this.#i.set(t,e),this.#a?.setFormValue(this.#i))}#T(t,e,s){const r=this.#s,o=t instanceof HTMLElement?t.localName:"CSS rule";throw new WrecError(`component ${r.elementName()}`+(t?`, element "${o}"`:"")+(e?`, attribute "${e}"`:"")+` ${s}`)}#N(t,e,s){this.#T(t,e,`refers to missing property "${s}"`)}#R(t,e){return this.#h(t,this.getAttribute(e))}#h(t,e){if(e?.match(REFS_RE))return e;const s=this.#s,{type:r}=s.properties[t];return r||this.#T(null,t,"does not specify its type"),r===String?e:r===Number?stringToNumber(e):r===Boolean?"true"===e||"false"!==e&&"null"!==e&&(e&&e!==t&&this.#T(null,t,"is a Boolean attribute, so its value must match attribute name or be missing"),e===t):void 0}#M(t,e,s,r){if(isPrimitive(s)&&this.hasAttribute(r)){s!==(e===Boolean?this.hasAttribute(r):this.#R(t,r))&&updateAttribute(this,t,s)}}#v(t){const e=this.#s.propToComputedMap.get(t)||[];for(const[t,s]of e)this[t]=this.#y(s)}#W(t,e){if(void 0===e)return;const s=t instanceof HTMLElement,r=typeof e;if("string"!==r&&"number"!==r&&this.#T(t,void 0," computed content is not a string or number"),t instanceof HTMLElement&&isTextArea(t))t.value=e;else if(s&&"string"===r&&e.trim().startsWith("<")){const s=sanitize(e);t.replaceChildren(...s),this.#m(t),this.#b(t)}else s&&(t.textContent=e)}#P(t,e){const s=this.#c.get(t);if(!s)return;const r=this.getRootNode();if(!(r instanceof ShadowRoot))return;const{host:o}=r;if(!o)return;o[s]=e}useState(t,e){if(!e){e={};for(const s of Object.keys(t))e[s]=s}this.#L(t,e);for(const[s,r]of Object.entries(e))if(this.#p(r)){const e=getPathValue(t,s);void 0!==e&&(this[r]=e);const o=this.#s.properties[r];o.state=t,o.stateProp=s}t.addListener(this,e)}#f(){const t=this.#s,e=new Set(Object.keys(t.properties));for(const t of e)RESERVED_ATTRS.has(t)&&this.#T(null,"",`property "${t}" is not allowed because it is a reserved attribute`);const s=this.#s.name;for(const r of this.getAttributeNames())if("class"!==r&&"id"!==r&&"disabled"!==r&&!r.startsWith("on"))if("form-assoc"!==r){if(!e.has(Wrec.getPropName(r))){if("name"===r){if(t.formAssociated)continue;throw new WrecError(`name attribute requires "static formAssociated = true;" in class ${s}`)}this.#T(null,r,"is not a supported attribute")}}else if(!t.formAssociated)throw new WrecError(`add "static formAssociated = true;" to class ${s}`)}#I(t,e,s){const r=s.match(REFS_RE);if(r)return r.forEach(s=>{const r=getPropName(s);void 0===this[r]&&this.#N(t,e,r)}),r}#L(t,e){for(const[s,r]of Object.entries(e)){let e=getPathValue(t,s);if(void 0===e)throw new WrecError(`invalid state path "${s}"`);e=this[r],this.#p(r)||this.#T(null,r,"refers to missing property in useState map")}}#w(t,e,s){if(s instanceof e)return;let r=typeof s;if("object"===r){const{constructor:o}=s;r=o.name,o!==e&&this.#T(null,t,`was set to a ${r}, but must be a ${e.name}`)}r!==e.name.toLowerCase()&&this.#T(null,t,`was set to a ${r}, but must be a ${e.name}`)}#m(t){const e=Array.from(t.querySelectorAll("*"));for(const t of e){const e=[];for(const s of Array.from(t.attributes)){const r=s.name;if(r.startsWith("on")){let o=r.slice(2);o=o[0].toLowerCase()+o.slice(1).toLowerCase();const i=s.value;let n;this.#I(t,r,i),"function"==typeof this[i]?n=t=>this[i](t):(this.#I(t,r,i),n=()=>this.#y(i)),t.addEventListener(o,n),e.push(r)}}for(const s of e)t.removeAttribute(s)}}}export function css(t,...e){let s=interpolate(t,e);for(;;){const t=CSS_PROPERTY_RE.exec(s);if(!t)break;const e=t[2];if(REFS_TEST_RE.test(e)){const r=t[1];if(!r.startsWith("--")){const o=`--${r}: ${e};\n ${r}: var(--${r})`;s=replace(s,t.index,t[0].length,o)}}}return s}export function html(t,...e){let s=interpolate(t,e);for(;;){const t=HTML_ELEMENT_TEXT_RE.exec(s);if(!t||"style"===t[1])break;const e=removeHtmlComments(t[2]);if(REFS_TEST_RE.test(e)){const r=`\x3c!-- ${e.trim()} --\x3e`;s=replace(s,t.index+t[0].indexOf(">")+1,e.length,r)}}return s}import{createDeepProxy,proxyToPlainObject}from"./proxies.js";const inBrowser="undefined"!=typeof window&&void 0!==window.document;class WrecError extends Error{}export class WrecState{static#H=new Map;static{inBrowser&&window.addEventListener("beforeunload",()=>{for(const[t,e]of this.#H.entries())if(e.#D){const s=proxyToPlainObject(e);sessionStorage.setItem("wrec-state-"+t,JSON.stringify(s))}})}static get(t){return this.#H.get(t)}#F=Symbol("objectId");#V=[];#j;#D;#k;constructor(t,e,s){if(!t)throw new WrecError("name cannot be empty");if(WrecState.#H.has(t))throw new WrecError(`WrecState with name "${t}" already exists`);if(this.#j=t,this.#D=e,this.#k=createDeepProxy({},this.#B.bind(this)),e&&inBrowser){const e=sessionStorage.getItem("wrec-state-"+t),r=e?JSON.parse(e):void 0;r&&(s=r)}if(s)for(const[t,e]of Object.entries(s))this.addProperty(t,e);WrecState.#H.set(t,this)}addListener(t,e={}){const s=this.#V.find(e=>e.listenerRef.deref()===t);if(s){const{propertyMap:t}=s;for(const[s,r]of Object.entries(e))t[s]=r}else this.#V.push({listenerRef:new WeakRef(t),propertyMap:e})}addProperty(t,e){Object.defineProperty(this,t,{enumerable:!0,get(){return this.#k[t]},set(e){this.#k[t]=e}}),this.#k[t]=e}get id(){return this.#F}log(){console.log("WrecState:",this.#j);for(const[t,e]of Object.entries(this.#k))console.log(` ${t} = ${JSON.stringify(e)}`)}#B(t,e,s){const r=new Set;for(const o of this.#V){const i=o.listenerRef.deref();if(i)if(inBrowser&&i instanceof HTMLElement&&!i.isConnected)r.add(o);else{const{propertyMap:r}=o,n=Object.keys(r);(0===n.length||n.includes(t))&&i.changed(t,r[t],s,e,this)}else r.add(o)}this.#V=this.#V.filter(t=>!r.has(t))}removeListener(t){this.#V=this.#V.filter(e=>e.listenerRef.deref()!==t)}}if(inBrowser){"development"===process.env.NODE_ENV&&(window.WrecState=WrecState)}
1
+ import DOMPurify from"dompurify";import{getPathValue,setPathValue}from"./paths.js";const safeOnAttrNames=new Set(["onblur","onchange","onclick","onfocus","oninput","onkeydown","onreset","onsubmit"]);DOMPurify.addHook("uponSanitizeAttribute",(t,e)=>{const{attrName:s}=e,r=s.toLowerCase();safeOnAttrNames.has(r)&&(e.forceKeepAttr=!0)});class WrecError extends Error{}const CSS_PROPERTY_RE=/([a-zA-Z-]+)\s*:\s*([^;}]+)/g,FIRST_CHAR="a-zA-Z_$",OTHER_CHAR="a-zA-Z_$0-9",IDENTIFIER=`[a-zA-Z_$][${OTHER_CHAR}]*`,HTML_COMMENT_TEXT_RE=/<!--\s*(.*?)\s*-->/,HTML_ELEMENT_TEXT_RE=/<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g,REF_RE=new RegExp(`^this\\.${IDENTIFIER}$`),REFS_RE=new RegExp(`this\\.${IDENTIFIER}(\\.${IDENTIFIER})*`,"g"),REFS_TEST_RE=new RegExp(`this\\.${IDENTIFIER}(\\.${IDENTIFIER})*`),RESERVED_ATTRS=new Set(["class","style"]),SKIP=5;function canDisable(t){return t instanceof HTMLButtonElement||t instanceof HTMLFieldSetElement||t instanceof HTMLInputElement||t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof Wrec}export function createElement(t,e,s){const r=document.createElement(t);if(e)for(const[t,s]of Object.entries(e))r.setAttribute(t,s);return s&&(r.innerHTML=s),r}const defaultForType=t=>t===String?"":t===Number?0:t!==Boolean&&(t===Array?[]:t===Object?{}:void 0);function getAllDescendants(t){const e=[];let s=t.firstElementChild;for(;s;)e.push(s),s.shadowRoot&&e.push(...getAllDescendants(s.shadowRoot)),s.firstElementChild&&e.push(...getAllDescendants(s)),s=s.nextElementSibling;return e}const getPropName=t=>t.substring(5).split(".")[0];function interpolate(t,e){let s=t[0];return e.forEach((e,r)=>{s+=e+t[r+1]}),s}function isPrimitive(t){const e=typeof t;return"string"===e||"number"===e||"boolean"===e}function isTextArea(t){return"textarea"===t.localName}function isValueElement(t){const{localName:e}=t;return"input"===e||"select"===e}const removeHtmlComments=t=>t.replace(/<!--[\s\S]*?-->/g,"");function replace(t,e,s,r){return t.slice(0,e)+r+t.slice(e+s)}function sanitize(t){let e=t.trim(),s=null;/^\s*<tr[\s>]/i.test(e)?(e=`<table><tbody>${e}</tbody></table>`,s="tbody"):/^\s*<(td|th)[\s>]/i.test(e)?(e=`<table><tbody><tr>${e}</tr></tbody></table>`,s="tr"):/^\s*<option[\s>]/i.test(e)?(e=`<select>${e}</select>`,s="select"):/^\s*<col[\s>]/i.test(e)&&(e=`<table><colgroup>${e}</colgroup></table>`,s="colgroup");const r=DOMPurify.sanitize(e,{ADD_TAGS:["#comment"],ALLOW_UNKNOWN_PROTOCOLS:!0,RETURN_DOM_FRAGMENT:!0});if(s){const t=r.querySelector(s);if(t)return t.childNodes}return r.childNodes}function stringToNumber(t){const e=Number(t);if(isNaN(e))throw new WrecError(`can't convert "${t}" to a number`);return e}function updateAttribute(t,e,s){const[r,o]=e.split(":");if(isPrimitive(s))if("boolean"==typeof s){s?t.setAttribute(r,r):t.removeAttribute(r);t[Wrec.getPropName(r)]=s}else{const o=t.getAttribute(e),i=String(s);o!==i&&(t.setAttribute(r,i),"value"===r&&isValueElement(t)&&(t.value=i))}else{t[Wrec.getPropName(e)]=s}}function updateValue(t,e,s){const[r,o]=e.split(":");t instanceof CSSStyleRule?t.style.setProperty(r,s):(updateAttribute(t,r,s),"value"===r&&isValueElement(t)&&(t.value=s))}export class Wrec extends HTMLElement{static#t=new Map;static#e=new Map;static css="";static formAssociated=!1;static html="";static properties;static propToComputedMap;static propToExprsMap;static template=null;#s=this.constructor;#r=new Map;#o={};#i;#n={};#a=null;#c=new Map;constructor(){super(),this.attachShadow({mode:"open"});const t=this.#s;t.properties||(t.properties={}),t.propToComputedMap||(t.propToComputedMap=new Map),t.propToExprsMap||(t.propToExprsMap=new Map)}attributeChangedCallback(t,e,s){"disabled"===t&&this.#l();const r=Wrec.getPropName(t);if(this.#p(r)){const t=this.#h(r,String(s));this[r]=t;const o=this.#o[r];o&&this.setFormValue(o,String(t)),this.propertyChangedCallback(r,e,s)}}#u(){if(!this.shadowRoot)return;const t=this.#s;let{template:e}=t;if(!e){e=t.template=document.createElement("template");let s="<style>\n :host([hidden]) { display: none; }";t.css&&(s+=t.css),s+="</style>\n";let r=t.html.trim();r.startsWith("<")||(r=`<span>\x3c!--${r}--\x3e</span>`),e.innerHTML=s+r}this.shadowRoot.replaceChildren(e.content.cloneNode(!0))}changed(t,e,s){this[e]=s}connectedCallback(){this.#f(),this.#d(),this.#u(),this.hasAttribute("disabled")&&this.#l(),requestAnimationFrame(()=>{this.shadowRoot&&(this.#m(this.shadowRoot),this.#b(this.shadowRoot)),this.#E()})}#E(){const t=this.#s,{properties:e}=t;for(const[t,{computed:s}]of Object.entries(e))s&&(this[t]=this.#y(s))}#d(){const t=this.#s,{observedAttributes:e,properties:s}=t;for(const[t,r]of Object.entries(s))this.#g(t,r,e)}#g(t,e,s){const r=Wrec.getAttrName(t),o=this.hasAttribute(r);e.required&&!o&&this.#T(this,t,"is a required attribute");let i=e.value;this.hasOwnProperty(t)&&(i=this[t],delete this[t]);const{type:n}=e,a=n===Boolean?i||o:s.includes(r)&&o?this.#R(t,r):i||defaultForType(n),c="#"+t;this[c]=a,e.computed&&this.#A(t,e),Object.defineProperty(this,t,{enumerable:!0,get(){return this[c]},set(s){n===Number&&"string"==typeof s&&(s=stringToNumber(s));const o=this[c];if(s===o)return;this.#v(t,n,s),this[c]=s;const{state:i,stateProp:a}=this.#s.properties[t];a&&setPathValue(i,a,s),this.#w(t),this.#M(t,n,s,r),this.#S(t),this.#P(t,s);const l=this.#o[t];l&&this.setFormValue(l,String(s)),this.propertyChangedCallback(t,o,s),e.dispatch&&this.dispatch("change",{[t]:s})}})}#l(){const t=this.hasAttribute("disabled"),e=getAllDescendants(this.shadowRoot);for(const s of e)canDisable(s)&&(s.disabled=t)}disconnectedCallback(){this.#r.clear(),this.#n.clear(),this.#c.clear()}dispatch(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}displayIfSet(t,e="block"){return`display: ${t?e:"none"}`}static elementName(){return this.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}#x(t){const e=t instanceof Wrec;for(const s of t.getAttributeNames()){const r=t.getAttribute(s),o=this.#C(t,r);if(o){const r=this[o];void 0===r&&this.#N(t,s,o),t[o]=r;let[i,n]=s.split(":");if("value"===i)if(n){if(void 0===t["on"+n]){const e="refers to an unsupported event name";this.#T(t,s,e)}t.setAttribute(i,this[o])}else n="change";e&&t.#c.set(Wrec.getPropName(i),o)}this.#O(r,t,s)}}#y(t){const e=new Function("return "+t).call(this);return Array.isArray(e)?e.join(""):e}#_(t){const{localName:e}=t;if("style"===e){const{sheet:e}=t,s=e?.cssRules??[],r=Array.from(s);for(const t of r)if(t.constructor===CSSStyleRule){const e=Array.from(t.style);for(const s of e)if(s.startsWith("--")){const e=t.style.getPropertyValue(s);this.#O(e,t,s)}}}else{let e="";if(isTextArea(t)){this.#O(t.textContent,t);const s=t.textContent?.match(HTML_COMMENT_TEXT_RE);s&&(e=s[1])}else{const s=Array.from(t.childNodes).find(t=>t.nodeType===Node.COMMENT_NODE);s&&(e=s.textContent?.trim()??"")}if(e){const s=this.#C(t,e);s&&isTextArea(t)?t.textContent=this[s]:this.#O(e,t)}}}formAssociatedCallback(){let t=this.getAttribute("form-assoc");if(!t){const e=this.getAttribute("name");if(!e)return;if(!this.#p("value"))return;t=`value:${e}`}const e={},s=t.split(",");for(const t of s){const[s,r]=t.split(":");e[s.trim()]=r.trim()}this.#o=e,this.#i=new FormData,this.#a=this.attachInternals(),this.#a.setFormValue(this.#i);const r=Object.keys(this.#s.properties),o=this.#n;for(const t of r)o[t]=this[t]}formResetCallback(){const t=this.#n;for(const e of Object.keys(t)){let s=t[e];REF_RE.test(s)&&(s=this.#y(s)),this[e]=s}}static getAttrName(t){let e=Wrec.#e.get(t);return e||(e=t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Wrec.#e.set(t,e)),e}static getPropName(t){let e=Wrec.#t.get(t);return e||(e=t.replace(/-([a-z])/g,(t,e)=>e.toUpperCase()),Wrec.#t.set(t,e)),e}#$(t,e,s){if(1!==s.length)return;const[r]=s;if(!REF_RE.test(r))return;const o=isValueElement(t)||isTextArea(t);let[i,n]=(e??"").split(":");if(!(o&&"value"===i||isTextArea(t)))return;if(n){if(void 0===t["on"+n]){const s="refers to an unsupported event name";this.#T(t,e,s)}}else n="change";const a=getPropName(r);t.addEventListener(n,t=>{const{target:e}=t;if(!e)return;const s=e.value,{type:r}=this.#s.properties[a];this[a]=r===Number?stringToNumber(s):s,this.#S(a)})}#p(t){return Boolean(this.#s.properties[t])}#b(t){const e=Array.from(t.querySelectorAll("*"));for(const t of e)this.#x(t),t.firstElementChild||this.#_(t)}#I(){if(this.#s.formAssociated||null===this.closest("form"))return;const t=this.#s.name;throw new WrecError(`inside form, class ${t} requires "static formAssociated = true;"`)}static get observedAttributes(){const t=Object.keys(this.properties||{}).map(Wrec.getAttrName);return t.includes("disabled")||t.push("disabled"),t}propertyChangedCallback(t,e,s){}#C(t,e){if(!e||!REF_RE.test(e))return;const s=getPropName(e);return void 0===this[s]&&this.#N(t,"",s),s}#S(t){const e=this.#s.propToExprsMap.get(t)||[];for(const t of e){let e=this.#y(t);const s=this.#r.get(t)??[];for(const t of s)if(t instanceof HTMLElement)this.#L(t,e);else if(t instanceof CSSStyleRule);else{const{element:s,attrName:r}=t;s instanceof CSSStyleRule?s.style.setProperty(r,e):updateValue(s,r,e)}}}static register(){const t=this.elementName();customElements.get(t)||customElements.define(t,this)}#A(t,e){const{computed:s,uses:r}=e,o=this.#s.propToComputedMap;function i(e,s){let r=o.get(e);r||(r=[],o.set(e,r)),r.push([t,s])}const n=s.match(REFS_RE)||[];for(const e of n){const r=e.substring(5);void 0===this[r]&&this.#N(null,t,r),"function"!=typeof this[r]&&i(r,s)}if(r)for(const t of r.split(","))i(t,s)}#O(t,e,s=void 0){if(!t)return;const r=this.#W(e,s,t);if(!r){const r=t.replaceAll("this..","this.");return void(s?updateValue(e,s,r):"textContent"in e&&(e.textContent=r))}const o=this.#s;r.forEach(e=>{const s=getPropName(e);if("function"==typeof this[s])return;const r=o.propToExprsMap;let i=r.get(s);i||(i=[],r.set(s,i)),i.includes(t)||i.push(t)});for(const[t,e]of this.#r.entries())for(const s of e){const r=s instanceof HTMLElement||s instanceof CSSStyleRule?s:s.element;r instanceof CSSStyleRule||(r.isConnected||this.#r.set(t,e.filter(t=>t!==s)))}let i=this.#r.get(t);i||(i=[],this.#r.set(t,i)),i.push(s?{element:e,attrName:s}:e),e instanceof HTMLElement&&this.#$(e,s,r);const n=this.#y(t);s?updateValue(e,s,n):this.#L(e,n)}setAttributeSafe(t,e){this.hasAttribute(t)||this.setAttribute(t,e)}setFormValue(t,e){this.#i&&isPrimitive(e)&&(this.#i.set(t,e),this.#a?.setFormValue(this.#i))}#T(t,e,s){const r=this.#s,o=t instanceof HTMLElement?t.localName:"CSS rule";throw new WrecError(`component ${r.elementName()}`+(t?`, element "${o}"`:"")+(e?`, attribute "${e}"`:"")+` ${s}`)}#N(t,e,s){this.#T(t,e,`refers to missing property "${s}"`)}#R(t,e){return this.#h(t,this.getAttribute(e))}#h(t,e){if(e?.match(REFS_RE))return e;const s=this.#s,{type:r}=s.properties[t];return r||this.#T(null,t,"does not specify its type"),r===String?e:r===Number?stringToNumber(e):r===Boolean?"true"===e||"false"!==e&&"null"!==e&&(e&&e!==t&&this.#T(null,t,"is a Boolean attribute, so its value must match attribute name or be missing"),e===t):void 0}#M(t,e,s,r){if(isPrimitive(s)&&this.hasAttribute(r)){s!==(e===Boolean?this.hasAttribute(r):this.#R(t,r))&&updateAttribute(this,t,s)}}#w(t){const e=this.#s.propToComputedMap.get(t)||[];for(const[t,s]of e)this[t]=this.#y(s)}#L(t,e){if(void 0===e)return;const s=t instanceof HTMLElement,r=typeof e;if("string"!==r&&"number"!==r&&this.#T(t,void 0," computed content is not a string or number"),t instanceof HTMLElement&&isTextArea(t))t.value=e;else if(s&&"string"===r&&e.trim().startsWith("<")){const s=sanitize(e);t.replaceChildren(...s),this.#m(t),this.#b(t)}else s&&(t.textContent=e)}#P(t,e){const s=this.#c.get(t);if(!s)return;const r=this.getRootNode();if(!(r instanceof ShadowRoot))return;const{host:o}=r;if(!o)return;o[s]=e}useState(t,e){if(!e){e={};for(const s of Object.keys(t))e[s]=s}this.#H(t,e);for(const[s,r]of Object.entries(e))if(this.#p(r)){const e=getPathValue(t,s);void 0!==e&&(this[r]=e);const o=this.#s.properties[r];o.state=t,o.stateProp=s}t.addListener(this,e)}#f(){const t=this.#s,e=new Set(Object.keys(t.properties));for(const t of e)RESERVED_ATTRS.has(t)&&this.#T(null,"",`property "${t}" is not allowed because it is a reserved attribute`);this.#s.name;for(const t of this.getAttributeNames())if("class"!==t&&"id"!==t&&"disabled"!==t&&!t.startsWith("on"))if("form-assoc"!==t){if(!e.has(Wrec.getPropName(t))){if("name"===t){this.#I();continue}this.#T(null,t,"is not a supported attribute")}}else this.#I()}#W(t,e,s){const r=s.match(REFS_RE);if(r)return r.forEach(s=>{const r=getPropName(s);void 0===this[r]&&this.#N(t,e,r)}),r}#H(t,e){for(const[s,r]of Object.entries(e)){let e=getPathValue(t,s);if(void 0===e)throw new WrecError(`invalid state path "${s}"`);e=this[r],this.#p(r)||this.#T(null,r,"refers to missing property in useState map")}}#v(t,e,s){if(s instanceof e)return;let r=typeof s;if("object"===r){const{constructor:o}=s;r=o.name,o!==e&&this.#T(null,t,`was set to a ${r}, but must be a ${e.name}`)}r!==e.name.toLowerCase()&&this.#T(null,t,`was set to a ${r}, but must be a ${e.name}`)}#m(t){const e=Array.from(t.querySelectorAll("*"));for(const t of e){const e=[];for(const s of Array.from(t.attributes)){const r=s.name;if(r.startsWith("on")){let o=r.slice(2);o=o[0].toLowerCase()+o.slice(1).toLowerCase();const i=s.value;let n;this.#W(t,r,i),"function"==typeof this[i]?n=t=>this[i](t):(this.#W(t,r,i),n=()=>this.#y(i)),t.addEventListener(o,n),e.push(r)}}for(const s of e)t.removeAttribute(s)}}}export function css(t,...e){let s=interpolate(t,e);for(;;){const t=CSS_PROPERTY_RE.exec(s);if(!t)break;const e=t[2];if(REFS_TEST_RE.test(e)){const r=t[1];if(!r.startsWith("--")){const o=`--${r}: ${e};\n ${r}: var(--${r})`;s=replace(s,t.index,t[0].length,o)}}}return s}export function html(t,...e){let s=interpolate(t,e);for(;;){const t=HTML_ELEMENT_TEXT_RE.exec(s);if(!t||"style"===t[1])break;const e=removeHtmlComments(t[2]);if(REFS_TEST_RE.test(e)){const r=`\x3c!-- ${e.trim()} --\x3e`;s=replace(s,t.index+t[0].indexOf(">")+1,e.length,r)}}return s}import{createDeepProxy,proxyToPlainObject}from"./proxies.js";const inBrowser="undefined"!=typeof window&&void 0!==window.document;class WrecError extends Error{}export class WrecState{static#D=new Map;static{inBrowser&&window.addEventListener("beforeunload",()=>{for(const[t,e]of this.#D.entries())if(e.#F){const s=proxyToPlainObject(e);sessionStorage.setItem("wrec-state-"+t,JSON.stringify(s))}})}static get(t){return this.#D.get(t)}#V=Symbol("objectId");#j=[];#k;#F;#B;constructor(t,e,s){if(!t)throw new WrecError("name cannot be empty");if(WrecState.#D.has(t))throw new WrecError(`WrecState with name "${t}" already exists`);if(this.#k=t,this.#F=e,this.#B=createDeepProxy({},this.#z.bind(this)),e&&inBrowser){const e=sessionStorage.getItem("wrec-state-"+t),r=e?JSON.parse(e):void 0;r&&(s=r)}if(s)for(const[t,e]of Object.entries(s))this.addProperty(t,e);WrecState.#D.set(t,this)}addListener(t,e={}){const s=this.#j.find(e=>e.listenerRef.deref()===t);if(s){const{propertyMap:t}=s;for(const[s,r]of Object.entries(e))t[s]=r}else this.#j.push({listenerRef:new WeakRef(t),propertyMap:e})}addProperty(t,e){Object.defineProperty(this,t,{enumerable:!0,get(){return this.#B[t]},set(e){this.#B[t]=e}}),this.#B[t]=e}get id(){return this.#V}log(){console.log("WrecState:",this.#k);for(const[t,e]of Object.entries(this.#B))console.log(` ${t} = ${JSON.stringify(e)}`)}#z(t,e,s){const r=new Set;for(const o of this.#j){const i=o.listenerRef.deref();if(i)if(inBrowser&&i instanceof HTMLElement&&!i.isConnected)r.add(o);else{const{propertyMap:r}=o,n=Object.keys(r);(0===n.length||n.includes(t))&&i.changed(t,r[t],s,e,this)}else r.add(o)}this.#j=this.#j.filter(t=>!r.has(t))}removeListener(t){this.#j=this.#j.filter(e=>e.listenerRef.deref()!==t)}}if(inBrowser){"development"===process.env.NODE_ENV&&(window.WrecState=WrecState)}
package/dist/wrec.umd.js CHANGED
@@ -1,5 +1,5 @@
1
- (function(F,Y){typeof exports=="object"&&typeof module<"u"?Y(exports):typeof define=="function"&&define.amd?define(["exports"],Y):(F=typeof globalThis<"u"?globalThis:F||self,Y(F.wrec={}))})(this,(function(F){"use strict";const{entries:Y,setPrototypeOf:ne,isFrozen:je,getPrototypeOf:Ye,getOwnPropertyDescriptor:Ve}=Object;let{freeze:C,seal:I,create:Rt}=Object,{apply:Ct,construct:Nt}=typeof Reflect<"u"&&Reflect;C||(C=function(t){return t}),I||(I=function(t){return t}),Ct||(Ct=function(t,e){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;r<o;r++)i[r-2]=arguments[r];return t.apply(e,i)}),Nt||(Nt=function(t){for(var e=arguments.length,o=new Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];return new t(...o)});const pt=O(Array.prototype.forEach),Xe=O(Array.prototype.lastIndexOf),oe=O(Array.prototype.pop),tt=O(Array.prototype.push),qe=O(Array.prototype.splice),mt=O(String.prototype.toLowerCase),Ot=O(String.prototype.toString),Lt=O(String.prototype.match),et=O(String.prototype.replace),Ke=O(String.prototype.indexOf),Ze=O(String.prototype.trim),P=O(Object.prototype.hasOwnProperty),N=O(RegExp.prototype.test),nt=Je(TypeError);function O(s){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,o=new Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];return Ct(s,t,o)}}function Je(s){return function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return Nt(s,e)}}function m(s,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:mt;ne&&ne(s,null);let o=t.length;for(;o--;){let i=t[o];if(typeof i=="string"){const r=e(i);r!==i&&(je(t)||(t[o]=r),i=r)}s[i]=!0}return s}function Qe(s){for(let t=0;t<s.length;t++)P(s,t)||(s[t]=null);return s}function v(s){const t=Rt(null);for(const[e,o]of Y(s))P(s,e)&&(Array.isArray(o)?t[e]=Qe(o):o&&typeof o=="object"&&o.constructor===Object?t[e]=v(o):t[e]=o);return t}function ot(s,t){for(;s!==null;){const o=Ve(s,t);if(o){if(o.get)return O(o.get);if(typeof o.value=="function")return O(o.value)}s=Ye(s)}function e(){return null}return e}const ie=C(["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"]),Mt=C(["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"]),wt=C(["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"]),tn=C(["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"]),Dt=C(["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"]),en=C(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),se=C(["#text"]),re=C(["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"]),It=C(["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"]),ae=C(["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"]),ht=C(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),nn=I(/\{\{[\w\W]*|[\w\W]*\}\}/gm),on=I(/<%[\w\W]*|[\w\W]*%>/gm),sn=I(/\$\{[\w\W]*/gm),rn=I(/^data-[\-\w.\u00B7-\uFFFF]+$/),an=I(/^aria-[\-\w]+$/),ce=I(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),cn=I(/^(?:\w+script|data):/i),ln=I(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),le=I(/^html$/i),fn=I(/^[a-z][.\w]*(-[.\w]+)+$/i);var fe=Object.freeze({__proto__:null,ARIA_ATTR:an,ATTR_WHITESPACE:ln,CUSTOM_ELEMENT:fn,DATA_ATTR:rn,DOCTYPE_NAME:le,ERB_EXPR:on,IS_ALLOWED_URI:ce,IS_SCRIPT_OR_DATA:cn,MUSTACHE_EXPR:nn,TMPLIT_EXPR:sn});const it={element:1,text:3,progressingInstruction:7,comment:8,document:9},un=function(){return typeof window>"u"?null:window},pn=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let o=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(o=e.getAttribute(i));const r="dompurify"+(o?"#"+o:"");try{return t.createPolicy(r,{createHTML(c){return c},createScriptURL(c){return c}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},ue=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function pe(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:un();const t=f=>pe(f);if(t.version="3.3.1",t.removed=[],!s||!s.document||s.document.nodeType!==it.document||!s.Element)return t.isSupported=!1,t;let{document:e}=s;const o=e,i=o.currentScript,{DocumentFragment:r,HTMLTemplateElement:c,Node:h,Element:u,NodeFilter:p,NamedNodeMap:d=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:y,DOMParser:G,trustedTypes:U}=s,B=u.prototype,On=ot(B,"cloneNode"),Ln=ot(B,"remove"),Mn=ot(B,"nextSibling"),wn=ot(B,"childNodes"),Tt=ot(B,"parentNode");if(typeof c=="function"){const f=e.createElement("template");f.content&&f.content.ownerDocument&&(e=f.content.ownerDocument)}let M,ct="";const{implementation:zt,createNodeIterator:Dn,createDocumentFragment:In,getElementsByTagName:Pn}=e,{importNode:vn}=o;let w=ue();t.isSupported=typeof Y=="function"&&typeof Tt=="function"&&zt&&zt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:$t,ERB_EXPR:Gt,TMPLIT_EXPR:Bt,DATA_ATTR:xn,ARIA_ATTR:kn,IS_SCRIPT_OR_DATA:Fn,ATTR_WHITESPACE:be,CUSTOM_ELEMENT:Un}=fe;let{IS_ALLOWED_URI:Se}=fe,_=null;const ye=m({},[...ie,...Mt,...wt,...Dt,...se]);let b=null;const Re=m({},[...re,...It,...ae,...ht]);let E=Object.seal(Rt(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}})),lt=null,Wt=null;const V=Object.seal(Rt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ce=!0,jt=!0,Ne=!1,Oe=!0,X=!1,Et=!0,W=!1,Yt=!1,Vt=!1,q=!1,gt=!1,At=!1,Le=!0,Me=!1;const Hn="user-content-";let Xt=!0,ft=!1,K={},x=null;const qt=m({},["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"]);let we=null;const De=m({},["audio","video","img","source","image","track"]);let Kt=null;const Ie=m({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),_t="http://www.w3.org/1998/Math/MathML",bt="http://www.w3.org/2000/svg",H="http://www.w3.org/1999/xhtml";let Z=H,Zt=!1,Jt=null;const zn=m({},[_t,bt,H],Ot);let St=m({},["mi","mo","mn","ms","mtext"]),yt=m({},["annotation-xml"]);const $n=m({},["title","style","font","a","script"]);let ut=null;const Gn=["application/xhtml+xml","text/html"],Bn="text/html";let A=null,J=null;const Wn=e.createElement("form"),Pe=function(n){return n instanceof RegExp||n instanceof Function},Qt=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(J&&J===n)){if((!n||typeof n!="object")&&(n={}),n=v(n),ut=Gn.indexOf(n.PARSER_MEDIA_TYPE)===-1?Bn:n.PARSER_MEDIA_TYPE,A=ut==="application/xhtml+xml"?Ot:mt,_=P(n,"ALLOWED_TAGS")?m({},n.ALLOWED_TAGS,A):ye,b=P(n,"ALLOWED_ATTR")?m({},n.ALLOWED_ATTR,A):Re,Jt=P(n,"ALLOWED_NAMESPACES")?m({},n.ALLOWED_NAMESPACES,Ot):zn,Kt=P(n,"ADD_URI_SAFE_ATTR")?m(v(Ie),n.ADD_URI_SAFE_ATTR,A):Ie,we=P(n,"ADD_DATA_URI_TAGS")?m(v(De),n.ADD_DATA_URI_TAGS,A):De,x=P(n,"FORBID_CONTENTS")?m({},n.FORBID_CONTENTS,A):qt,lt=P(n,"FORBID_TAGS")?m({},n.FORBID_TAGS,A):v({}),Wt=P(n,"FORBID_ATTR")?m({},n.FORBID_ATTR,A):v({}),K=P(n,"USE_PROFILES")?n.USE_PROFILES:!1,Ce=n.ALLOW_ARIA_ATTR!==!1,jt=n.ALLOW_DATA_ATTR!==!1,Ne=n.ALLOW_UNKNOWN_PROTOCOLS||!1,Oe=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,X=n.SAFE_FOR_TEMPLATES||!1,Et=n.SAFE_FOR_XML!==!1,W=n.WHOLE_DOCUMENT||!1,q=n.RETURN_DOM||!1,gt=n.RETURN_DOM_FRAGMENT||!1,At=n.RETURN_TRUSTED_TYPE||!1,Vt=n.FORCE_BODY||!1,Le=n.SANITIZE_DOM!==!1,Me=n.SANITIZE_NAMED_PROPS||!1,Xt=n.KEEP_CONTENT!==!1,ft=n.IN_PLACE||!1,Se=n.ALLOWED_URI_REGEXP||ce,Z=n.NAMESPACE||H,St=n.MATHML_TEXT_INTEGRATION_POINTS||St,yt=n.HTML_INTEGRATION_POINTS||yt,E=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&Pe(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(E.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&Pe(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(E.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(E.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),X&&(jt=!1),gt&&(q=!0),K&&(_=m({},se),b=[],K.html===!0&&(m(_,ie),m(b,re)),K.svg===!0&&(m(_,Mt),m(b,It),m(b,ht)),K.svgFilters===!0&&(m(_,wt),m(b,It),m(b,ht)),K.mathMl===!0&&(m(_,Dt),m(b,ae),m(b,ht))),n.ADD_TAGS&&(typeof n.ADD_TAGS=="function"?V.tagCheck=n.ADD_TAGS:(_===ye&&(_=v(_)),m(_,n.ADD_TAGS,A))),n.ADD_ATTR&&(typeof n.ADD_ATTR=="function"?V.attributeCheck=n.ADD_ATTR:(b===Re&&(b=v(b)),m(b,n.ADD_ATTR,A))),n.ADD_URI_SAFE_ATTR&&m(Kt,n.ADD_URI_SAFE_ATTR,A),n.FORBID_CONTENTS&&(x===qt&&(x=v(x)),m(x,n.FORBID_CONTENTS,A)),n.ADD_FORBID_CONTENTS&&(x===qt&&(x=v(x)),m(x,n.ADD_FORBID_CONTENTS,A)),Xt&&(_["#text"]=!0),W&&m(_,["html","head","body"]),_.table&&(m(_,["tbody"]),delete lt.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');M=n.TRUSTED_TYPES_POLICY,ct=M.createHTML("")}else M===void 0&&(M=pn(U,i)),M!==null&&typeof ct=="string"&&(ct=M.createHTML(""));C&&C(n),J=n}},ve=m({},[...Mt,...wt,...tn]),xe=m({},[...Dt,...en]),jn=function(n){let a=Tt(n);(!a||!a.tagName)&&(a={namespaceURI:Z,tagName:"template"});const l=mt(n.tagName),T=mt(a.tagName);return Jt[n.namespaceURI]?n.namespaceURI===bt?a.namespaceURI===H?l==="svg":a.namespaceURI===_t?l==="svg"&&(T==="annotation-xml"||St[T]):!!ve[l]:n.namespaceURI===_t?a.namespaceURI===H?l==="math":a.namespaceURI===bt?l==="math"&&yt[T]:!!xe[l]:n.namespaceURI===H?a.namespaceURI===bt&&!yt[T]||a.namespaceURI===_t&&!St[T]?!1:!xe[l]&&($n[l]||!ve[l]):!!(ut==="application/xhtml+xml"&&Jt[n.namespaceURI]):!1},k=function(n){tt(t.removed,{element:n});try{Tt(n).removeChild(n)}catch{Ln(n)}},j=function(n,a){try{tt(t.removed,{attribute:a.getAttributeNode(n),from:a})}catch{tt(t.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is")if(q||gt)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},ke=function(n){let a=null,l=null;if(Vt)n="<remove></remove>"+n;else{const g=Lt(n,/^[\r\n\t ]+/);l=g&&g[0]}ut==="application/xhtml+xml"&&Z===H&&(n='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+n+"</body></html>");const T=M?M.createHTML(n):n;if(Z===H)try{a=new G().parseFromString(T,ut)}catch{}if(!a||!a.documentElement){a=zt.createDocument(Z,"template",null);try{a.documentElement.innerHTML=Zt?ct:T}catch{}}const R=a.body||a.documentElement;return n&&l&&R.insertBefore(e.createTextNode(l),R.childNodes[0]||null),Z===H?Pn.call(a,W?"html":"body")[0]:W?a.documentElement:R},Fe=function(n){return Dn.call(n.ownerDocument||n,n,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT|p.SHOW_PROCESSING_INSTRUCTION|p.SHOW_CDATA_SECTION,null)},te=function(n){return n instanceof y&&(typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof d)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},Ue=function(n){return typeof h=="function"&&n instanceof h};function z(f,n,a){pt(f,l=>{l.call(t,n,a,J)})}const He=function(n){let a=null;if(z(w.beforeSanitizeElements,n,null),te(n))return k(n),!0;const l=A(n.nodeName);if(z(w.uponSanitizeElement,n,{tagName:l,allowedTags:_}),Et&&n.hasChildNodes()&&!Ue(n.firstElementChild)&&N(/<[/\w!]/g,n.innerHTML)&&N(/<[/\w!]/g,n.textContent)||n.nodeType===it.progressingInstruction||Et&&n.nodeType===it.comment&&N(/<[/\w]/g,n.data))return k(n),!0;if(!(V.tagCheck instanceof Function&&V.tagCheck(l))&&(!_[l]||lt[l])){if(!lt[l]&&$e(l)&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,l)||E.tagNameCheck instanceof Function&&E.tagNameCheck(l)))return!1;if(Xt&&!x[l]){const T=Tt(n)||n.parentNode,R=wn(n)||n.childNodes;if(R&&T){const g=R.length;for(let D=g-1;D>=0;--D){const $=On(R[D],!0);$.__removalCount=(n.__removalCount||0)+1,T.insertBefore($,Mn(n))}}}return k(n),!0}return n instanceof u&&!jn(n)||(l==="noscript"||l==="noembed"||l==="noframes")&&N(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(X&&n.nodeType===it.text&&(a=n.textContent,pt([$t,Gt,Bt],T=>{a=et(a,T," ")}),n.textContent!==a&&(tt(t.removed,{element:n.cloneNode()}),n.textContent=a)),z(w.afterSanitizeElements,n,null),!1)},ze=function(n,a,l){if(Le&&(a==="id"||a==="name")&&(l in e||l in Wn))return!1;if(!(jt&&!Wt[a]&&N(xn,a))){if(!(Ce&&N(kn,a))){if(!(V.attributeCheck instanceof Function&&V.attributeCheck(a,n))){if(!b[a]||Wt[a]){if(!($e(n)&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,n)||E.tagNameCheck instanceof Function&&E.tagNameCheck(n))&&(E.attributeNameCheck instanceof RegExp&&N(E.attributeNameCheck,a)||E.attributeNameCheck instanceof Function&&E.attributeNameCheck(a,n))||a==="is"&&E.allowCustomizedBuiltInElements&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,l)||E.tagNameCheck instanceof Function&&E.tagNameCheck(l))))return!1}else if(!Kt[a]){if(!N(Se,et(l,be,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Ke(l,"data:")===0&&we[n])){if(!(Ne&&!N(Fn,et(l,be,"")))){if(l)return!1}}}}}}}return!0},$e=function(n){return n!=="annotation-xml"&&Lt(n,Un)},Ge=function(n){z(w.beforeSanitizeAttributes,n,null);const{attributes:a}=n;if(!a||te(n))return;const l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:b,forceKeepAttr:void 0};let T=a.length;for(;T--;){const R=a[T],{name:g,namespaceURI:D,value:$}=R,Q=A(g),ee=$;let S=g==="value"?ee:Ze(ee);if(l.attrName=Q,l.attrValue=S,l.keepAttr=!0,l.forceKeepAttr=void 0,z(w.uponSanitizeAttribute,n,l),S=l.attrValue,Me&&(Q==="id"||Q==="name")&&(j(g,n),S=Hn+S),Et&&N(/((--!?|])>)|<\/(style|title|textarea)/i,S)){j(g,n);continue}if(Q==="attributename"&&Lt(S,"href")){j(g,n);continue}if(l.forceKeepAttr)continue;if(!l.keepAttr){j(g,n);continue}if(!Oe&&N(/\/>/i,S)){j(g,n);continue}X&&pt([$t,Gt,Bt],We=>{S=et(S,We," ")});const Be=A(n.nodeName);if(!ze(Be,Q,S)){j(g,n);continue}if(M&&typeof U=="object"&&typeof U.getAttributeType=="function"&&!D)switch(U.getAttributeType(Be,Q)){case"TrustedHTML":{S=M.createHTML(S);break}case"TrustedScriptURL":{S=M.createScriptURL(S);break}}if(S!==ee)try{D?n.setAttributeNS(D,g,S):n.setAttribute(g,S),te(n)?k(n):oe(t.removed)}catch{j(g,n)}}z(w.afterSanitizeAttributes,n,null)},Yn=function f(n){let a=null;const l=Fe(n);for(z(w.beforeSanitizeShadowDOM,n,null);a=l.nextNode();)z(w.uponSanitizeShadowNode,a,null),He(a),Ge(a),a.content instanceof r&&f(a.content);z(w.afterSanitizeShadowDOM,n,null)};return t.sanitize=function(f){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,l=null,T=null,R=null;if(Zt=!f,Zt&&(f="<!-->"),typeof f!="string"&&!Ue(f))if(typeof f.toString=="function"){if(f=f.toString(),typeof f!="string")throw nt("dirty is not a string, aborting")}else throw nt("toString is not a function");if(!t.isSupported)return f;if(Yt||Qt(n),t.removed=[],typeof f=="string"&&(ft=!1),ft){if(f.nodeName){const $=A(f.nodeName);if(!_[$]||lt[$])throw nt("root node is forbidden and cannot be sanitized in-place")}}else if(f instanceof h)a=ke("<!---->"),l=a.ownerDocument.importNode(f,!0),l.nodeType===it.element&&l.nodeName==="BODY"||l.nodeName==="HTML"?a=l:a.appendChild(l);else{if(!q&&!X&&!W&&f.indexOf("<")===-1)return M&&At?M.createHTML(f):f;if(a=ke(f),!a)return q?null:At?ct:""}a&&Vt&&k(a.firstChild);const g=Fe(ft?f:a);for(;T=g.nextNode();)He(T),Ge(T),T.content instanceof r&&Yn(T.content);if(ft)return f;if(q){if(gt)for(R=In.call(a.ownerDocument);a.firstChild;)R.appendChild(a.firstChild);else R=a;return(b.shadowroot||b.shadowrootmode)&&(R=vn.call(o,R,!0)),R}let D=W?a.outerHTML:a.innerHTML;return W&&_["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&N(le,a.ownerDocument.doctype.name)&&(D="<!DOCTYPE "+a.ownerDocument.doctype.name+`>
2
- `+D),X&&pt([$t,Gt,Bt],$=>{D=et(D,$," ")}),M&&At?M.createHTML(D):D},t.setConfig=function(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qt(f),Yt=!0},t.clearConfig=function(){J=null,Yt=!1},t.isValidAttribute=function(f,n,a){J||Qt({});const l=A(f),T=A(n);return ze(l,T,a)},t.addHook=function(f,n){typeof n=="function"&&tt(w[f],n)},t.removeHook=function(f,n){if(n!==void 0){const a=Xe(w[f],n);return a===-1?void 0:qe(w[f],a,1)[0]}return oe(w[f])},t.removeHooks=function(f){w[f]=[]},t.removeAllHooks=function(){w=ue()},t}var me=pe();function he(s,t){let e=s;for(const o of t.split("."))e=e[o];return e}function mn(s,t,e){const o=t.split("."),i=o.length-1;let r=s;o.forEach((c,h)=>{h===i?r[c]=e:r=r[c]})}const hn=new Set(["onblur","onchange","onclick","onfocus","oninput","onkeydown","onreset","onsubmit"]);me.addHook("uponSanitizeAttribute",(s,t)=>{const{attrName:e}=t,o=e.toLowerCase();hn.has(o)&&(t.forceKeepAttr=!0)});class st extends Error{}const dn=/([a-zA-Z-]+)\s*:\s*([^;}]+)/g,de="a-zA-Z_$",Tn=de+"0-9",rt=`[${de}][${Tn}]*`,En=/<!--\s*(.*?)\s*-->/,gn=/<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g,Pt=new RegExp(`^this\\.${rt}$`),vt=new RegExp(`this\\.${rt}(\\.${rt})*`,"g"),Te=new RegExp(`this\\.${rt}(\\.${rt})*`),An=new Set(["class","style"]),Ee=5;function _n(s){return s instanceof HTMLButtonElement||s instanceof HTMLFieldSetElement||s instanceof HTMLInputElement||s instanceof HTMLSelectElement||s instanceof HTMLTextAreaElement||s instanceof L}function bn(s,t,e){const o=document.createElement(s);if(t)for(const[i,r]of Object.entries(t))o.setAttribute(i,r);return e&&(o.innerHTML=e),o}const Sn=s=>s===String?"":s===Number?0:s===Boolean?!1:s===Array?[]:s===Object?{}:void 0;function xt(s){const t=[];let e=s.firstElementChild;for(;e;)t.push(e),e.shadowRoot&&t.push(...xt(e.shadowRoot)),e.firstElementChild&&t.push(...xt(e)),e=e.nextElementSibling;return t}const dt=s=>s.substring(Ee).split(".")[0];function ge(s,t){let e=s[0];return t.forEach((o,i)=>{e+=o+s[i+1]}),e}function kt(s){const t=typeof s;return t==="string"||t==="number"||t==="boolean"}function at(s){return s.localName==="textarea"}function Ft(s){const{localName:t}=s;return t==="input"||t==="select"}const yn=s=>s.replace(/<!--[\s\S]*?-->/g,"");function Ae(s,t,e,o){return s.slice(0,t)+o+s.slice(t+e)}function Rn(s){let t=s.trim(),e=null;/^\s*<tr[\s>]/i.test(t)?(t=`<table><tbody>${t}</tbody></table>`,e="tbody"):/^\s*<(td|th)[\s>]/i.test(t)?(t=`<table><tbody><tr>${t}</tr></tbody></table>`,e="tr"):/^\s*<option[\s>]/i.test(t)?(t=`<select>${t}</select>`,e="select"):/^\s*<col[\s>]/i.test(t)&&(t=`<table><colgroup>${t}</colgroup></table>`,e="colgroup");const o=me.sanitize(t,{ADD_TAGS:["#comment"],ALLOW_UNKNOWN_PROTOCOLS:!0,RETURN_DOM_FRAGMENT:!0});if(e){const i=o.querySelector(e);if(i)return i.childNodes}return o.childNodes}function Ut(s){const t=Number(s);if(isNaN(t))throw new st(`can't convert "${s}" to a number`);return t}function _e(s,t,e){const[o,i]=t.split(":");if(kt(e))if(typeof e=="boolean"){e?s.setAttribute(o,o):s.removeAttribute(o);const r=L.getPropName(o);s[r]=e}else{const r=s.getAttribute(t),c=String(e);r!==c&&(s.setAttribute(o,c),o==="value"&&Ft(s)&&(s.value=c))}else{const r=L.getPropName(t);s[r]=e}}function Ht(s,t,e){const[o,i]=t.split(":");s instanceof CSSStyleRule?s.style.setProperty(o,e):(_e(s,o,e),o==="value"&&Ft(s)&&(s.value=e))}class L extends HTMLElement{static#m=new Map;static#h=new Map;static css="";static formAssociated=!1;static html="";static properties;static propToComputedMap;static propToExprsMap;static template=null;#t=this.constructor;#n=new Map;#c={};#i;#l={};#f=null;#u=new Map;constructor(){super(),this.attachShadow({mode:"open"});const t=this.#t;t.properties||(t.properties={}),t.propToComputedMap||(t.propToComputedMap=new Map),t.propToExprsMap||(t.propToExprsMap=new Map)}attributeChangedCallback(t,e,o){t==="disabled"&&this.#d();const i=L.getPropName(t);if(this.#s(i)){const r=this.#_(i,String(o));this[i]=r;const c=this.#c[i];c&&this.setFormValue(c,String(r)),this.propertyChangedCallback(i,e,o)}}#y(){if(!this.shadowRoot)return;const t=this.#t;let{template:e}=t;if(!e){e=t.template=document.createElement("template");let o=`<style>
1
+ (function(F,Y){typeof exports=="object"&&typeof module<"u"?Y(exports):typeof define=="function"&&define.amd?define(["exports"],Y):(F=typeof globalThis<"u"?globalThis:F||self,Y(F.wrec={}))})(this,(function(F){"use strict";const{entries:Y,setPrototypeOf:ne,isFrozen:je,getPrototypeOf:Ye,getOwnPropertyDescriptor:Ve}=Object;let{freeze:C,seal:I,create:Rt}=Object,{apply:Ct,construct:Nt}=typeof Reflect<"u"&&Reflect;C||(C=function(t){return t}),I||(I=function(t){return t}),Ct||(Ct=function(t,e){for(var o=arguments.length,i=new Array(o>2?o-2:0),r=2;r<o;r++)i[r-2]=arguments[r];return t.apply(e,i)}),Nt||(Nt=function(t){for(var e=arguments.length,o=new Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];return new t(...o)});const ut=O(Array.prototype.forEach),Xe=O(Array.prototype.lastIndexOf),oe=O(Array.prototype.pop),tt=O(Array.prototype.push),qe=O(Array.prototype.splice),pt=O(String.prototype.toLowerCase),Ot=O(String.prototype.toString),Lt=O(String.prototype.match),et=O(String.prototype.replace),Ke=O(String.prototype.indexOf),Ze=O(String.prototype.trim),P=O(Object.prototype.hasOwnProperty),N=O(RegExp.prototype.test),nt=Je(TypeError);function O(s){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,o=new Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];return Ct(s,t,o)}}function Je(s){return function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return Nt(s,e)}}function m(s,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:pt;ne&&ne(s,null);let o=t.length;for(;o--;){let i=t[o];if(typeof i=="string"){const r=e(i);r!==i&&(je(t)||(t[o]=r),i=r)}s[i]=!0}return s}function Qe(s){for(let t=0;t<s.length;t++)P(s,t)||(s[t]=null);return s}function v(s){const t=Rt(null);for(const[e,o]of Y(s))P(s,e)&&(Array.isArray(o)?t[e]=Qe(o):o&&typeof o=="object"&&o.constructor===Object?t[e]=v(o):t[e]=o);return t}function ot(s,t){for(;s!==null;){const o=Ve(s,t);if(o){if(o.get)return O(o.get);if(typeof o.value=="function")return O(o.value)}s=Ye(s)}function e(){return null}return e}const ie=C(["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"]),Mt=C(["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"]),wt=C(["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"]),tn=C(["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"]),Dt=C(["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"]),en=C(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),se=C(["#text"]),re=C(["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"]),It=C(["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"]),ae=C(["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"]),mt=C(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),nn=I(/\{\{[\w\W]*|[\w\W]*\}\}/gm),on=I(/<%[\w\W]*|[\w\W]*%>/gm),sn=I(/\$\{[\w\W]*/gm),rn=I(/^data-[\-\w.\u00B7-\uFFFF]+$/),an=I(/^aria-[\-\w]+$/),ce=I(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),cn=I(/^(?:\w+script|data):/i),ln=I(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),le=I(/^html$/i),fn=I(/^[a-z][.\w]*(-[.\w]+)+$/i);var fe=Object.freeze({__proto__:null,ARIA_ATTR:an,ATTR_WHITESPACE:ln,CUSTOM_ELEMENT:fn,DATA_ATTR:rn,DOCTYPE_NAME:le,ERB_EXPR:on,IS_ALLOWED_URI:ce,IS_SCRIPT_OR_DATA:cn,MUSTACHE_EXPR:nn,TMPLIT_EXPR:sn});const it={element:1,text:3,progressingInstruction:7,comment:8,document:9},un=function(){return typeof window>"u"?null:window},pn=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let o=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(o=e.getAttribute(i));const r="dompurify"+(o?"#"+o:"");try{return t.createPolicy(r,{createHTML(c){return c},createScriptURL(c){return c}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},ue=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function pe(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:un();const t=f=>pe(f);if(t.version="3.3.1",t.removed=[],!s||!s.document||s.document.nodeType!==it.document||!s.Element)return t.isSupported=!1,t;let{document:e}=s;const o=e,i=o.currentScript,{DocumentFragment:r,HTMLTemplateElement:c,Node:h,Element:u,NodeFilter:p,NamedNodeMap:d=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:y,DOMParser:$,trustedTypes:U}=s,B=u.prototype,On=ot(B,"cloneNode"),Ln=ot(B,"remove"),Mn=ot(B,"nextSibling"),wn=ot(B,"childNodes"),Tt=ot(B,"parentNode");if(typeof c=="function"){const f=e.createElement("template");f.content&&f.content.ownerDocument&&(e=f.content.ownerDocument)}let M,at="";const{implementation:zt,createNodeIterator:Dn,createDocumentFragment:In,getElementsByTagName:Pn}=e,{importNode:vn}=o;let w=ue();t.isSupported=typeof Y=="function"&&typeof Tt=="function"&&zt&&zt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Gt,ERB_EXPR:$t,TMPLIT_EXPR:Bt,DATA_ATTR:xn,ARIA_ATTR:kn,IS_SCRIPT_OR_DATA:Fn,ATTR_WHITESPACE:be,CUSTOM_ELEMENT:Un}=fe;let{IS_ALLOWED_URI:Se}=fe,_=null;const ye=m({},[...ie,...Mt,...wt,...Dt,...se]);let b=null;const Re=m({},[...re,...It,...ae,...mt]);let E=Object.seal(Rt(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}})),ct=null,Wt=null;const V=Object.seal(Rt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ce=!0,jt=!0,Ne=!1,Oe=!0,X=!1,Et=!0,W=!1,Yt=!1,Vt=!1,q=!1,gt=!1,At=!1,Le=!0,Me=!1;const Hn="user-content-";let Xt=!0,lt=!1,K={},x=null;const qt=m({},["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"]);let we=null;const De=m({},["audio","video","img","source","image","track"]);let Kt=null;const Ie=m({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),_t="http://www.w3.org/1998/Math/MathML",bt="http://www.w3.org/2000/svg",H="http://www.w3.org/1999/xhtml";let Z=H,Zt=!1,Jt=null;const zn=m({},[_t,bt,H],Ot);let St=m({},["mi","mo","mn","ms","mtext"]),yt=m({},["annotation-xml"]);const Gn=m({},["title","style","font","a","script"]);let ft=null;const $n=["application/xhtml+xml","text/html"],Bn="text/html";let A=null,J=null;const Wn=e.createElement("form"),Pe=function(n){return n instanceof RegExp||n instanceof Function},Qt=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(J&&J===n)){if((!n||typeof n!="object")&&(n={}),n=v(n),ft=$n.indexOf(n.PARSER_MEDIA_TYPE)===-1?Bn:n.PARSER_MEDIA_TYPE,A=ft==="application/xhtml+xml"?Ot:pt,_=P(n,"ALLOWED_TAGS")?m({},n.ALLOWED_TAGS,A):ye,b=P(n,"ALLOWED_ATTR")?m({},n.ALLOWED_ATTR,A):Re,Jt=P(n,"ALLOWED_NAMESPACES")?m({},n.ALLOWED_NAMESPACES,Ot):zn,Kt=P(n,"ADD_URI_SAFE_ATTR")?m(v(Ie),n.ADD_URI_SAFE_ATTR,A):Ie,we=P(n,"ADD_DATA_URI_TAGS")?m(v(De),n.ADD_DATA_URI_TAGS,A):De,x=P(n,"FORBID_CONTENTS")?m({},n.FORBID_CONTENTS,A):qt,ct=P(n,"FORBID_TAGS")?m({},n.FORBID_TAGS,A):v({}),Wt=P(n,"FORBID_ATTR")?m({},n.FORBID_ATTR,A):v({}),K=P(n,"USE_PROFILES")?n.USE_PROFILES:!1,Ce=n.ALLOW_ARIA_ATTR!==!1,jt=n.ALLOW_DATA_ATTR!==!1,Ne=n.ALLOW_UNKNOWN_PROTOCOLS||!1,Oe=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,X=n.SAFE_FOR_TEMPLATES||!1,Et=n.SAFE_FOR_XML!==!1,W=n.WHOLE_DOCUMENT||!1,q=n.RETURN_DOM||!1,gt=n.RETURN_DOM_FRAGMENT||!1,At=n.RETURN_TRUSTED_TYPE||!1,Vt=n.FORCE_BODY||!1,Le=n.SANITIZE_DOM!==!1,Me=n.SANITIZE_NAMED_PROPS||!1,Xt=n.KEEP_CONTENT!==!1,lt=n.IN_PLACE||!1,Se=n.ALLOWED_URI_REGEXP||ce,Z=n.NAMESPACE||H,St=n.MATHML_TEXT_INTEGRATION_POINTS||St,yt=n.HTML_INTEGRATION_POINTS||yt,E=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&Pe(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(E.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&Pe(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(E.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(E.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),X&&(jt=!1),gt&&(q=!0),K&&(_=m({},se),b=[],K.html===!0&&(m(_,ie),m(b,re)),K.svg===!0&&(m(_,Mt),m(b,It),m(b,mt)),K.svgFilters===!0&&(m(_,wt),m(b,It),m(b,mt)),K.mathMl===!0&&(m(_,Dt),m(b,ae),m(b,mt))),n.ADD_TAGS&&(typeof n.ADD_TAGS=="function"?V.tagCheck=n.ADD_TAGS:(_===ye&&(_=v(_)),m(_,n.ADD_TAGS,A))),n.ADD_ATTR&&(typeof n.ADD_ATTR=="function"?V.attributeCheck=n.ADD_ATTR:(b===Re&&(b=v(b)),m(b,n.ADD_ATTR,A))),n.ADD_URI_SAFE_ATTR&&m(Kt,n.ADD_URI_SAFE_ATTR,A),n.FORBID_CONTENTS&&(x===qt&&(x=v(x)),m(x,n.FORBID_CONTENTS,A)),n.ADD_FORBID_CONTENTS&&(x===qt&&(x=v(x)),m(x,n.ADD_FORBID_CONTENTS,A)),Xt&&(_["#text"]=!0),W&&m(_,["html","head","body"]),_.table&&(m(_,["tbody"]),delete ct.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw nt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');M=n.TRUSTED_TYPES_POLICY,at=M.createHTML("")}else M===void 0&&(M=pn(U,i)),M!==null&&typeof at=="string"&&(at=M.createHTML(""));C&&C(n),J=n}},ve=m({},[...Mt,...wt,...tn]),xe=m({},[...Dt,...en]),jn=function(n){let a=Tt(n);(!a||!a.tagName)&&(a={namespaceURI:Z,tagName:"template"});const l=pt(n.tagName),T=pt(a.tagName);return Jt[n.namespaceURI]?n.namespaceURI===bt?a.namespaceURI===H?l==="svg":a.namespaceURI===_t?l==="svg"&&(T==="annotation-xml"||St[T]):!!ve[l]:n.namespaceURI===_t?a.namespaceURI===H?l==="math":a.namespaceURI===bt?l==="math"&&yt[T]:!!xe[l]:n.namespaceURI===H?a.namespaceURI===bt&&!yt[T]||a.namespaceURI===_t&&!St[T]?!1:!xe[l]&&(Gn[l]||!ve[l]):!!(ft==="application/xhtml+xml"&&Jt[n.namespaceURI]):!1},k=function(n){tt(t.removed,{element:n});try{Tt(n).removeChild(n)}catch{Ln(n)}},j=function(n,a){try{tt(t.removed,{attribute:a.getAttributeNode(n),from:a})}catch{tt(t.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is")if(q||gt)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},ke=function(n){let a=null,l=null;if(Vt)n="<remove></remove>"+n;else{const g=Lt(n,/^[\r\n\t ]+/);l=g&&g[0]}ft==="application/xhtml+xml"&&Z===H&&(n='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+n+"</body></html>");const T=M?M.createHTML(n):n;if(Z===H)try{a=new $().parseFromString(T,ft)}catch{}if(!a||!a.documentElement){a=zt.createDocument(Z,"template",null);try{a.documentElement.innerHTML=Zt?at:T}catch{}}const R=a.body||a.documentElement;return n&&l&&R.insertBefore(e.createTextNode(l),R.childNodes[0]||null),Z===H?Pn.call(a,W?"html":"body")[0]:W?a.documentElement:R},Fe=function(n){return Dn.call(n.ownerDocument||n,n,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT|p.SHOW_PROCESSING_INSTRUCTION|p.SHOW_CDATA_SECTION,null)},te=function(n){return n instanceof y&&(typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof d)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},Ue=function(n){return typeof h=="function"&&n instanceof h};function z(f,n,a){ut(f,l=>{l.call(t,n,a,J)})}const He=function(n){let a=null;if(z(w.beforeSanitizeElements,n,null),te(n))return k(n),!0;const l=A(n.nodeName);if(z(w.uponSanitizeElement,n,{tagName:l,allowedTags:_}),Et&&n.hasChildNodes()&&!Ue(n.firstElementChild)&&N(/<[/\w!]/g,n.innerHTML)&&N(/<[/\w!]/g,n.textContent)||n.nodeType===it.progressingInstruction||Et&&n.nodeType===it.comment&&N(/<[/\w]/g,n.data))return k(n),!0;if(!(V.tagCheck instanceof Function&&V.tagCheck(l))&&(!_[l]||ct[l])){if(!ct[l]&&Ge(l)&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,l)||E.tagNameCheck instanceof Function&&E.tagNameCheck(l)))return!1;if(Xt&&!x[l]){const T=Tt(n)||n.parentNode,R=wn(n)||n.childNodes;if(R&&T){const g=R.length;for(let D=g-1;D>=0;--D){const G=On(R[D],!0);G.__removalCount=(n.__removalCount||0)+1,T.insertBefore(G,Mn(n))}}}return k(n),!0}return n instanceof u&&!jn(n)||(l==="noscript"||l==="noembed"||l==="noframes")&&N(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(X&&n.nodeType===it.text&&(a=n.textContent,ut([Gt,$t,Bt],T=>{a=et(a,T," ")}),n.textContent!==a&&(tt(t.removed,{element:n.cloneNode()}),n.textContent=a)),z(w.afterSanitizeElements,n,null),!1)},ze=function(n,a,l){if(Le&&(a==="id"||a==="name")&&(l in e||l in Wn))return!1;if(!(jt&&!Wt[a]&&N(xn,a))){if(!(Ce&&N(kn,a))){if(!(V.attributeCheck instanceof Function&&V.attributeCheck(a,n))){if(!b[a]||Wt[a]){if(!(Ge(n)&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,n)||E.tagNameCheck instanceof Function&&E.tagNameCheck(n))&&(E.attributeNameCheck instanceof RegExp&&N(E.attributeNameCheck,a)||E.attributeNameCheck instanceof Function&&E.attributeNameCheck(a,n))||a==="is"&&E.allowCustomizedBuiltInElements&&(E.tagNameCheck instanceof RegExp&&N(E.tagNameCheck,l)||E.tagNameCheck instanceof Function&&E.tagNameCheck(l))))return!1}else if(!Kt[a]){if(!N(Se,et(l,be,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Ke(l,"data:")===0&&we[n])){if(!(Ne&&!N(Fn,et(l,be,"")))){if(l)return!1}}}}}}}return!0},Ge=function(n){return n!=="annotation-xml"&&Lt(n,Un)},$e=function(n){z(w.beforeSanitizeAttributes,n,null);const{attributes:a}=n;if(!a||te(n))return;const l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:b,forceKeepAttr:void 0};let T=a.length;for(;T--;){const R=a[T],{name:g,namespaceURI:D,value:G}=R,Q=A(g),ee=G;let S=g==="value"?ee:Ze(ee);if(l.attrName=Q,l.attrValue=S,l.keepAttr=!0,l.forceKeepAttr=void 0,z(w.uponSanitizeAttribute,n,l),S=l.attrValue,Me&&(Q==="id"||Q==="name")&&(j(g,n),S=Hn+S),Et&&N(/((--!?|])>)|<\/(style|title|textarea)/i,S)){j(g,n);continue}if(Q==="attributename"&&Lt(S,"href")){j(g,n);continue}if(l.forceKeepAttr)continue;if(!l.keepAttr){j(g,n);continue}if(!Oe&&N(/\/>/i,S)){j(g,n);continue}X&&ut([Gt,$t,Bt],We=>{S=et(S,We," ")});const Be=A(n.nodeName);if(!ze(Be,Q,S)){j(g,n);continue}if(M&&typeof U=="object"&&typeof U.getAttributeType=="function"&&!D)switch(U.getAttributeType(Be,Q)){case"TrustedHTML":{S=M.createHTML(S);break}case"TrustedScriptURL":{S=M.createScriptURL(S);break}}if(S!==ee)try{D?n.setAttributeNS(D,g,S):n.setAttribute(g,S),te(n)?k(n):oe(t.removed)}catch{j(g,n)}}z(w.afterSanitizeAttributes,n,null)},Yn=function f(n){let a=null;const l=Fe(n);for(z(w.beforeSanitizeShadowDOM,n,null);a=l.nextNode();)z(w.uponSanitizeShadowNode,a,null),He(a),$e(a),a.content instanceof r&&f(a.content);z(w.afterSanitizeShadowDOM,n,null)};return t.sanitize=function(f){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,l=null,T=null,R=null;if(Zt=!f,Zt&&(f="<!-->"),typeof f!="string"&&!Ue(f))if(typeof f.toString=="function"){if(f=f.toString(),typeof f!="string")throw nt("dirty is not a string, aborting")}else throw nt("toString is not a function");if(!t.isSupported)return f;if(Yt||Qt(n),t.removed=[],typeof f=="string"&&(lt=!1),lt){if(f.nodeName){const G=A(f.nodeName);if(!_[G]||ct[G])throw nt("root node is forbidden and cannot be sanitized in-place")}}else if(f instanceof h)a=ke("<!---->"),l=a.ownerDocument.importNode(f,!0),l.nodeType===it.element&&l.nodeName==="BODY"||l.nodeName==="HTML"?a=l:a.appendChild(l);else{if(!q&&!X&&!W&&f.indexOf("<")===-1)return M&&At?M.createHTML(f):f;if(a=ke(f),!a)return q?null:At?at:""}a&&Vt&&k(a.firstChild);const g=Fe(lt?f:a);for(;T=g.nextNode();)He(T),$e(T),T.content instanceof r&&Yn(T.content);if(lt)return f;if(q){if(gt)for(R=In.call(a.ownerDocument);a.firstChild;)R.appendChild(a.firstChild);else R=a;return(b.shadowroot||b.shadowrootmode)&&(R=vn.call(o,R,!0)),R}let D=W?a.outerHTML:a.innerHTML;return W&&_["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&N(le,a.ownerDocument.doctype.name)&&(D="<!DOCTYPE "+a.ownerDocument.doctype.name+`>
2
+ `+D),X&&ut([Gt,$t,Bt],G=>{D=et(D,G," ")}),M&&At?M.createHTML(D):D},t.setConfig=function(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qt(f),Yt=!0},t.clearConfig=function(){J=null,Yt=!1},t.isValidAttribute=function(f,n,a){J||Qt({});const l=A(f),T=A(n);return ze(l,T,a)},t.addHook=function(f,n){typeof n=="function"&&tt(w[f],n)},t.removeHook=function(f,n){if(n!==void 0){const a=Xe(w[f],n);return a===-1?void 0:qe(w[f],a,1)[0]}return oe(w[f])},t.removeHooks=function(f){w[f]=[]},t.removeAllHooks=function(){w=ue()},t}var me=pe();function he(s,t){let e=s;for(const o of t.split("."))e=e[o];return e}function mn(s,t,e){const o=t.split("."),i=o.length-1;let r=s;o.forEach((c,h)=>{h===i?r[c]=e:r=r[c]})}const hn=new Set(["onblur","onchange","onclick","onfocus","oninput","onkeydown","onreset","onsubmit"]);me.addHook("uponSanitizeAttribute",(s,t)=>{const{attrName:e}=t,o=e.toLowerCase();hn.has(o)&&(t.forceKeepAttr=!0)});class ht extends Error{}const dn=/([a-zA-Z-]+)\s*:\s*([^;}]+)/g,de="a-zA-Z_$",Tn=de+"0-9",st=`[${de}][${Tn}]*`,En=/<!--\s*(.*?)\s*-->/,gn=/<(\w+)(?:\s[^>]*)?>((?:[^<]|<(?!\w))*?)<\/\1>/g,Pt=new RegExp(`^this\\.${st}$`),vt=new RegExp(`this\\.${st}(\\.${st})*`,"g"),Te=new RegExp(`this\\.${st}(\\.${st})*`),An=new Set(["class","style"]),Ee=5;function _n(s){return s instanceof HTMLButtonElement||s instanceof HTMLFieldSetElement||s instanceof HTMLInputElement||s instanceof HTMLSelectElement||s instanceof HTMLTextAreaElement||s instanceof L}function bn(s,t,e){const o=document.createElement(s);if(t)for(const[i,r]of Object.entries(t))o.setAttribute(i,r);return e&&(o.innerHTML=e),o}const Sn=s=>s===String?"":s===Number?0:s===Boolean?!1:s===Array?[]:s===Object?{}:void 0;function xt(s){const t=[];let e=s.firstElementChild;for(;e;)t.push(e),e.shadowRoot&&t.push(...xt(e.shadowRoot)),e.firstElementChild&&t.push(...xt(e)),e=e.nextElementSibling;return t}const dt=s=>s.substring(Ee).split(".")[0];function ge(s,t){let e=s[0];return t.forEach((o,i)=>{e+=o+s[i+1]}),e}function kt(s){const t=typeof s;return t==="string"||t==="number"||t==="boolean"}function rt(s){return s.localName==="textarea"}function Ft(s){const{localName:t}=s;return t==="input"||t==="select"}const yn=s=>s.replace(/<!--[\s\S]*?-->/g,"");function Ae(s,t,e,o){return s.slice(0,t)+o+s.slice(t+e)}function Rn(s){let t=s.trim(),e=null;/^\s*<tr[\s>]/i.test(t)?(t=`<table><tbody>${t}</tbody></table>`,e="tbody"):/^\s*<(td|th)[\s>]/i.test(t)?(t=`<table><tbody><tr>${t}</tr></tbody></table>`,e="tr"):/^\s*<option[\s>]/i.test(t)?(t=`<select>${t}</select>`,e="select"):/^\s*<col[\s>]/i.test(t)&&(t=`<table><colgroup>${t}</colgroup></table>`,e="colgroup");const o=me.sanitize(t,{ADD_TAGS:["#comment"],ALLOW_UNKNOWN_PROTOCOLS:!0,RETURN_DOM_FRAGMENT:!0});if(e){const i=o.querySelector(e);if(i)return i.childNodes}return o.childNodes}function Ut(s){const t=Number(s);if(isNaN(t))throw new ht(`can't convert "${s}" to a number`);return t}function _e(s,t,e){const[o,i]=t.split(":");if(kt(e))if(typeof e=="boolean"){e?s.setAttribute(o,o):s.removeAttribute(o);const r=L.getPropName(o);s[r]=e}else{const r=s.getAttribute(t),c=String(e);r!==c&&(s.setAttribute(o,c),o==="value"&&Ft(s)&&(s.value=c))}else{const r=L.getPropName(t);s[r]=e}}function Ht(s,t,e){const[o,i]=t.split(":");s instanceof CSSStyleRule?s.style.setProperty(o,e):(_e(s,o,e),o==="value"&&Ft(s)&&(s.value=e))}class L extends HTMLElement{static#m=new Map;static#h=new Map;static css="";static formAssociated=!1;static html="";static properties;static propToComputedMap;static propToExprsMap;static template=null;#t=this.constructor;#n=new Map;#c={};#i;#l={};#f=null;#u=new Map;constructor(){super(),this.attachShadow({mode:"open"});const t=this.#t;t.properties||(t.properties={}),t.propToComputedMap||(t.propToComputedMap=new Map),t.propToExprsMap||(t.propToExprsMap=new Map)}attributeChangedCallback(t,e,o){t==="disabled"&&this.#d();const i=L.getPropName(t);if(this.#s(i)){const r=this.#b(i,String(o));this[i]=r;const c=this.#c[i];c&&this.setFormValue(c,String(r)),this.propertyChangedCallback(i,e,o)}}#R(){if(!this.shadowRoot)return;const t=this.#t;let{template:e}=t;if(!e){e=t.template=document.createElement("template");let o=`<style>
3
3
  :host([hidden]) { display: none; }`;t.css&&(o+=t.css),o+=`</style>
4
- `;let i=t.html.trim();i.startsWith("<")||(i=`<span><!--${i}--></span>`),e.innerHTML=o+i}this.shadowRoot.replaceChildren(e.content.cloneNode(!0))}changed(t,e,o){this[e]=o}connectedCallback(){this.#v(),this.#C(),this.#y(),this.hasAttribute("disabled")&&this.#d(),requestAnimationFrame(()=>{this.shadowRoot&&(this.#S(this.shadowRoot),this.#T(this.shadowRoot)),this.#R()})}#R(){const t=this.#t,{properties:e}=t;for(const[o,{computed:i}]of Object.entries(e))i&&(this[o]=this.#o(i))}#C(){const t=this.#t,{observedAttributes:e,properties:o}=t;for(const[i,r]of Object.entries(o))this.#N(i,r,e)}#N(t,e,o){const i=L.getAttrName(t),r=this.hasAttribute(i);e.required&&!r&&this.#e(this,t,"is a required attribute");let c=e.value;this.hasOwnProperty(t)&&(c=this[t],delete this[t]);const{type:h}=e,u=h===Boolean?c||r:o.includes(i)&&r?this.#A(t,i):c||Sn(h),p="#"+t;this[p]=u,e.computed&&this.#w(t,e),Object.defineProperty(this,t,{enumerable:!0,get(){return this[p]},set(d){h===Number&&typeof d=="string"&&(d=Ut(d));const y=this[p];if(d===y)return;this.#k(t,h,d),this[p]=d;const{state:G,stateProp:U}=this.#t.properties[t];U&&mn(G,U,d),this.#I(t),this.#D(t,h,d,i),this.#g(t),this.#P(t,d);const B=this.#c[t];B&&this.setFormValue(B,String(d)),this.propertyChangedCallback(t,y,d),e.dispatch&&this.dispatch("change",{[t]:d})}})}#d(){const t=this.hasAttribute("disabled"),e=xt(this.shadowRoot);for(const o of e)_n(o)&&(o.disabled=t)}disconnectedCallback(){this.#n.clear(),this.#l.clear(),this.#u.clear()}dispatch(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}displayIfSet(t,e="block"){return`display: ${t?e:"none"}`}static elementName(){return this.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}#O(t){const e=t instanceof L;for(const o of t.getAttributeNames()){const i=t.getAttribute(o),r=this.#E(t,i);if(r){const c=this[r];c===void 0&&this.#a(t,o,r),t[r]=c;let[h,u]=o.split(":");h==="value"&&(u?(t["on"+u]===void 0&&this.#e(t,o,"refers to an unsupported event name"),t.setAttribute(h,this[r])):u="change"),e&&t.#u.set(L.getPropName(h),r)}this.#r(i,t,o)}}#o(t){const e=new Function("return "+t).call(this);return Array.isArray(e)?e.join(""):e}#L(t){const{localName:e}=t;if(e==="style"){const{sheet:o}=t,i=o?.cssRules??[],r=Array.from(i);for(const c of r)if(c.constructor===CSSStyleRule){const h=Array.from(c.style);for(const u of h)if(u.startsWith("--")){const p=c.style.getPropertyValue(u);this.#r(p,c,u)}}}else{let o="";if(at(t)){this.#r(t.textContent,t);const i=t.textContent?.match(En);i&&(o=i[1])}else{const i=Array.from(t.childNodes).find(r=>r.nodeType===Node.COMMENT_NODE);i&&(o=i.textContent?.trim()??"")}if(o){const i=this.#E(t,o);i&&at(t)?t.textContent=this[i]:this.#r(o,t)}}}formAssociatedCallback(){let t=this.getAttribute("form-assoc");if(!t){const c=this.getAttribute("name");if(c)if(this.#s("value"))t=`value:${c}`;else return;else return}const e={},o=t.split(",");for(const c of o){const[h,u]=c.split(":");e[h.trim()]=u.trim()}this.#c=e,this.#i=new FormData,this.#f=this.attachInternals(),this.#f.setFormValue(this.#i);const i=Object.keys(this.#t.properties),r=this.#l;for(const c of i)r[c]=this[c]}formResetCallback(){const t=this.#l;for(const e of Object.keys(t)){let o=t[e];Pt.test(o)&&(o=this.#o(o)),this[e]=o}}static getAttrName(t){let e=L.#h.get(t);return e||(e=t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L.#h.set(t,e)),e}static getPropName(t){let e=L.#m.get(t);return e||(e=t.replace(/-([a-z])/g,(o,i)=>i.toUpperCase()),L.#m.set(t,e)),e}#M(t,e,o){if(o.length!==1)return;const[i]=o;if(!Pt.test(i))return;const r=Ft(t)||at(t);let[c,h]=(e??"").split(":");if(!(r&&c==="value"||at(t)))return;h?t["on"+h]===void 0&&this.#e(t,e,"refers to an unsupported event name"):h="change";const p=dt(i);t.addEventListener(h,d=>{const{target:y}=d;if(!y)return;const G=y.value,{type:U}=this.#t.properties[p];this[p]=U===Number?Ut(G):G,this.#g(p)})}#s(t){return!!this.#t.properties[t]}#T(t){const e=Array.from(t.querySelectorAll("*"));for(const o of e)this.#O(o),o.firstElementChild||this.#L(o)}static get observedAttributes(){const t=Object.keys(this.properties||{}).map(L.getAttrName);return t.includes("disabled")||t.push("disabled"),t}propertyChangedCallback(t,e,o){}#E(t,e){if(!e||!Pt.test(e))return;const o=dt(e);return this[o]===void 0&&this.#a(t,"",o),o}#g(t){const i=this.#t.propToExprsMap.get(t)||[];for(const r of i){let c=this.#o(r);const h=this.#n.get(r)??[];for(const u of h)if(u instanceof HTMLElement)this.#b(u,c);else if(!(u instanceof CSSStyleRule)){const{element:p,attrName:d}=u;p instanceof CSSStyleRule?p.style.setProperty(d,c):Ht(p,d,c)}}}static register(){const t=this.elementName();customElements.get(t)||customElements.define(t,this)}#w(t,e){const{computed:o,uses:i}=e,r=this.#t.propToComputedMap;function c(u,p){let d=r.get(u);d||(d=[],r.set(u,d)),d.push([t,p])}const h=o.match(vt)||[];for(const u of h){const p=u.substring(Ee);this[p]===void 0&&this.#a(null,t,p),typeof this[p]!="function"&&c(p,o)}if(i)for(const u of i.split(","))c(u,o)}#r(t,e,o=void 0){if(!t)return;const i=this.#p(e,o,t);if(!i){const u=t.replaceAll("this..","this.");o?Ht(e,o,u):"textContent"in e&&(e.textContent=u);return}const r=this.#t;i.forEach(u=>{const p=dt(u);if(typeof this[p]=="function")return;const d=r.propToExprsMap;let y=d.get(p);y||(y=[],d.set(p,y)),y.includes(t)||y.push(t)});for(const[u,p]of this.#n.entries())for(const d of p){const y=d instanceof HTMLElement||d instanceof CSSStyleRule?d:d.element;y instanceof CSSStyleRule||y.isConnected||this.#n.set(u,p.filter(G=>G!==d))}let c=this.#n.get(t);c||(c=[],this.#n.set(t,c)),c.push(o?{element:e,attrName:o}:e),e instanceof HTMLElement&&this.#M(e,o,i);const h=this.#o(t);o?Ht(e,o,h):this.#b(e,h)}setAttributeSafe(t,e){this.hasAttribute(t)||this.setAttribute(t,e)}setFormValue(t,e){!this.#i||!kt(e)||(this.#i.set(t,e),this.#f?.setFormValue(this.#i))}#e(t,e,o){const i=this.#t,r=t instanceof HTMLElement?t.localName:"CSS rule";throw new st(`component ${i.elementName()}`+(t?`, element "${r}"`:"")+(e?`, attribute "${e}"`:"")+` ${o}`)}#a(t,e,o){this.#e(t,e,`refers to missing property "${o}"`)}#A(t,e){return this.#_(t,this.getAttribute(e))}#_(t,e){if(e?.match(vt))return e;const o=this.#t,{type:i}=o.properties[t];if(i||this.#e(null,t,"does not specify its type"),i===String)return e;if(i===Number)return Ut(e);if(i===Boolean)return e==="true"?!0:e==="false"||e==="null"?!1:(e&&e!==t&&this.#e(null,t,"is a Boolean attribute, so its value must match attribute name or be missing"),e===t)}#D(t,e,o,i){if(kt(o)&&this.hasAttribute(i)){const r=e===Boolean?this.hasAttribute(i):this.#A(t,i);o!==r&&_e(this,t,o)}}#I(t){const o=this.#t.propToComputedMap.get(t)||[];for(const[i,r]of o)this[i]=this.#o(r)}#b(t,e){if(e===void 0)return;const o=t instanceof HTMLElement,i=typeof e;if(i!=="string"&&i!=="number"&&this.#e(t,void 0," computed content is not a string or number"),t instanceof HTMLElement&&at(t))t.value=e;else if(o&&i==="string"&&e.trim().startsWith("<")){const r=Rn(e);t.replaceChildren(...r),this.#S(t),this.#T(t)}else o&&(t.textContent=e)}#P(t,e){const o=this.#u.get(t);if(!o)return;const i=this.getRootNode();if(!(i instanceof ShadowRoot))return;const{host:r}=i;if(!r)return;const c=r;c[o]=e}useState(t,e){if(!e){e={};for(const o of Object.keys(t))e[o]=o}this.#x(t,e);for(const[o,i]of Object.entries(e))if(this.#s(i)){const r=he(t,o);r!==void 0&&(this[i]=r);const c=this.#t.properties[i];c.state=t,c.stateProp=o}t.addListener(this,e)}#v(){const t=this.#t,e=new Set(Object.keys(t.properties));for(const i of e)An.has(i)&&this.#e(null,"",`property "${i}" is not allowed because it is a reserved attribute`);const o=this.#t.name;for(const i of this.getAttributeNames())if(i!=="class"&&i!=="id"&&i!=="disabled"&&!i.startsWith("on")){if(i==="form-assoc"){if(!t.formAssociated)throw new st(`add "static formAssociated = true;" to class ${o}`);continue}if(!e.has(L.getPropName(i))){if(i==="name"){if(t.formAssociated)continue;throw new st(`name attribute requires "static formAssociated = true;" in class ${o}`)}this.#e(null,i,"is not a supported attribute")}}}#p(t,e,o){const i=o.match(vt);if(i)return i.forEach(r=>{const c=dt(r);this[c]===void 0&&this.#a(t,e,c)}),i}#x(t,e){for(const[o,i]of Object.entries(e)){let r=he(t,o);if(r===void 0)throw new st(`invalid state path "${o}"`);r=this[i],this.#s(i)||this.#e(null,i,"refers to missing property in useState map")}}#k(t,e,o){if(o instanceof e)return;let i=typeof o;if(i==="object"){const{constructor:r}=o;i=r.name,r!==e&&this.#e(null,t,`was set to a ${i}, but must be a ${e.name}`)}i!==e.name.toLowerCase()&&this.#e(null,t,`was set to a ${i}, but must be a ${e.name}`)}#S(t){const e=Array.from(t.querySelectorAll("*"));for(const o of e){const i=[];for(const r of Array.from(o.attributes)){const c=r.name;if(c.startsWith("on")){let h=c.slice(2);h=h[0].toLowerCase()+h.slice(1).toLowerCase();const u=r.value;this.#p(o,c,u);let p;typeof this[u]=="function"?p=d=>this[u](d):(this.#p(o,c,u),p=()=>this.#o(u)),o.addEventListener(h,p),i.push(c)}}for(const r of i)o.removeAttribute(r)}}}function Cn(s,...t){let e=ge(s,t);for(;;){const o=dn.exec(e);if(!o)break;const i=o[2];if(Te.test(i)){const r=o[1];if(!r.startsWith("--")){const c=`--${r}: ${i};
4
+ `;let i=t.html.trim();i.startsWith("<")||(i=`<span><!--${i}--></span>`),e.innerHTML=o+i}this.shadowRoot.replaceChildren(e.content.cloneNode(!0))}changed(t,e,o){this[e]=o}connectedCallback(){this.#x(),this.#N(),this.#R(),this.hasAttribute("disabled")&&this.#d(),requestAnimationFrame(()=>{this.shadowRoot&&(this.#y(this.shadowRoot),this.#T(this.shadowRoot)),this.#C()})}#C(){const t=this.#t,{properties:e}=t;for(const[o,{computed:i}]of Object.entries(e))i&&(this[o]=this.#o(i))}#N(){const t=this.#t,{observedAttributes:e,properties:o}=t;for(const[i,r]of Object.entries(o))this.#O(i,r,e)}#O(t,e,o){const i=L.getAttrName(t),r=this.hasAttribute(i);e.required&&!r&&this.#e(this,t,"is a required attribute");let c=e.value;this.hasOwnProperty(t)&&(c=this[t],delete this[t]);const{type:h}=e,u=h===Boolean?c||r:o.includes(i)&&r?this.#_(t,i):c||Sn(h),p="#"+t;this[p]=u,e.computed&&this.#D(t,e),Object.defineProperty(this,t,{enumerable:!0,get(){return this[p]},set(d){h===Number&&typeof d=="string"&&(d=Ut(d));const y=this[p];if(d===y)return;this.#F(t,h,d),this[p]=d;const{state:$,stateProp:U}=this.#t.properties[t];U&&mn($,U,d),this.#P(t),this.#I(t,h,d,i),this.#A(t),this.#v(t,d);const B=this.#c[t];B&&this.setFormValue(B,String(d)),this.propertyChangedCallback(t,y,d),e.dispatch&&this.dispatch("change",{[t]:d})}})}#d(){const t=this.hasAttribute("disabled"),e=xt(this.shadowRoot);for(const o of e)_n(o)&&(o.disabled=t)}disconnectedCallback(){this.#n.clear(),this.#l.clear(),this.#u.clear()}dispatch(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}displayIfSet(t,e="block"){return`display: ${t?e:"none"}`}static elementName(){return this.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}#L(t){const e=t instanceof L;for(const o of t.getAttributeNames()){const i=t.getAttribute(o),r=this.#g(t,i);if(r){const c=this[r];c===void 0&&this.#a(t,o,r),t[r]=c;let[h,u]=o.split(":");h==="value"&&(u?(t["on"+u]===void 0&&this.#e(t,o,"refers to an unsupported event name"),t.setAttribute(h,this[r])):u="change"),e&&t.#u.set(L.getPropName(h),r)}this.#r(i,t,o)}}#o(t){const e=new Function("return "+t).call(this);return Array.isArray(e)?e.join(""):e}#M(t){const{localName:e}=t;if(e==="style"){const{sheet:o}=t,i=o?.cssRules??[],r=Array.from(i);for(const c of r)if(c.constructor===CSSStyleRule){const h=Array.from(c.style);for(const u of h)if(u.startsWith("--")){const p=c.style.getPropertyValue(u);this.#r(p,c,u)}}}else{let o="";if(rt(t)){this.#r(t.textContent,t);const i=t.textContent?.match(En);i&&(o=i[1])}else{const i=Array.from(t.childNodes).find(r=>r.nodeType===Node.COMMENT_NODE);i&&(o=i.textContent?.trim()??"")}if(o){const i=this.#g(t,o);i&&rt(t)?t.textContent=this[i]:this.#r(o,t)}}}formAssociatedCallback(){let t=this.getAttribute("form-assoc");if(!t){const c=this.getAttribute("name");if(c)if(this.#s("value"))t=`value:${c}`;else return;else return}const e={},o=t.split(",");for(const c of o){const[h,u]=c.split(":");e[h.trim()]=u.trim()}this.#c=e,this.#i=new FormData,this.#f=this.attachInternals(),this.#f.setFormValue(this.#i);const i=Object.keys(this.#t.properties),r=this.#l;for(const c of i)r[c]=this[c]}formResetCallback(){const t=this.#l;for(const e of Object.keys(t)){let o=t[e];Pt.test(o)&&(o=this.#o(o)),this[e]=o}}static getAttrName(t){let e=L.#h.get(t);return e||(e=t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L.#h.set(t,e)),e}static getPropName(t){let e=L.#m.get(t);return e||(e=t.replace(/-([a-z])/g,(o,i)=>i.toUpperCase()),L.#m.set(t,e)),e}#w(t,e,o){if(o.length!==1)return;const[i]=o;if(!Pt.test(i))return;const r=Ft(t)||rt(t);let[c,h]=(e??"").split(":");if(!(r&&c==="value"||rt(t)))return;h?t["on"+h]===void 0&&this.#e(t,e,"refers to an unsupported event name"):h="change";const p=dt(i);t.addEventListener(h,d=>{const{target:y}=d;if(!y)return;const $=y.value,{type:U}=this.#t.properties[p];this[p]=U===Number?Ut($):$,this.#A(p)})}#s(t){return!!this.#t.properties[t]}#T(t){const e=Array.from(t.querySelectorAll("*"));for(const o of e)this.#L(o),o.firstElementChild||this.#M(o)}#E(){if(this.#t.formAssociated||this.closest("form")===null)return;const t=this.#t.name;throw new ht(`inside form, class ${t} requires "static formAssociated = true;"`)}static get observedAttributes(){const t=Object.keys(this.properties||{}).map(L.getAttrName);return t.includes("disabled")||t.push("disabled"),t}propertyChangedCallback(t,e,o){}#g(t,e){if(!e||!Pt.test(e))return;const o=dt(e);return this[o]===void 0&&this.#a(t,"",o),o}#A(t){const i=this.#t.propToExprsMap.get(t)||[];for(const r of i){let c=this.#o(r);const h=this.#n.get(r)??[];for(const u of h)if(u instanceof HTMLElement)this.#S(u,c);else if(!(u instanceof CSSStyleRule)){const{element:p,attrName:d}=u;p instanceof CSSStyleRule?p.style.setProperty(d,c):Ht(p,d,c)}}}static register(){const t=this.elementName();customElements.get(t)||customElements.define(t,this)}#D(t,e){const{computed:o,uses:i}=e,r=this.#t.propToComputedMap;function c(u,p){let d=r.get(u);d||(d=[],r.set(u,d)),d.push([t,p])}const h=o.match(vt)||[];for(const u of h){const p=u.substring(Ee);this[p]===void 0&&this.#a(null,t,p),typeof this[p]!="function"&&c(p,o)}if(i)for(const u of i.split(","))c(u,o)}#r(t,e,o=void 0){if(!t)return;const i=this.#p(e,o,t);if(!i){const u=t.replaceAll("this..","this.");o?Ht(e,o,u):"textContent"in e&&(e.textContent=u);return}const r=this.#t;i.forEach(u=>{const p=dt(u);if(typeof this[p]=="function")return;const d=r.propToExprsMap;let y=d.get(p);y||(y=[],d.set(p,y)),y.includes(t)||y.push(t)});for(const[u,p]of this.#n.entries())for(const d of p){const y=d instanceof HTMLElement||d instanceof CSSStyleRule?d:d.element;y instanceof CSSStyleRule||y.isConnected||this.#n.set(u,p.filter($=>$!==d))}let c=this.#n.get(t);c||(c=[],this.#n.set(t,c)),c.push(o?{element:e,attrName:o}:e),e instanceof HTMLElement&&this.#w(e,o,i);const h=this.#o(t);o?Ht(e,o,h):this.#S(e,h)}setAttributeSafe(t,e){this.hasAttribute(t)||this.setAttribute(t,e)}setFormValue(t,e){!this.#i||!kt(e)||(this.#i.set(t,e),this.#f?.setFormValue(this.#i))}#e(t,e,o){const i=this.#t,r=t instanceof HTMLElement?t.localName:"CSS rule";throw new ht(`component ${i.elementName()}`+(t?`, element "${r}"`:"")+(e?`, attribute "${e}"`:"")+` ${o}`)}#a(t,e,o){this.#e(t,e,`refers to missing property "${o}"`)}#_(t,e){return this.#b(t,this.getAttribute(e))}#b(t,e){if(e?.match(vt))return e;const o=this.#t,{type:i}=o.properties[t];if(i||this.#e(null,t,"does not specify its type"),i===String)return e;if(i===Number)return Ut(e);if(i===Boolean)return e==="true"?!0:e==="false"||e==="null"?!1:(e&&e!==t&&this.#e(null,t,"is a Boolean attribute, so its value must match attribute name or be missing"),e===t)}#I(t,e,o,i){if(kt(o)&&this.hasAttribute(i)){const r=e===Boolean?this.hasAttribute(i):this.#_(t,i);o!==r&&_e(this,t,o)}}#P(t){const o=this.#t.propToComputedMap.get(t)||[];for(const[i,r]of o)this[i]=this.#o(r)}#S(t,e){if(e===void 0)return;const o=t instanceof HTMLElement,i=typeof e;if(i!=="string"&&i!=="number"&&this.#e(t,void 0," computed content is not a string or number"),t instanceof HTMLElement&&rt(t))t.value=e;else if(o&&i==="string"&&e.trim().startsWith("<")){const r=Rn(e);t.replaceChildren(...r),this.#y(t),this.#T(t)}else o&&(t.textContent=e)}#v(t,e){const o=this.#u.get(t);if(!o)return;const i=this.getRootNode();if(!(i instanceof ShadowRoot))return;const{host:r}=i;if(!r)return;const c=r;c[o]=e}useState(t,e){if(!e){e={};for(const o of Object.keys(t))e[o]=o}this.#k(t,e);for(const[o,i]of Object.entries(e))if(this.#s(i)){const r=he(t,o);r!==void 0&&(this[i]=r);const c=this.#t.properties[i];c.state=t,c.stateProp=o}t.addListener(this,e)}#x(){const t=this.#t,e=new Set(Object.keys(t.properties));for(const o of e)An.has(o)&&this.#e(null,"",`property "${o}" is not allowed because it is a reserved attribute`);this.#t.name;for(const o of this.getAttributeNames())if(o!=="class"&&o!=="id"&&o!=="disabled"&&!o.startsWith("on")){if(o==="form-assoc"){this.#E();continue}if(!e.has(L.getPropName(o))){if(o==="name"){this.#E();continue}this.#e(null,o,"is not a supported attribute")}}}#p(t,e,o){const i=o.match(vt);if(i)return i.forEach(r=>{const c=dt(r);this[c]===void 0&&this.#a(t,e,c)}),i}#k(t,e){for(const[o,i]of Object.entries(e)){let r=he(t,o);if(r===void 0)throw new ht(`invalid state path "${o}"`);r=this[i],this.#s(i)||this.#e(null,i,"refers to missing property in useState map")}}#F(t,e,o){if(o instanceof e)return;let i=typeof o;if(i==="object"){const{constructor:r}=o;i=r.name,r!==e&&this.#e(null,t,`was set to a ${i}, but must be a ${e.name}`)}i!==e.name.toLowerCase()&&this.#e(null,t,`was set to a ${i}, but must be a ${e.name}`)}#y(t){const e=Array.from(t.querySelectorAll("*"));for(const o of e){const i=[];for(const r of Array.from(o.attributes)){const c=r.name;if(c.startsWith("on")){let h=c.slice(2);h=h[0].toLowerCase()+h.slice(1).toLowerCase();const u=r.value;this.#p(o,c,u);let p;typeof this[u]=="function"?p=d=>this[u](d):(this.#p(o,c,u),p=()=>this.#o(u)),o.addEventListener(h,p),i.push(c)}}for(const r of i)o.removeAttribute(r)}}}function Cn(s,...t){let e=ge(s,t);for(;;){const o=dn.exec(e);if(!o)break;const i=o[2];if(Te.test(i)){const r=o[1];if(!r.startsWith("--")){const c=`--${r}: ${i};
5
5
  ${r}: var(--${r})`;e=Ae(e,o.index,o[0].length,c)}}}return e}function Nn(s,...t){let e=ge(s,t);for(;;){const o=gn.exec(e);if(!o||o[1]==="style")break;const i=yn(o[2]);if(Te.test(i)){const r=`<!-- ${i.trim()} -->`,c=o.index+o[0].indexOf(">")+1;e=Ae(e,c,i.length,r)}}return e}F.Wrec=L,F.createElement=bn,F.css=Cn,F.html=Nn,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "wrec",
3
3
  "description": "a small library that greatly simplifies building web components",
4
4
  "author": "R. Mark Volkmann",
5
- "version": "0.18.5",
5
+ "version": "0.18.6",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",