easy-component-ui 3.0.14 → 3.0.15

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.
Files changed (167) hide show
  1. package/dist/assets/icon.css +1 -0
  2. package/dist/components/Base.js +941 -0
  3. package/dist/components/ea-alert.js +213 -0
  4. package/dist/components/ea-avatar.js +164 -0
  5. package/dist/components/ea-backtop.js +136 -0
  6. package/dist/components/ea-badge.js +144 -0
  7. package/dist/components/ea-breadcrumb.js +148 -0
  8. package/dist/components/ea-button.js +266 -0
  9. package/dist/components/ea-calendar.js +10 -0
  10. package/dist/components/ea-calendar2.js +673 -0
  11. package/dist/components/ea-card.js +121 -0
  12. package/dist/components/ea-carousel.js +415 -0
  13. package/dist/components/ea-checkbox.js +446 -0
  14. package/dist/components/ea-collapse.js +313 -0
  15. package/dist/components/ea-color-picker.js +888 -0
  16. package/dist/components/ea-container.js +206 -0
  17. package/dist/components/ea-countdown.js +142 -0
  18. package/dist/components/ea-date-picker.js +649 -0
  19. package/dist/components/ea-descriptions.js +474 -0
  20. package/dist/components/ea-dialog.js +249 -0
  21. package/dist/components/ea-drawer.js +216 -0
  22. package/dist/components/ea-dropdown.js +228 -0
  23. package/dist/components/ea-empty.js +93 -0
  24. package/dist/components/ea-icon.js +159 -0
  25. package/dist/components/ea-image-preview.js +532 -0
  26. package/dist/components/ea-image.js +327 -0
  27. package/dist/components/ea-infinite-scroll.js +109 -0
  28. package/dist/components/ea-input-number.js +367 -0
  29. package/dist/components/ea-input.js +588 -0
  30. package/dist/components/ea-layout.js +132 -0
  31. package/dist/components/ea-link.js +101 -0
  32. package/dist/components/ea-menu.js +433 -0
  33. package/dist/components/ea-message-box.js +624 -0
  34. package/dist/components/ea-message.js +313 -0
  35. package/dist/components/ea-notification.js +331 -0
  36. package/dist/components/ea-overlay.js +168 -0
  37. package/dist/components/ea-page-header.js +108 -0
  38. package/dist/components/ea-pagination.js +481 -0
  39. package/dist/components/ea-popconfirm.js +275 -0
  40. package/dist/components/ea-popover.js +147 -0
  41. package/dist/components/ea-popper.js +203 -0
  42. package/dist/components/ea-progress.js +286 -0
  43. package/dist/components/ea-radio.js +364 -0
  44. package/dist/components/ea-rate.js +241 -0
  45. package/dist/components/ea-result.js +100 -0
  46. package/dist/components/ea-scrollbar.js +235 -0
  47. package/dist/components/ea-segmented.js +215 -0
  48. package/dist/components/ea-select.js +609 -0
  49. package/dist/components/ea-skeleton.js +263 -0
  50. package/dist/components/ea-slider.js +430 -0
  51. package/dist/components/ea-space.js +123 -0
  52. package/dist/components/ea-splitter.js +233 -0
  53. package/dist/components/ea-statistic.js +74 -0
  54. package/dist/components/ea-steps.js +346 -0
  55. package/dist/components/ea-switch.js +271 -0
  56. package/dist/components/ea-table.js +1137 -0
  57. package/dist/components/ea-tabs.js +503 -0
  58. package/dist/components/ea-tag.js +228 -0
  59. package/dist/components/ea-text.js +113 -0
  60. package/dist/components/ea-time-picker.js +510 -0
  61. package/dist/components/ea-timeline.js +185 -0
  62. package/dist/components/ea-tooltip.js +161 -0
  63. package/dist/components/ea-tour.js +544 -0
  64. package/dist/components/ea-transfer.js +949 -0
  65. package/dist/components/ea-tree.js +1125 -0
  66. package/dist/components/index.js +60 -0
  67. package/dist/core/FormBase.js +238 -0
  68. package/dist/css/ea-alert.style.js +4 -0
  69. package/dist/css/ea-aside.style.js +4 -0
  70. package/dist/css/ea-avatar.style.js +4 -0
  71. package/dist/css/ea-backtop.style.js +4 -0
  72. package/dist/css/ea-badge.style.js +4 -0
  73. package/dist/css/ea-breadcrumb-item.style.js +4 -0
  74. package/dist/css/ea-breadcrumb.style.js +4 -0
  75. package/dist/css/ea-button-group.style.js +4 -0
  76. package/dist/css/ea-button.style.js +4 -0
  77. package/dist/css/ea-calendar.style.js +4 -0
  78. package/dist/css/ea-card.style.js +4 -0
  79. package/dist/css/ea-carousel-item.style.js +4 -0
  80. package/dist/css/ea-carousel.style.js +4 -0
  81. package/dist/css/ea-check-tag.style.js +4 -0
  82. package/dist/css/ea-checkbox-group.style.js +4 -0
  83. package/dist/css/ea-checkbox.style.js +4 -0
  84. package/dist/css/ea-col.style.js +4 -0
  85. package/dist/css/ea-collapse-item.style.js +4 -0
  86. package/dist/css/ea-collapse.style.js +4 -0
  87. package/dist/css/ea-color-picker-panel.style.js +4 -0
  88. package/dist/css/ea-color-picker.style.js +4 -0
  89. package/dist/css/ea-container.style.js +4 -0
  90. package/dist/css/ea-date-picker.style.js +4 -0
  91. package/dist/css/ea-descriptions-item.style.js +4 -0
  92. package/dist/css/ea-descriptions.style.js +4 -0
  93. package/dist/css/ea-dialog.style.js +4 -0
  94. package/dist/css/ea-drawer.style.js +4 -0
  95. package/dist/css/ea-dropdown-item.style.js +4 -0
  96. package/dist/css/ea-dropdown-menu.style.js +4 -0
  97. package/dist/css/ea-dropdown.style.js +4 -0
  98. package/dist/css/ea-empty.style.js +4 -0
  99. package/dist/css/ea-footer.style.js +4 -0
  100. package/dist/css/ea-header.style.js +4 -0
  101. package/dist/css/ea-icon.style.js +4 -0
  102. package/dist/css/ea-image-preview.style.js +4 -0
  103. package/dist/css/ea-image.style.js +4 -0
  104. package/dist/css/ea-infinite-scroll.style.js +4 -0
  105. package/dist/css/ea-input-number.style.js +4 -0
  106. package/dist/css/ea-input.style.js +4 -0
  107. package/dist/css/ea-link.style.js +4 -0
  108. package/dist/css/ea-main.style.js +4 -0
  109. package/dist/css/ea-menu-item-group.style.js +4 -0
  110. package/dist/css/ea-menu-item.style.js +4 -0
  111. package/dist/css/ea-menu.style.js +4 -0
  112. package/dist/css/ea-message-box.style.js +4 -0
  113. package/dist/css/ea-message.style.js +4 -0
  114. package/dist/css/ea-notification.style.js +4 -0
  115. package/dist/css/ea-option-gropu.style.js +4 -0
  116. package/dist/css/ea-option.style.js +4 -0
  117. package/dist/css/ea-overlay.style.js +4 -0
  118. package/dist/css/ea-page-header.style.js +4 -0
  119. package/dist/css/ea-pagination.style.js +4 -0
  120. package/dist/css/ea-popconfirm.style.js +4 -0
  121. package/dist/css/ea-popover.style.js +4 -0
  122. package/dist/css/ea-popper.style.js +4 -0
  123. package/dist/css/ea-progress.style.js +4 -0
  124. package/dist/css/ea-radio-group.style.js +4 -0
  125. package/dist/css/ea-radio.style.js +4 -0
  126. package/dist/css/ea-rate.style.js +4 -0
  127. package/dist/css/ea-result.style.js +4 -0
  128. package/dist/css/ea-row.style.js +4 -0
  129. package/dist/css/ea-scrollbar.style.js +4 -0
  130. package/dist/css/ea-segmented.style.js +4 -0
  131. package/dist/css/ea-select.style.js +4 -0
  132. package/dist/css/ea-skeleton-item.style.js +4 -0
  133. package/dist/css/ea-skeleton.style.js +4 -0
  134. package/dist/css/ea-slider.style.js +4 -0
  135. package/dist/css/ea-space.style.js +4 -0
  136. package/dist/css/ea-splitter-bar.style.js +4 -0
  137. package/dist/css/ea-splitter-panel.style.js +4 -0
  138. package/dist/css/ea-splitter.style.js +4 -0
  139. package/dist/css/ea-statistic.style.js +4 -0
  140. package/dist/css/ea-step.style.js +4 -0
  141. package/dist/css/ea-steps.style.js +4 -0
  142. package/dist/css/ea-sub-menu.style.js +4 -0
  143. package/dist/css/ea-switch.style.js +4 -0
  144. package/dist/css/ea-tab-panel.style.js +4 -0
  145. package/dist/css/ea-tab.style.js +4 -0
  146. package/dist/css/ea-table-column.style.js +4 -0
  147. package/dist/css/ea-table.style.js +4 -0
  148. package/dist/css/ea-tabs.style.js +4 -0
  149. package/dist/css/ea-tag.style.js +4 -0
  150. package/dist/css/ea-text.style.js +4 -0
  151. package/dist/css/ea-time-picker.style.js +4 -0
  152. package/dist/css/ea-timeline-item.style.js +4 -0
  153. package/dist/css/ea-timeline.style.js +4 -0
  154. package/dist/css/ea-tooltip.style.js +4 -0
  155. package/dist/css/ea-tour-step.style.js +4 -0
  156. package/dist/css/ea-tour.style.js +4 -0
  157. package/dist/css/ea-transfer.style.js +5 -0
  158. package/dist/css/ea-tree.style.js +6 -0
  159. package/dist/css/ea-ui-component.style.js +4 -0
  160. package/dist/favicon.ico +0 -0
  161. package/dist/utils/Color.js +439 -0
  162. package/dist/utils/I18nManager.js +218 -0
  163. package/dist/utils/Utils.js +65 -0
  164. package/dist/utils/Variables.js +12 -0
  165. package/dist/utils/parseTime.js +73 -0
  166. package/dist/utils/timeout.js +9 -0
  167. package/package.json +1 -1
