easy-component-ui 3.0.12 → 3.0.14

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