@@ -0,0 +1,941 @@
1
+ var Qe = Object.defineProperty;
2
+ var Te = (a) => {
3
+ throw TypeError(a);
4
+ };
5
+ var Ve = (a, r, e) => r in a ? Qe(a, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[r] = e;
6
+ var V = (a, r, e) => Ve(a, typeof r != "symbol" ? r + "" : r, e), tn = (a, r, e) => r.has(a) || Te("Cannot " + e);
7
+ var Y = (a, r, e) => (tn(a, r, "read from private field"), e ? e.call(a) : r.get(a)), ge = (a, r, e) => r.has(a) ? Te("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(a) : r.set(a, e);
8
+ import { v as Ee } from "../css/ea-ui-component.style.js";
9
+ import "./ea-icon.js";
10
+ import { E as Ae } from "../utils/Utils.js";
11
+ /*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */
12
+ const {
13
+ entries: Ce,
14
+ setPrototypeOf: _e,
15
+ isFrozen: en,
16
+ getPrototypeOf: nn,
17
+ getOwnPropertyDescriptor: rn
18
+ } = Object;
19
+ let {
20
+ freeze: C,
21
+ seal: w,
22
+ create: Wt
23
+ } = Object, {
24
+ apply: jt,
25
+ construct: Yt
26
+ } = typeof Reflect < "u" && Reflect;
27
+ C || (C = function(r) {
28
+ return r;
29
+ });
30
+ w || (w = function(r) {
31
+ return r;
32
+ });
33
+ jt || (jt = function(r, e) {
34
+ for (var i = arguments.length, o = new Array(i > 2 ? i - 2 : 0), m = 2; m < i; m++)
35
+ o[m - 2] = arguments[m];
36
+ return r.apply(e, o);
37
+ });
38
+ Yt || (Yt = function(r) {
39
+ for (var e = arguments.length, i = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++)
40
+ i[o - 1] = arguments[o];
41
+ return new r(...i);
42
+ });
43
+ const gt = L(Array.prototype.forEach), on = L(Array.prototype.lastIndexOf), Se = L(Array.prototype.pop), it = L(Array.prototype.push), sn = L(Array.prototype.splice), At = L(String.prototype.toLowerCase), kt = L(String.prototype.toString), Ut = L(String.prototype.match), ot = L(String.prototype.replace), an = L(String.prototype.indexOf), ln = L(String.prototype.trim), P = L(Object.prototype.hasOwnProperty), D = L(RegExp.prototype.test), st = cn(TypeError);
44
+ function L(a) {
45
+ return function(r) {
46
+ r instanceof RegExp && (r.lastIndex = 0);
47
+ for (var e = arguments.length, i = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++)
48
+ i[o - 1] = arguments[o];
49
+ return jt(a, r, i);
50
+ };
51
+ }
52
+ function cn(a) {
53
+ return function() {
54
+ for (var r = arguments.length, e = new Array(r), i = 0; i < r; i++)
55
+ e[i] = arguments[i];
56
+ return Yt(a, e);
57
+ };
58
+ }
59
+ function p(a, r) {
60
+ let e = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : At;
61
+ _e && _e(a, null);
62
+ let i = r.length;
63
+ for (; i--; ) {
64
+ let o = r[i];
65
+ if (typeof o == "string") {
66
+ const m = e(o);
67
+ m !== o && (en(r) || (r[i] = m), o = m);
68
+ }
69
+ a[o] = !0;
70
+ }
71
+ return a;
72
+ }
73
+ function un(a) {
74
+ for (let r = 0; r < a.length; r++)
75
+ P(a, r) || (a[r] = null);
76
+ return a;
77
+ }
78
+ function U(a) {
79
+ const r = Wt(null);
80
+ for (const [e, i] of Ce(a))
81
+ P(a, e) && (Array.isArray(i) ? r[e] = un(i) : i && typeof i == "object" && i.constructor === Object ? r[e] = U(i) : r[e] = i);
82
+ return r;
83
+ }
84
+ function at(a, r) {
85
+ for (; a !== null; ) {
86
+ const i = rn(a, r);
87
+ if (i) {
88
+ if (i.get)
89
+ return L(i.get);
90
+ if (typeof i.value == "function")
91
+ return L(i.value);
92
+ }
93
+ a = nn(a);
94
+ }
95
+ function e() {
96
+ return null;
97
+ }
98
+ return e;
99
+ }
100
+ const be = 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"]), Ft = 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"]), Ht = 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"]), fn = 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"]), zt = 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"]), pn = C(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), ye = 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"]), Bt = 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"]), Oe = 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"]), Et = C(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), mn = w(/\{\{[\w\W]*|[\w\W]*\}\}/gm), dn = w(/<%[\w\W]*|[\w\W]*%>/gm), hn = w(/\$\{[\w\W]*/gm), Tn = w(/^data-[\-\w.\u00B7-\uFFFF]+$/), gn = w(/^aria-[\-\w]+$/), Le = w(
101
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
102
+ // eslint-disable-line no-useless-escape
103
+ ), En = w(/^(?:\w+script|data):/i), An = w(
104
+ /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
105
+ // eslint-disable-line no-control-regex
106
+ ), Ie = w(/^html$/i), _n = w(/^[a-z][.\w]*(-[.\w]+)+$/i);
107
+ var Ne = /* @__PURE__ */ Object.freeze({
108
+ __proto__: null,
109
+ ARIA_ATTR: gn,
110
+ ATTR_WHITESPACE: An,
111
+ CUSTOM_ELEMENT: _n,
112
+ DATA_ATTR: Tn,
113
+ DOCTYPE_NAME: Ie,
114
+ ERB_EXPR: dn,
115
+ IS_ALLOWED_URI: Le,
116
+ IS_SCRIPT_OR_DATA: En,
117
+ MUSTACHE_EXPR: mn,
118
+ TMPLIT_EXPR: hn
119
+ });
120
+ const lt = {
121
+ element: 1,
122
+ text: 3,
123
+ // Deprecated
124
+ progressingInstruction: 7,
125
+ comment: 8,
126
+ document: 9
127
+ }, Sn = function() {
128
+ return typeof window > "u" ? null : window;
129
+ }, bn = function(r, e) {
130
+ if (typeof r != "object" || typeof r.createPolicy != "function")
131
+ return null;
132
+ let i = null;
133
+ const o = "data-tt-policy-suffix";
134
+ e && e.hasAttribute(o) && (i = e.getAttribute(o));
135
+ const m = "dompurify" + (i ? "#" + i : "");
136
+ try {
137
+ return r.createPolicy(m, {
138
+ createHTML(c) {
139
+ return c;
140
+ },
141
+ createScriptURL(c) {
142
+ return c;
143
+ }
144
+ });
145
+ } catch {
146
+ return console.warn("TrustedTypes policy " + m + " could not be created."), null;
147
+ }
148
+ }, De = function() {
149
+ return {
150
+ afterSanitizeAttributes: [],
151
+ afterSanitizeElements: [],
152
+ afterSanitizeShadowDOM: [],
153
+ beforeSanitizeAttributes: [],
154
+ beforeSanitizeElements: [],
155
+ beforeSanitizeShadowDOM: [],
156
+ uponSanitizeAttribute: [],
157
+ uponSanitizeElement: [],
158
+ uponSanitizeShadowNode: []
159
+ };
160
+ };
161
+ function Me() {
162
+ let a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Sn();
163
+ const r = (l) => Me(l);
164
+ if (r.version = "3.3.1", r.removed = [], !a || !a.document || a.document.nodeType !== lt.document || !a.Element)
165
+ return r.isSupported = !1, r;
166
+ let {
167
+ document: e
168
+ } = a;
169
+ const i = e, o = i.currentScript, {
170
+ DocumentFragment: m,
171
+ HTMLTemplateElement: c,
172
+ Node: u,
173
+ Element: f,
174
+ NodeFilter: d,
175
+ NamedNodeMap: R = a.NamedNodeMap || a.MozNamedAttrMap,
176
+ HTMLFormElement: _,
177
+ DOMParser: I,
178
+ trustedTypes: x
179
+ } = a, G = f.prototype, xe = at(G, "cloneNode"), we = at(G, "remove"), Pe = at(G, "nextSibling"), ve = at(G, "childNodes"), ct = at(G, "parentNode");
180
+ if (typeof c == "function") {
181
+ const l = e.createElement("template");
182
+ l.content && l.content.ownerDocument && (e = l.content.ownerDocument);
183
+ }
184
+ let O, tt = "";
185
+ const {
186
+ implementation: _t,
187
+ createNodeIterator: ke,
188
+ createDocumentFragment: Ue,
189
+ getElementsByTagName: Fe
190
+ } = e, {
191
+ importNode: He
192
+ } = i;
193
+ let N = De();
194
+ r.isSupported = typeof Ce == "function" && typeof ct == "function" && _t && _t.createHTMLDocument !== void 0;
195
+ const {
196
+ MUSTACHE_EXPR: St,
197
+ ERB_EXPR: bt,
198
+ TMPLIT_EXPR: yt,
199
+ DATA_ATTR: ze,
200
+ ARIA_ATTR: Be,
201
+ IS_SCRIPT_OR_DATA: Ge,
202
+ ATTR_WHITESPACE: $t,
203
+ CUSTOM_ELEMENT: We
204
+ } = Ne;
205
+ let {
206
+ IS_ALLOWED_URI: Xt
207
+ } = Ne, A = null;
208
+ const qt = p({}, [...be, ...Ft, ...Ht, ...zt, ...ye]);
209
+ let S = null;
210
+ const Kt = p({}, [...Re, ...Bt, ...Oe, ...Et]);
211
+ let T = Object.seal(Wt(null, {
212
+ tagNameCheck: {
213
+ writable: !0,
214
+ configurable: !1,
215
+ enumerable: !0,
216
+ value: null
217
+ },
218
+ attributeNameCheck: {
219
+ writable: !0,
220
+ configurable: !1,
221
+ enumerable: !0,
222
+ value: null
223
+ },
224
+ allowCustomizedBuiltInElements: {
225
+ writable: !0,
226
+ configurable: !1,
227
+ enumerable: !0,
228
+ value: !1
229
+ }
230
+ })), et = null, Rt = null;
231
+ const $ = Object.seal(Wt(null, {
232
+ tagCheck: {
233
+ writable: !0,
234
+ configurable: !1,
235
+ enumerable: !0,
236
+ value: null
237
+ },
238
+ attributeCheck: {
239
+ writable: !0,
240
+ configurable: !1,
241
+ enumerable: !0,
242
+ value: null
243
+ }
244
+ }));
245
+ let Zt = !0, Ot = !0, Jt = !1, Qt = !0, X = !1, ut = !0, W = !1, Nt = !1, Dt = !1, q = !1, ft = !1, pt = !1, Vt = !0, te = !1;
246
+ const je = "user-content-";
247
+ let Ct = !0, nt = !1, K = {}, v = null;
248
+ const Lt = p({}, ["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"]);
249
+ let ee = null;
250
+ const ne = p({}, ["audio", "video", "img", "source", "image", "track"]);
251
+ let It = null;
252
+ const re = p({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), mt = "http://www.w3.org/1998/Math/MathML", dt = "http://www.w3.org/2000/svg", F = "http://www.w3.org/1999/xhtml";
253
+ let Z = F, Mt = !1, xt = null;
254
+ const Ye = p({}, [mt, dt, F], kt);
255
+ let ht = p({}, ["mi", "mo", "mn", "ms", "mtext"]), Tt = p({}, ["annotation-xml"]);
256
+ const $e = p({}, ["title", "style", "font", "a", "script"]);
257
+ let rt = null;
258
+ const Xe = ["application/xhtml+xml", "text/html"], qe = "text/html";
259
+ let E = null, J = null;
260
+ const Ke = e.createElement("form"), ie = function(t) {
261
+ return t instanceof RegExp || t instanceof Function;
262
+ }, wt = function() {
263
+ let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
264
+ if (!(J && J === t)) {
265
+ if ((!t || typeof t != "object") && (t = {}), t = U(t), rt = // eslint-disable-next-line unicorn/prefer-includes
266
+ Xe.indexOf(t.PARSER_MEDIA_TYPE) === -1 ? qe : t.PARSER_MEDIA_TYPE, E = rt === "application/xhtml+xml" ? kt : At, A = P(t, "ALLOWED_TAGS") ? p({}, t.ALLOWED_TAGS, E) : qt, S = P(t, "ALLOWED_ATTR") ? p({}, t.ALLOWED_ATTR, E) : Kt, xt = P(t, "ALLOWED_NAMESPACES") ? p({}, t.ALLOWED_NAMESPACES, kt) : Ye, It = P(t, "ADD_URI_SAFE_ATTR") ? p(U(re), t.ADD_URI_SAFE_ATTR, E) : re, ee = P(t, "ADD_DATA_URI_TAGS") ? p(U(ne), t.ADD_DATA_URI_TAGS, E) : ne, v = P(t, "FORBID_CONTENTS") ? p({}, t.FORBID_CONTENTS, E) : Lt, et = P(t, "FORBID_TAGS") ? p({}, t.FORBID_TAGS, E) : U({}), Rt = P(t, "FORBID_ATTR") ? p({}, t.FORBID_ATTR, E) : U({}), K = P(t, "USE_PROFILES") ? t.USE_PROFILES : !1, Zt = t.ALLOW_ARIA_ATTR !== !1, Ot = t.ALLOW_DATA_ATTR !== !1, Jt = t.ALLOW_UNKNOWN_PROTOCOLS || !1, Qt = t.ALLOW_SELF_CLOSE_IN_ATTR !== !1, X = t.SAFE_FOR_TEMPLATES || !1, ut = t.SAFE_FOR_XML !== !1, W = t.WHOLE_DOCUMENT || !1, q = t.RETURN_DOM || !1, ft = t.RETURN_DOM_FRAGMENT || !1, pt = t.RETURN_TRUSTED_TYPE || !1, Dt = t.FORCE_BODY || !1, Vt = t.SANITIZE_DOM !== !1, te = t.SANITIZE_NAMED_PROPS || !1, Ct = t.KEEP_CONTENT !== !1, nt = t.IN_PLACE || !1, Xt = t.ALLOWED_URI_REGEXP || Le, Z = t.NAMESPACE || F, ht = t.MATHML_TEXT_INTEGRATION_POINTS || ht, Tt = t.HTML_INTEGRATION_POINTS || Tt, T = t.CUSTOM_ELEMENT_HANDLING || {}, t.CUSTOM_ELEMENT_HANDLING && ie(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (T.tagNameCheck = t.CUSTOM_ELEMENT_HANDLING.tagNameCheck), t.CUSTOM_ELEMENT_HANDLING && ie(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (T.attributeNameCheck = t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), t.CUSTOM_ELEMENT_HANDLING && typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (T.allowCustomizedBuiltInElements = t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), X && (Ot = !1), ft && (q = !0), K && (A = p({}, ye), S = [], K.html === !0 && (p(A, be), p(S, Re)), K.svg === !0 && (p(A, Ft), p(S, Bt), p(S, Et)), K.svgFilters === !0 && (p(A, Ht), p(S, Bt), p(S, Et)), K.mathMl === !0 && (p(A, zt), p(S, Oe), p(S, Et))), t.ADD_TAGS && (typeof t.ADD_TAGS == "function" ? $.tagCheck = t.ADD_TAGS : (A === qt && (A = U(A)), p(A, t.ADD_TAGS, E))), t.ADD_ATTR && (typeof t.ADD_ATTR == "function" ? $.attributeCheck = t.ADD_ATTR : (S === Kt && (S = U(S)), p(S, t.ADD_ATTR, E))), t.ADD_URI_SAFE_ATTR && p(It, t.ADD_URI_SAFE_ATTR, E), t.FORBID_CONTENTS && (v === Lt && (v = U(v)), p(v, t.FORBID_CONTENTS, E)), t.ADD_FORBID_CONTENTS && (v === Lt && (v = U(v)), p(v, t.ADD_FORBID_CONTENTS, E)), Ct && (A["#text"] = !0), W && p(A, ["html", "head", "body"]), A.table && (p(A, ["tbody"]), delete et.tbody), t.TRUSTED_TYPES_POLICY) {
267
+ if (typeof t.TRUSTED_TYPES_POLICY.createHTML != "function")
268
+ throw st('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
269
+ if (typeof t.TRUSTED_TYPES_POLICY.createScriptURL != "function")
270
+ throw st('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
271
+ O = t.TRUSTED_TYPES_POLICY, tt = O.createHTML("");
272
+ } else
273
+ O === void 0 && (O = bn(x, o)), O !== null && typeof tt == "string" && (tt = O.createHTML(""));
274
+ C && C(t), J = t;
275
+ }
276
+ }, oe = p({}, [...Ft, ...Ht, ...fn]), se = p({}, [...zt, ...pn]), Ze = function(t) {
277
+ let n = ct(t);
278
+ (!n || !n.tagName) && (n = {
279
+ namespaceURI: Z,
280
+ tagName: "template"
281
+ });
282
+ const s = At(t.tagName), h = At(n.tagName);
283
+ return xt[t.namespaceURI] ? t.namespaceURI === dt ? n.namespaceURI === F ? s === "svg" : n.namespaceURI === mt ? s === "svg" && (h === "annotation-xml" || ht[h]) : !!oe[s] : t.namespaceURI === mt ? n.namespaceURI === F ? s === "math" : n.namespaceURI === dt ? s === "math" && Tt[h] : !!se[s] : t.namespaceURI === F ? n.namespaceURI === dt && !Tt[h] || n.namespaceURI === mt && !ht[h] ? !1 : !se[s] && ($e[s] || !oe[s]) : !!(rt === "application/xhtml+xml" && xt[t.namespaceURI]) : !1;
284
+ }, k = function(t) {
285
+ it(r.removed, {
286
+ element: t
287
+ });
288
+ try {
289
+ ct(t).removeChild(t);
290
+ } catch {
291
+ we(t);
292
+ }
293
+ }, j = function(t, n) {
294
+ try {
295
+ it(r.removed, {
296
+ attribute: n.getAttributeNode(t),
297
+ from: n
298
+ });
299
+ } catch {
300
+ it(r.removed, {
301
+ attribute: null,
302
+ from: n
303
+ });
304
+ }
305
+ if (n.removeAttribute(t), t === "is")
306
+ if (q || ft)
307
+ try {
308
+ k(n);
309
+ } catch {
310
+ }
311
+ else
312
+ try {
313
+ n.setAttribute(t, "");
314
+ } catch {
315
+ }
316
+ }, ae = function(t) {
317
+ let n = null, s = null;
318
+ if (Dt)
319
+ t = "<remove></remove>" + t;
320
+ else {
321
+ const g = Ut(t, /^[\r\n\t ]+/);
322
+ s = g && g[0];
323
+ }
324
+ rt === "application/xhtml+xml" && Z === F && (t = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + t + "</body></html>");
325
+ const h = O ? O.createHTML(t) : t;
326
+ if (Z === F)
327
+ try {
328
+ n = new I().parseFromString(h, rt);
329
+ } catch {
330
+ }
331
+ if (!n || !n.documentElement) {
332
+ n = _t.createDocument(Z, "template", null);
333
+ try {
334
+ n.documentElement.innerHTML = Mt ? tt : h;
335
+ } catch {
336
+ }
337
+ }
338
+ const y = n.body || n.documentElement;
339
+ return t && s && y.insertBefore(e.createTextNode(s), y.childNodes[0] || null), Z === F ? Fe.call(n, W ? "html" : "body")[0] : W ? n.documentElement : y;
340
+ }, le = function(t) {
341
+ return ke.call(
342
+ t.ownerDocument || t,
343
+ t,
344
+ // eslint-disable-next-line no-bitwise
345
+ d.SHOW_ELEMENT | d.SHOW_COMMENT | d.SHOW_TEXT | d.SHOW_PROCESSING_INSTRUCTION | d.SHOW_CDATA_SECTION,
346
+ null
347
+ );
348
+ }, Pt = function(t) {
349
+ return t instanceof _ && (typeof t.nodeName != "string" || typeof t.textContent != "string" || typeof t.removeChild != "function" || !(t.attributes instanceof R) || typeof t.removeAttribute != "function" || typeof t.setAttribute != "function" || typeof t.namespaceURI != "string" || typeof t.insertBefore != "function" || typeof t.hasChildNodes != "function");
350
+ }, ce = function(t) {
351
+ return typeof u == "function" && t instanceof u;
352
+ };
353
+ function H(l, t, n) {
354
+ gt(l, (s) => {
355
+ s.call(r, t, n, J);
356
+ });
357
+ }
358
+ const ue = function(t) {
359
+ let n = null;
360
+ if (H(N.beforeSanitizeElements, t, null), Pt(t))
361
+ return k(t), !0;
362
+ const s = E(t.nodeName);
363
+ if (H(N.uponSanitizeElement, t, {
364
+ tagName: s,
365
+ allowedTags: A
366
+ }), ut && t.hasChildNodes() && !ce(t.firstElementChild) && D(/<[/\w!]/g, t.innerHTML) && D(/<[/\w!]/g, t.textContent) || t.nodeType === lt.progressingInstruction || ut && t.nodeType === lt.comment && D(/<[/\w]/g, t.data))
367
+ return k(t), !0;
368
+ if (!($.tagCheck instanceof Function && $.tagCheck(s)) && (!A[s] || et[s])) {
369
+ if (!et[s] && pe(s) && (T.tagNameCheck instanceof RegExp && D(T.tagNameCheck, s) || T.tagNameCheck instanceof Function && T.tagNameCheck(s)))
370
+ return !1;
371
+ if (Ct && !v[s]) {
372
+ const h = ct(t) || t.parentNode, y = ve(t) || t.childNodes;
373
+ if (y && h) {
374
+ const g = y.length;
375
+ for (let M = g - 1; M >= 0; --M) {
376
+ const z = xe(y[M], !0);
377
+ z.__removalCount = (t.__removalCount || 0) + 1, h.insertBefore(z, Pe(t));
378
+ }
379
+ }
380
+ }
381
+ return k(t), !0;
382
+ }
383
+ return t instanceof f && !Ze(t) || (s === "noscript" || s === "noembed" || s === "noframes") && D(/<\/no(script|embed|frames)/i, t.innerHTML) ? (k(t), !0) : (X && t.nodeType === lt.text && (n = t.textContent, gt([St, bt, yt], (h) => {
384
+ n = ot(n, h, " ");
385
+ }), t.textContent !== n && (it(r.removed, {
386
+ element: t.cloneNode()
387
+ }), t.textContent = n)), H(N.afterSanitizeElements, t, null), !1);
388
+ }, fe = function(t, n, s) {
389
+ if (Vt && (n === "id" || n === "name") && (s in e || s in Ke))
390
+ return !1;
391
+ if (!(Ot && !Rt[n] && D(ze, n))) {
392
+ if (!(Zt && D(Be, n))) {
393
+ if (!($.attributeCheck instanceof Function && $.attributeCheck(n, t))) {
394
+ if (!S[n] || Rt[n]) {
395
+ if (
396
+ // First condition does a very basic check if a) it's basically a valid custom element tagname AND
397
+ // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
398
+ // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
399
+ !(pe(t) && (T.tagNameCheck instanceof RegExp && D(T.tagNameCheck, t) || T.tagNameCheck instanceof Function && T.tagNameCheck(t)) && (T.attributeNameCheck instanceof RegExp && D(T.attributeNameCheck, n) || T.attributeNameCheck instanceof Function && T.attributeNameCheck(n, t)) || // Alternative, second condition checks if it's an `is`-attribute, AND
400
+ // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
401
+ n === "is" && T.allowCustomizedBuiltInElements && (T.tagNameCheck instanceof RegExp && D(T.tagNameCheck, s) || T.tagNameCheck instanceof Function && T.tagNameCheck(s)))
402
+ ) return !1;
403
+ } else if (!It[n]) {
404
+ if (!D(Xt, ot(s, $t, ""))) {
405
+ if (!((n === "src" || n === "xlink:href" || n === "href") && t !== "script" && an(s, "data:") === 0 && ee[t])) {
406
+ if (!(Jt && !D(Ge, ot(s, $t, "")))) {
407
+ if (s)
408
+ return !1;
409
+ }
410
+ }
411
+ }
412
+ }
413
+ }
414
+ }
415
+ }
416
+ return !0;
417
+ }, pe = function(t) {
418
+ return t !== "annotation-xml" && Ut(t, We);
419
+ }, me = function(t) {
420
+ H(N.beforeSanitizeAttributes, t, null);
421
+ const {
422
+ attributes: n
423
+ } = t;
424
+ if (!n || Pt(t))
425
+ return;
426
+ const s = {
427
+ attrName: "",
428
+ attrValue: "",
429
+ keepAttr: !0,
430
+ allowedAttributes: S,
431
+ forceKeepAttr: void 0
432
+ };
433
+ let h = n.length;
434
+ for (; h--; ) {
435
+ const y = n[h], {
436
+ name: g,
437
+ namespaceURI: M,
438
+ value: z
439
+ } = y, Q = E(g), vt = z;
440
+ let b = g === "value" ? vt : ln(vt);
441
+ if (s.attrName = Q, s.attrValue = b, s.keepAttr = !0, s.forceKeepAttr = void 0, H(N.uponSanitizeAttribute, t, s), b = s.attrValue, te && (Q === "id" || Q === "name") && (j(g, t), b = je + b), ut && D(/((--!?|])>)|<\/(style|title|textarea)/i, b)) {
442
+ j(g, t);
443
+ continue;
444
+ }
445
+ if (Q === "attributename" && Ut(b, "href")) {
446
+ j(g, t);
447
+ continue;
448
+ }
449
+ if (s.forceKeepAttr)
450
+ continue;
451
+ if (!s.keepAttr) {
452
+ j(g, t);
453
+ continue;
454
+ }
455
+ if (!Qt && D(/\/>/i, b)) {
456
+ j(g, t);
457
+ continue;
458
+ }
459
+ X && gt([St, bt, yt], (he) => {
460
+ b = ot(b, he, " ");
461
+ });
462
+ const de = E(t.nodeName);
463
+ if (!fe(de, Q, b)) {
464
+ j(g, t);
465
+ continue;
466
+ }
467
+ if (O && typeof x == "object" && typeof x.getAttributeType == "function" && !M)
468
+ switch (x.getAttributeType(de, Q)) {
469
+ case "TrustedHTML": {
470
+ b = O.createHTML(b);
471
+ break;
472
+ }
473
+ case "TrustedScriptURL": {
474
+ b = O.createScriptURL(b);
475
+ break;
476
+ }
477
+ }
478
+ if (b !== vt)
479
+ try {
480
+ M ? t.setAttributeNS(M, g, b) : t.setAttribute(g, b), Pt(t) ? k(t) : Se(r.removed);
481
+ } catch {
482
+ j(g, t);
483
+ }
484
+ }
485
+ H(N.afterSanitizeAttributes, t, null);
486
+ }, Je = function l(t) {
487
+ let n = null;
488
+ const s = le(t);
489
+ for (H(N.beforeSanitizeShadowDOM, t, null); n = s.nextNode(); )
490
+ H(N.uponSanitizeShadowNode, n, null), ue(n), me(n), n.content instanceof m && l(n.content);
491
+ H(N.afterSanitizeShadowDOM, t, null);
492
+ };
493
+ return r.sanitize = function(l) {
494
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = null, s = null, h = null, y = null;
495
+ if (Mt = !l, Mt && (l = "<!-->"), typeof l != "string" && !ce(l))
496
+ if (typeof l.toString == "function") {
497
+ if (l = l.toString(), typeof l != "string")
498
+ throw st("dirty is not a string, aborting");
499
+ } else
500
+ throw st("toString is not a function");
501
+ if (!r.isSupported)
502
+ return l;
503
+ if (Nt || wt(t), r.removed = [], typeof l == "string" && (nt = !1), nt) {
504
+ if (l.nodeName) {
505
+ const z = E(l.nodeName);
506
+ if (!A[z] || et[z])
507
+ throw st("root node is forbidden and cannot be sanitized in-place");
508
+ }
509
+ } else if (l instanceof u)
510
+ n = ae("<!---->"), s = n.ownerDocument.importNode(l, !0), s.nodeType === lt.element && s.nodeName === "BODY" || s.nodeName === "HTML" ? n = s : n.appendChild(s);
511
+ else {
512
+ if (!q && !X && !W && // eslint-disable-next-line unicorn/prefer-includes
513
+ l.indexOf("<") === -1)
514
+ return O && pt ? O.createHTML(l) : l;
515
+ if (n = ae(l), !n)
516
+ return q ? null : pt ? tt : "";
517
+ }
518
+ n && Dt && k(n.firstChild);
519
+ const g = le(nt ? l : n);
520
+ for (; h = g.nextNode(); )
521
+ ue(h), me(h), h.content instanceof m && Je(h.content);
522
+ if (nt)
523
+ return l;
524
+ if (q) {
525
+ if (ft)
526
+ for (y = Ue.call(n.ownerDocument); n.firstChild; )
527
+ y.appendChild(n.firstChild);
528
+ else
529
+ y = n;
530
+ return (S.shadowroot || S.shadowrootmode) && (y = He.call(i, y, !0)), y;
531
+ }
532
+ let M = W ? n.outerHTML : n.innerHTML;
533
+ return W && A["!doctype"] && n.ownerDocument && n.ownerDocument.doctype && n.ownerDocument.doctype.name && D(Ie, n.ownerDocument.doctype.name) && (M = "<!DOCTYPE " + n.ownerDocument.doctype.name + `>
534
+ ` + M), X && gt([St, bt, yt], (z) => {
535
+ M = ot(M, z, " ");
536
+ }), O && pt ? O.createHTML(M) : M;
537
+ }, r.setConfig = function() {
538
+ let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
539
+ wt(l), Nt = !0;
540
+ }, r.clearConfig = function() {
541
+ J = null, Nt = !1;
542
+ }, r.isValidAttribute = function(l, t, n) {
543
+ J || wt({});
544
+ const s = E(l), h = E(t);
545
+ return fe(s, h, n);
546
+ }, r.addHook = function(l, t) {
547
+ typeof t == "function" && it(N[l], t);
548
+ }, r.removeHook = function(l, t) {
549
+ if (t !== void 0) {
550
+ const n = on(N[l], t);
551
+ return n === -1 ? void 0 : sn(N[l], n, 1)[0];
552
+ }
553
+ return Se(N[l]);
554
+ }, r.removeHooks = function(l) {
555
+ N[l] = [];
556
+ }, r.removeAllHooks = function() {
557
+ N = De();
558
+ }, r;
559
+ }
560
+ var yn = Me();
561
+ const Rn = yn(window), On = (a) => Rn.sanitize(a, {
562
+ RETURN_TRUSTED_TYPE: !0,
563
+ USE_PROFILES: { html: !0, svg: !0, svgFilters: !0 },
564
+ CUSTOM_ELEMENT_HANDLING: {
565
+ tagNameCheck: /^ea-/,
566
+ attributeNameCheck: /.*/,
567
+ allowCustomizedBuiltInElements: !0
568
+ }
569
+ });
570
+ class Nn {
571
+ constructor() {
572
+ /**
573
+ * @private
574
+ * @type {Map<string, CSSStyleSheet>}
575
+ */
576
+ V(this, "cache", /* @__PURE__ */ new Map());
577
+ }
578
+ /**
579
+ * @param {string} css
580
+ * @returns {CSSStyleSheet}
581
+ */
582
+ getOrCreate(r) {
583
+ let e = this.cache.get(r);
584
+ return e || (e = new CSSStyleSheet(), e.replaceSync(r), this.cache.set(r, e)), e;
585
+ }
586
+ /**
587
+ * @returns {number}
588
+ */
589
+ get size() {
590
+ return this.cache.size;
591
+ }
592
+ clear() {
593
+ this.cache.clear();
594
+ }
595
+ /**
596
+ * @param {string} css
597
+ * @returns {boolean}
598
+ */
599
+ has(r) {
600
+ return this.cache.has(r);
601
+ }
602
+ }
603
+ const Gt = new Nn();
604
+ var B;
605
+ class Mn extends HTMLElement {
606
+ constructor() {
607
+ super();
608
+ ge(this, B, {});
609
+ V(this, "isMounted", !0);
610
+ V(this, "props", {
611
+ locale: "en-US"
612
+ });
613
+ /**
614
+ * 创建响应式数据配置
615
+ * @param {Object.<string, {
616
+ * type: (Function|Array<*>),
617
+ * default: any,
618
+ * props?: Boolean,
619
+ * repeatable?: Boolean,
620
+ * rawFunction?: Boolean,
621
+ * observer?: (newVal: any, oldVal?: any) => void
622
+ * }>} states 配置对象,每个 key 是一个响应式字段名
623
+ * @returns {void}
624
+ */
625
+ V(this, "properties", (e) => {
626
+ const i = (c) => {
627
+ if (c === Boolean)
628
+ return "Boolean";
629
+ if (c === Number)
630
+ return "Number";
631
+ if (c === String || Array.isArray(c))
632
+ return "String";
633
+ if (c === RegExp)
634
+ return "RegExp";
635
+ if (c === Date)
636
+ return "Date";
637
+ if (c === Array)
638
+ return "Array";
639
+ if (typeof c == "object" && c !== null)
640
+ try {
641
+ return Object.entries(c).filter(
642
+ (f) => typeof f[1] == "function" ? f[1]() : !1
643
+ )[0][0];
644
+ } catch {
645
+ console.error(
646
+ `[${this.tagName}] Every "type" entry must be a function. Received:`,
647
+ c
648
+ );
649
+ }
650
+ return c || "String";
651
+ }, o = (c) => typeof c == "function" ? c() : c || null, m = (c, u) => {
652
+ const f = e[c], d = f == null ? void 0 : f.type;
653
+ if (c === "Function" || d === Function)
654
+ return f.rawFunction ? u : u == null ? void 0 : u();
655
+ if (c === "Array" || d === Array)
656
+ return u;
657
+ if (d === Boolean)
658
+ return u === "" || u === "true" || u === !0;
659
+ if (d === Number) {
660
+ const R = Number(u);
661
+ return isNaN(R) ? o(f == null ? void 0 : f.default) : R;
662
+ }
663
+ if (d === Date)
664
+ return new Date(u);
665
+ if (Array.isArray(d))
666
+ return d.includes(u) ? u : o(f == null ? void 0 : f.default);
667
+ if (d === RegExp)
668
+ return u.match(d) ? JSON.stringify(u) : o(f == null ? void 0 : f.default);
669
+ if (d === String)
670
+ return typeof u == "function" ? u() : u;
671
+ if (typeof d == "object" && d !== null) {
672
+ const R = Object.entries(d).filter((_) => _[1]());
673
+ return R && (R != null && R.length) ? m(R[0][0], u) : o(f == null ? void 0 : f.default);
674
+ }
675
+ return u || (f == null ? void 0 : f.default);
676
+ };
677
+ for (const [c, u] of Object.entries(e)) {
678
+ const f = Ae.String.toLowerCamelCase(c);
679
+ Y(this, B)[f] = u, Object.getOwnPropertyDescriptor(this, f) && delete this[f], Object.getOwnPropertyDescriptor(this, c) && delete this[c], u != null && u.props ? Object.defineProperty(this, c, {
680
+ get: () => {
681
+ var d;
682
+ return m(
683
+ c,
684
+ ((d = this.props) == null ? void 0 : d[c]) || o(u.default)
685
+ );
686
+ },
687
+ set: (d) => {
688
+ var _, I;
689
+ const R = (_ = this.props) == null ? void 0 : _[c];
690
+ this.props[c] = d, (I = u == null ? void 0 : u.observer) == null || I.call(u, d, R);
691
+ },
692
+ configurable: !0,
693
+ enumerable: !0
694
+ }) : Object.defineProperty(this, f, {
695
+ get: () => {
696
+ const d = i(u.type);
697
+ return this[`getAttr${d}`](
698
+ f,
699
+ o(u == null ? void 0 : u.default)
700
+ );
701
+ },
702
+ set: (d) => {
703
+ this.setAttr(f, m(f, d));
704
+ },
705
+ configurable: !0,
706
+ enumerable: !0
707
+ });
708
+ }
709
+ });
710
+ /**
711
+ * 触发事件
712
+ * @param {String} eventName
713
+ * @param {CustomEventInit} options
714
+ */
715
+ V(this, "emit", (e, i) => {
716
+ super.dispatchEvent(new CustomEvent(e, i));
717
+ });
718
+ this.attachShadow({ mode: "open" }), this.shadowRoot;
719
+ }
720
+ static get observedAttributes() {
721
+ return ["locale"];
722
+ }
723
+ // ------- locale -------
724
+ // #region
725
+ get locale() {
726
+ return this.getAttrString("locale") || this.props.locale || "en-US";
727
+ }
728
+ set locale(e) {
729
+ this.setAttribute("locale", e);
730
+ }
731
+ // #endregion
732
+ // ------- end -------
733
+ /**
734
+ * 样式导入
735
+ * @param {string} stylesheet 静态样式(vite:`xxx.css?inline`)
736
+ */
737
+ adoptedStyle(e) {
738
+ const i = [];
739
+ let o = this.constructor;
740
+ for (; o && o !== HTMLElement; ) {
741
+ const c = o.customElementOptions;
742
+ if (c != null && c.styles) {
743
+ const u = Array.isArray(c.styles) ? c.styles : [c.styles];
744
+ i.unshift(...u);
745
+ }
746
+ o = Object.getPrototypeOf(o);
747
+ }
748
+ e && i.push(e);
749
+ const m = [...new Set(i)];
750
+ if (m.length !== 0)
751
+ if ("adoptedStyleSheets" in this.shadowRoot) {
752
+ const c = m.map((f) => Gt.getOrCreate(f)), u = Gt.getOrCreate(Ee);
753
+ this.shadowRoot.adoptedStyleSheets = [u, ...c];
754
+ } else {
755
+ m.forEach((u) => {
756
+ const f = document.createElement("style");
757
+ f.textContent = u, this.shadowRoot.appendChild(f);
758
+ });
759
+ const c = document.createElement("style");
760
+ c.textContent = Ee, this.shadowRoot.appendChild(c);
761
+ }
762
+ }
763
+ /**
764
+ * 动态添加额外样式
765
+ * @param {string} stylesheet 静态样式(vite:`xxx.css?inline`)
766
+ */
767
+ assignedStyle(e) {
768
+ if (e)
769
+ if ("adoptedStyleSheets" in this.shadowRoot) {
770
+ const i = Gt.getOrCreate(e);
771
+ this.shadowRoot.adoptedStyleSheets = [
772
+ ...this.shadowRoot.adoptedStyleSheets,
773
+ i
774
+ ];
775
+ } else {
776
+ const i = document.createElement("style");
777
+ i.textContent = e, this.shadowRoot.appendChild(i);
778
+ }
779
+ }
780
+ /**
781
+ * 计算classlist
782
+ * @param {string} block 块级元素名称
783
+ * @param {object} classListObj classList对象
784
+ * @param {object} stateClassListObj 状态classList对象
785
+ * @returns {string} classList
786
+ */
787
+ computedClasslist(e = "", i = {}, o = {}) {
788
+ return [
789
+ e,
790
+ ...Object.entries(i).filter(([, m]) => m).map(([m]) => `${e}${m}`),
791
+ ...Object.entries(o).filter(([, m]) => m).map(([m]) => `is-${m}`)
792
+ ].join(" ");
793
+ }
794
+ attributeChangedCallback(e, i, o) {
795
+ var m, c, u, f;
796
+ if (!((o === i || !this.isMounted) && !((m = Y(this, B)[e]) != null && m.repeatable))) {
797
+ if (e === "locale") {
798
+ this.props.locale = o, this.$updateLocalization(o);
799
+ return;
800
+ }
801
+ try {
802
+ if ((c = Y(this, B)[e]) != null && c.props) return;
803
+ const d = (R, _) => {
804
+ const I = Y(this, B)[R], x = I == null ? void 0 : I.type;
805
+ if (R === "Array" || x === Array)
806
+ return _;
807
+ if (x === Boolean)
808
+ return _ === "" || _ === "true" || _ === !0;
809
+ if (x === Number) {
810
+ const G = Number(_);
811
+ return isNaN(G) ? I.default : G;
812
+ }
813
+ return Array.isArray(x) ? x.includes(_) ? _ : I.default : x === RegExp ? _.match(x) ? JSON.stringify(_) : I.default : _ || (I == null ? void 0 : I.default);
814
+ };
815
+ (f = (u = Y(this, B)[e]) == null ? void 0 : u.observer) == null || f.call(
816
+ u,
817
+ this[e],
818
+ d(e, i)
819
+ );
820
+ } catch (d) {
821
+ process.env.NODE_ENV === "development" && this.isMounted && console.error(d, this);
822
+ }
823
+ }
824
+ }
825
+ // ------- loading-full 属性 -------
826
+ // #region
827
+ get "loading-full"() {
828
+ return this.getAttrBoolean("loading-full") || !1;
829
+ }
830
+ set "loading-full"(e) {
831
+ this.toggleAttribute("loading-full", e), this.getAttrBoolean("disabled") || this.toggleAttribute("disabled", e);
832
+ }
833
+ // #endregion
834
+ // ------- end -------
835
+ html(e) {
836
+ return On(e);
837
+ }
838
+ /**
839
+ * @abstract 更新组件语言
840
+ * @param {string} locale
841
+ */
842
+ // eslint-disable-next-line no-unused-vars
843
+ $updateLocalization(e) {
844
+ }
845
+ /** @abstract 组件渲染 */
846
+ $render() {
847
+ }
848
+ /** @abstract 组件销毁前调用 */
849
+ $beforeUnmounted() {
850
+ }
851
+ /** @abstract 组件销毁后调用 */
852
+ $unmounted() {
853
+ }
854
+ /**
855
+ *
856
+ * @param {Object} data
857
+ * @param {any} data.key 键
858
+ * @param {any} data.newVal 值
859
+ * @param {any} data.oldVal 旧值
860
+ */
861
+ $updated(e) {
862
+ this.emit("updated", {
863
+ detail: e,
864
+ bubbles: !1,
865
+ composed: !0
866
+ });
867
+ }
868
+ connectedCallback() {
869
+ this.adoptedStyle(this.stylesheet), this.tabIndex = this.getAttrNumber("tabindex") || 0;
870
+ }
871
+ disconnectedCallback() {
872
+ var e, i;
873
+ (e = this.$beforeUnmounted) == null || e.call(this), this.emit("beforeUnmount", {
874
+ detail: this,
875
+ bubbles: !1,
876
+ composed: !0
877
+ }), (i = this.$unmounted) == null || i.call(this), this.emit("unmounted", {
878
+ detail: this,
879
+ bubbles: !1,
880
+ composed: !0
881
+ }), this.state = null;
882
+ }
883
+ /**
884
+ * 设置属性值,并切换className
885
+ * @param {string} attr 属性名
886
+ * @param {boolean} flag 属性值
887
+ */
888
+ toggleAttribute(e, i) {
889
+ i ? this.setAttribute(e, i) : this.hasAttribute(e) && this.removeAttribute(e);
890
+ }
891
+ /**
892
+ * 设置属性值
893
+ * @param {string} attr 属性名
894
+ * @param {boolean} flag 属性值
895
+ */
896
+ toggleAttr(e, i) {
897
+ i ? this.setAttribute(e, i) : this.removeAttribute(e);
898
+ }
899
+ /**
900
+ * 获取属性值,并转换为布尔值
901
+ * @param {string} attrName 属性名
902
+ * @returns {boolean}
903
+ */
904
+ getAttrBoolean(e, i) {
905
+ const o = this.getAttribute(e);
906
+ return o === "true" || o === "" ? !0 : o === "false" ? !1 : i;
907
+ }
908
+ /**
909
+ * 获取属性值,并转换为数字
910
+ * @param {string} attrName 属性名
911
+ * @returns {number}
912
+ */
913
+ getAttrNumber(e, i) {
914
+ const o = this.getAttribute(e);
915
+ return o ? Number(o) : i || 0;
916
+ }
917
+ getAttrString(e, i) {
918
+ const o = this.getAttribute(e);
919
+ return !o || o === "null" ? i || "" : o;
920
+ }
921
+ getAttrDate(e, i) {
922
+ let o = this.getAttrNumber(e);
923
+ return (isNaN(o) || !o) && (o = this.getAttrString(e)), isNaN(new Date(o)) ? i || null : new Date(o);
924
+ }
925
+ setAttr(e, i) {
926
+ if (i || Y(this, B)[e].default || i === 0) {
927
+ const o = Ae.JSON.stringify(i);
928
+ this.setAttribute(
929
+ e,
930
+ Array.isArray(i) || typeof i == "object" && i !== null ? o : i
931
+ );
932
+ } else
933
+ this.removeAttribute(e);
934
+ }
935
+ }
936
+ B = new WeakMap();
937
+ export {
938
+ Mn as B,
939
+ Gt as S,
940
+ On as h
941
+ };