| [ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 var __defProp = Object.defineProperty; 2 var __getOwnPropNames = Object.getOwnPropertyNames; 3 var __esm = (fn, res) => function __init() { 4 return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; 5 }; 6 var __export = (target, all) => { 7 for (var name in all) 8 __defProp(target, name, { get: all[name], enumerable: true }); 9 }; 10 11 // node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/dist/preact.module.js 12 function m(n3, l6) { 13 for (var u5 in l6) n3[u5] = l6[u5]; 14 return n3; 15 } 16 function b(n3) { 17 n3 && n3.parentNode && n3.parentNode.removeChild(n3); 18 } 19 function k(l6, u5, t5) { 20 var i6, r5, o4, e4 = {}; 21 for (o4 in u5) "key" == o4 ? i6 = u5[o4] : "ref" == o4 ? r5 = u5[o4] : e4[o4] = u5[o4]; 22 if (arguments.length > 2 && (e4.children = arguments.length > 3 ? n.call(arguments, 2) : t5), "function" == typeof l6 && null != l6.defaultProps) for (o4 in l6.defaultProps) void 0 === e4[o4] && (e4[o4] = l6.defaultProps[o4]); 23 return x(l6, e4, i6, r5, null); 24 } 25 function x(n3, t5, i6, r5, o4) { 26 var e4 = { type: n3, props: t5, key: i6, ref: r5, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: null == o4 ? ++u : o4, __i: -1, __u: 0 }; 27 return null == o4 && null != l.vnode && l.vnode(e4), e4; 28 } 29 function S(n3) { 30 return n3.children; 31 } 32 function C(n3, l6) { 33 this.props = n3, this.context = l6; 34 } 35 function $(n3, l6) { 36 if (null == l6) return n3.__ ? $(n3.__, n3.__i + 1) : null; 37 for (var u5; l6 < n3.__k.length; l6++) if (null != (u5 = n3.__k[l6]) && null != u5.__e) return u5.__e; 38 return "function" == typeof n3.type ? $(n3) : null; 39 } 40 function I(n3) { 41 if (n3.__P && n3.__d) { 42 var u5 = n3.__v, t5 = u5.__e, i6 = [], r5 = [], o4 = m({}, u5); 43 o4.__v = u5.__v + 1, l.vnode && l.vnode(o4), q(n3.__P, o4, u5, n3.__n, n3.__P.namespaceURI, 32 & u5.__u ? [t5] : null, i6, null == t5 ? $(u5) : t5, !!(32 & u5.__u), r5), o4.__v = u5.__v, o4.__.__k[o4.__i] = o4, D(i6, o4, r5), u5.__e = u5.__ = null, o4.__e != t5 && P(o4); 44 } 45 } 46 function P(n3) { 47 if (null != (n3 = n3.__) && null != n3.__c) return n3.__e = n3.__c.base = null, n3.__k.some(function(l6) { 48 if (null != l6 && null != l6.__e) return n3.__e = n3.__c.base = l6.__e; 49 }), P(n3); 50 } 51 function A(n3) { 52 (!n3.__d && (n3.__d = true) && i.push(n3) && !H.__r++ || r != l.debounceRendering) && ((r = l.debounceRendering) || o)(H); 53 } 54 function H() { 55 try { 56 for (var n3, l6 = 1; i.length; ) i.length > l6 && i.sort(e), n3 = i.shift(), l6 = i.length, I(n3); 57 } finally { 58 i.length = H.__r = 0; 59 } 60 } 61 function L(n3, l6, u5, t5, i6, r5, o4, e4, f5, c5, s6) { 62 var a5, h5, p6, v6, y5, _5, g3, m4 = t5 && t5.__k || w, b4 = l6.length; 63 for (f5 = T(u5, l6, m4, f5, b4), a5 = 0; a5 < b4; a5++) null != (p6 = u5.__k[a5]) && (h5 = -1 != p6.__i && m4[p6.__i] || d, p6.__i = a5, _5 = q(n3, p6, h5, i6, r5, o4, e4, f5, c5, s6), v6 = p6.__e, p6.ref && h5.ref != p6.ref && (h5.ref && J(h5.ref, null, p6), s6.push(p6.ref, p6.__c || v6, p6)), null == y5 && null != v6 && (y5 = v6), (g3 = !!(4 & p6.__u)) || h5.__k === p6.__k ? (f5 = j(p6, f5, n3, g3), g3 && h5.__e && (h5.__e = null)) : "function" == typeof p6.type && void 0 !== _5 ? f5 = _5 : v6 && (f5 = v6.nextSibling), p6.__u &= -7); 64 return u5.__e = y5, f5; 65 } 66 function T(n3, l6, u5, t5, i6) { 67 var r5, o4, e4, f5, c5, s6 = u5.length, a5 = s6, h5 = 0; 68 for (n3.__k = new Array(i6), r5 = 0; r5 < i6; r5++) null != (o4 = l6[r5]) && "boolean" != typeof o4 && "function" != typeof o4 ? ("string" == typeof o4 || "number" == typeof o4 || "bigint" == typeof o4 || o4.constructor == String ? o4 = n3.__k[r5] = x(null, o4, null, null, null) : g(o4) ? o4 = n3.__k[r5] = x(S, { children: o4 }, null, null, null) : void 0 === o4.constructor && o4.__b > 0 ? o4 = n3.__k[r5] = x(o4.type, o4.props, o4.key, o4.ref ? o4.ref : null, o4.__v) : n3.__k[r5] = o4, f5 = r5 + h5, o4.__ = n3, o4.__b = n3.__b + 1, e4 = null, -1 != (c5 = o4.__i = O(o4, u5, f5, a5)) && (a5--, (e4 = u5[c5]) && (e4.__u |= 2)), null == e4 || null == e4.__v ? (-1 == c5 && (i6 > s6 ? h5-- : i6 < s6 && h5++), "function" != typeof o4.type && (o4.__u |= 4)) : c5 != f5 && (c5 == f5 - 1 ? h5-- : c5 == f5 + 1 ? h5++ : (c5 > f5 ? h5-- : h5++, o4.__u |= 4))) : n3.__k[r5] = null; 69 if (a5) for (r5 = 0; r5 < s6; r5++) null != (e4 = u5[r5]) && 0 == (2 & e4.__u) && (e4.__e == t5 && (t5 = $(e4)), K(e4, e4)); 70 return t5; 71 } 72 function j(n3, l6, u5, t5) { 73 var i6, r5; 74 if ("function" == typeof n3.type) { 75 for (i6 = n3.__k, r5 = 0; i6 && r5 < i6.length; r5++) i6[r5] && (i6[r5].__ = n3, l6 = j(i6[r5], l6, u5, t5)); 76 return l6; 77 } 78 n3.__e != l6 && (t5 && (l6 && n3.type && !l6.parentNode && (l6 = $(n3)), u5.insertBefore(n3.__e, l6 || null)), l6 = n3.__e); 79 do { 80 l6 = l6 && l6.nextSibling; 81 } while (null != l6 && 8 == l6.nodeType); 82 return l6; 83 } 84 function O(n3, l6, u5, t5) { 85 var i6, r5, o4, e4 = n3.key, f5 = n3.type, c5 = l6[u5], s6 = null != c5 && 0 == (2 & c5.__u); 86 if (null === c5 && null == e4 || s6 && e4 == c5.key && f5 == c5.type) return u5; 87 if (t5 > (s6 ? 1 : 0)) { 88 for (i6 = u5 - 1, r5 = u5 + 1; i6 >= 0 || r5 < l6.length; ) if (null != (c5 = l6[o4 = i6 >= 0 ? i6-- : r5++]) && 0 == (2 & c5.__u) && e4 == c5.key && f5 == c5.type) return o4; 89 } 90 return -1; 91 } 92 function z(n3, l6, u5) { 93 "-" == l6[0] ? n3.setProperty(l6, null == u5 ? "" : u5) : n3[l6] = null == u5 ? "" : "number" != typeof u5 || _.test(l6) ? u5 : u5 + "px"; 94 } 95 function N(n3, l6, u5, t5, i6) { 96 var r5, o4; 97 n: if ("style" == l6) if ("string" == typeof u5) n3.style.cssText = u5; 98 else { 99 if ("string" == typeof t5 && (n3.style.cssText = t5 = ""), t5) for (l6 in t5) u5 && l6 in u5 || z(n3.style, l6, ""); 100 if (u5) for (l6 in u5) t5 && u5[l6] == t5[l6] || z(n3.style, l6, u5[l6]); 101 } 102 else if ("o" == l6[0] && "n" == l6[1]) r5 = l6 != (l6 = l6.replace(a, "$1")), o4 = l6.toLowerCase(), l6 = o4 in n3 || "onFocusOut" == l6 || "onFocusIn" == l6 ? o4.slice(2) : l6.slice(2), n3.l || (n3.l = {}), n3.l[l6 + r5] = u5, u5 ? t5 ? u5[s] = t5[s] : (u5[s] = h, n3.addEventListener(l6, r5 ? v : p, r5)) : n3.removeEventListener(l6, r5 ? v : p, r5); 103 else { 104 if ("http://www.w3.org/2000/svg" == i6) l6 = l6.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s"); 105 else if ("width" != l6 && "height" != l6 && "href" != l6 && "list" != l6 && "form" != l6 && "tabIndex" != l6 && "download" != l6 && "rowSpan" != l6 && "colSpan" != l6 && "role" != l6 && "popover" != l6 && l6 in n3) try { 106 n3[l6] = null == u5 ? "" : u5; 107 break n; 108 } catch (n4) { 109 } 110 "function" == typeof u5 || (null == u5 || false === u5 && "-" != l6[4] ? n3.removeAttribute(l6) : n3.setAttribute(l6, "popover" == l6 && 1 == u5 ? "" : u5)); 111 } 112 } 113 function V(n3) { 114 return function(u5) { 115 if (this.l) { 116 var t5 = this.l[u5.type + n3]; 117 if (null == u5[c]) u5[c] = h++; 118 else if (u5[c] < t5[s]) return; 119 return t5(l.event ? l.event(u5) : u5); 120 } 121 }; 122 } 123 function q(n3, u5, t5, i6, r5, o4, e4, f5, c5, s6) { 124 var a5, h5, p6, v6, y5, d6, _5, k3, x3, M, $2, I2, P2, A3, H2, T3 = u5.type; 125 if (void 0 !== u5.constructor) return null; 126 128 & t5.__u && (c5 = !!(32 & t5.__u), o4 = [f5 = u5.__e = t5.__e]), (a5 = l.__b) && a5(u5); 127 n: if ("function" == typeof T3) try { 128 if (k3 = u5.props, x3 = T3.prototype && T3.prototype.render, M = (a5 = T3.contextType) && i6[a5.__c], $2 = a5 ? M ? M.props.value : a5.__ : i6, t5.__c ? _5 = (h5 = u5.__c = t5.__c).__ = h5.__E : (x3 ? u5.__c = h5 = new T3(k3, $2) : (u5.__c = h5 = new C(k3, $2), h5.constructor = T3, h5.render = Q), M && M.sub(h5), h5.state || (h5.state = {}), h5.__n = i6, p6 = h5.__d = true, h5.__h = [], h5._sb = []), x3 && null == h5.__s && (h5.__s = h5.state), x3 && null != T3.getDerivedStateFromProps && (h5.__s == h5.state && (h5.__s = m({}, h5.__s)), m(h5.__s, T3.getDerivedStateFromProps(k3, h5.__s))), v6 = h5.props, y5 = h5.state, h5.__v = u5, p6) x3 && null == T3.getDerivedStateFromProps && null != h5.componentWillMount && h5.componentWillMount(), x3 && null != h5.componentDidMount && h5.__h.push(h5.componentDidMount); 129 else { 130 if (x3 && null == T3.getDerivedStateFromProps && k3 !== v6 && null != h5.componentWillReceiveProps && h5.componentWillReceiveProps(k3, $2), u5.__v == t5.__v || !h5.__e && null != h5.shouldComponentUpdate && false === h5.shouldComponentUpdate(k3, h5.__s, $2)) { 131 u5.__v != t5.__v && (h5.props = k3, h5.state = h5.__s, h5.__d = false), u5.__e = t5.__e, u5.__k = t5.__k, u5.__k.some(function(n4) { 132 n4 && (n4.__ = u5); 133 }), w.push.apply(h5.__h, h5._sb), h5._sb = [], h5.__h.length && e4.push(h5); 134 break n; 135 } 136 null != h5.componentWillUpdate && h5.componentWillUpdate(k3, h5.__s, $2), x3 && null != h5.componentDidUpdate && h5.__h.push(function() { 137 h5.componentDidUpdate(v6, y5, d6); 138 }); 139 } 140 if (h5.context = $2, h5.props = k3, h5.__P = n3, h5.__e = false, I2 = l.__r, P2 = 0, x3) h5.state = h5.__s, h5.__d = false, I2 && I2(u5), a5 = h5.render(h5.props, h5.state, h5.context), w.push.apply(h5.__h, h5._sb), h5._sb = []; 141 else do { 142 h5.__d = false, I2 && I2(u5), a5 = h5.render(h5.props, h5.state, h5.context), h5.state = h5.__s; 143 } while (h5.__d && ++P2 < 25); 144 h5.state = h5.__s, null != h5.getChildContext && (i6 = m(m({}, i6), h5.getChildContext())), x3 && !p6 && null != h5.getSnapshotBeforeUpdate && (d6 = h5.getSnapshotBeforeUpdate(v6, y5)), A3 = null != a5 && a5.type === S && null == a5.key ? E(a5.props.children) : a5, f5 = L(n3, g(A3) ? A3 : [A3], u5, t5, i6, r5, o4, e4, f5, c5, s6), h5.base = u5.__e, u5.__u &= -161, h5.__h.length && e4.push(h5), _5 && (h5.__E = h5.__ = null); 145 } catch (n4) { 146 if (u5.__v = null, c5 || null != o4) if (n4.then) { 147 for (u5.__u |= c5 ? 160 : 128; f5 && 8 == f5.nodeType && f5.nextSibling; ) f5 = f5.nextSibling; 148 o4[o4.indexOf(f5)] = null, u5.__e = f5; 149 } else { 150 for (H2 = o4.length; H2--; ) b(o4[H2]); 151 B(u5); 152 } 153 else u5.__e = t5.__e, u5.__k = t5.__k, n4.then || B(u5); 154 l.__e(n4, u5, t5); 155 } 156 else null == o4 && u5.__v == t5.__v ? (u5.__k = t5.__k, u5.__e = t5.__e) : f5 = u5.__e = G(t5.__e, u5, t5, i6, r5, o4, e4, c5, s6); 157 return (a5 = l.diffed) && a5(u5), 128 & u5.__u ? void 0 : f5; 158 } 159 function B(n3) { 160 n3 && (n3.__c && (n3.__c.__e = true), n3.__k && n3.__k.some(B)); 161 } 162 function D(n3, u5, t5) { 163 for (var i6 = 0; i6 < t5.length; i6++) J(t5[i6], t5[++i6], t5[++i6]); 164 l.__c && l.__c(u5, n3), n3.some(function(u6) { 165 try { 166 n3 = u6.__h, u6.__h = [], n3.some(function(n4) { 167 n4.call(u6); 168 }); 169 } catch (n4) { 170 l.__e(n4, u6.__v); 171 } 172 }); 173 } 174 function E(n3) { 175 return "object" != typeof n3 || null == n3 || n3.__b > 0 ? n3 : g(n3) ? n3.map(E) : m({}, n3); 176 } 177 function G(u5, t5, i6, r5, o4, e4, f5, c5, s6) { 178 var a5, h5, p6, v6, y5, w5, _5, m4 = i6.props || d, k3 = t5.props, x3 = t5.type; 179 if ("svg" == x3 ? o4 = "http://www.w3.org/2000/svg" : "math" == x3 ? o4 = "http://www.w3.org/1998/Math/MathML" : o4 || (o4 = "http://www.w3.org/1999/xhtml"), null != e4) { 180 for (a5 = 0; a5 < e4.length; a5++) if ((y5 = e4[a5]) && "setAttribute" in y5 == !!x3 && (x3 ? y5.localName == x3 : 3 == y5.nodeType)) { 181 u5 = y5, e4[a5] = null; 182 break; 183 } 184 } 185 if (null == u5) { 186 if (null == x3) return document.createTextNode(k3); 187 u5 = document.createElementNS(o4, x3, k3.is && k3), c5 && (l.__m && l.__m(t5, e4), c5 = false), e4 = null; 188 } 189 if (null == x3) m4 === k3 || c5 && u5.data == k3 || (u5.data = k3); 190 else { 191 if (e4 = e4 && n.call(u5.childNodes), !c5 && null != e4) for (m4 = {}, a5 = 0; a5 < u5.attributes.length; a5++) m4[(y5 = u5.attributes[a5]).name] = y5.value; 192 for (a5 in m4) y5 = m4[a5], "dangerouslySetInnerHTML" == a5 ? p6 = y5 : "children" == a5 || a5 in k3 || "value" == a5 && "defaultValue" in k3 || "checked" == a5 && "defaultChecked" in k3 || N(u5, a5, null, y5, o4); 193 for (a5 in k3) y5 = k3[a5], "children" == a5 ? v6 = y5 : "dangerouslySetInnerHTML" == a5 ? h5 = y5 : "value" == a5 ? w5 = y5 : "checked" == a5 ? _5 = y5 : c5 && "function" != typeof y5 || m4[a5] === y5 || N(u5, a5, y5, m4[a5], o4); 194 if (h5) c5 || p6 && (h5.__html == p6.__html || h5.__html == u5.innerHTML) || (u5.innerHTML = h5.__html), t5.__k = []; 195 else if (p6 && (u5.innerHTML = ""), L("template" == t5.type ? u5.content : u5, g(v6) ? v6 : [v6], t5, i6, r5, "foreignObject" == x3 ? "http://www.w3.org/1999/xhtml" : o4, e4, f5, e4 ? e4[0] : i6.__k && $(i6, 0), c5, s6), null != e4) for (a5 = e4.length; a5--; ) b(e4[a5]); 196 c5 || (a5 = "value", "progress" == x3 && null == w5 ? u5.removeAttribute("value") : null != w5 && (w5 !== u5[a5] || "progress" == x3 && !w5 || "option" == x3 && w5 != m4[a5]) && N(u5, a5, w5, m4[a5], o4), a5 = "checked", null != _5 && _5 != u5[a5] && N(u5, a5, _5, m4[a5], o4)); 197 } 198 return u5; 199 } 200 function J(n3, u5, t5) { 201 try { 202 if ("function" == typeof n3) { 203 var i6 = "function" == typeof n3.__u; 204 i6 && n3.__u(), i6 && null == u5 || (n3.__u = n3(u5)); 205 } else n3.current = u5; 206 } catch (n4) { 207 l.__e(n4, t5); 208 } 209 } 210 function K(n3, u5, t5) { 211 var i6, r5; 212 if (l.unmount && l.unmount(n3), (i6 = n3.ref) && (i6.current && i6.current != n3.__e || J(i6, null, u5)), null != (i6 = n3.__c)) { 213 if (i6.componentWillUnmount) try { 214 i6.componentWillUnmount(); 215 } catch (n4) { 216 l.__e(n4, u5); 217 } 218 i6.base = i6.__P = null; 219 } 220 if (i6 = n3.__k) for (r5 = 0; r5 < i6.length; r5++) i6[r5] && K(i6[r5], u5, t5 || "function" != typeof n3.type); 221 t5 || b(n3.__e), n3.__c = n3.__ = n3.__e = void 0; 222 } 223 function Q(n3, l6, u5) { 224 return this.constructor(n3, u5); 225 } 226 function R(u5, t5, i6) { 227 var r5, o4, e4, f5; 228 t5 == document && (t5 = document.documentElement), l.__ && l.__(u5, t5), o4 = (r5 = "function" == typeof i6) ? null : i6 && i6.__k || t5.__k, e4 = [], f5 = [], q(t5, u5 = (!r5 && i6 || t5).__k = k(S, null, [u5]), o4 || d, d, t5.namespaceURI, !r5 && i6 ? [i6] : o4 ? null : t5.firstChild ? n.call(t5.childNodes) : null, e4, !r5 && i6 ? i6 : o4 ? o4.__e : t5.firstChild, r5, f5), D(e4, u5, f5); 229 } 230 function U(n3, l6) { 231 R(n3, l6, U); 232 } 233 function W(l6, u5, t5) { 234 var i6, r5, o4, e4, f5 = m({}, l6.props); 235 for (o4 in l6.type && l6.type.defaultProps && (e4 = l6.type.defaultProps), u5) "key" == o4 ? i6 = u5[o4] : "ref" == o4 ? r5 = u5[o4] : f5[o4] = void 0 === u5[o4] && null != e4 ? e4[o4] : u5[o4]; 236 return arguments.length > 2 && (f5.children = arguments.length > 3 ? n.call(arguments, 2) : t5), x(l6.type, f5, i6 || l6.key, r5 || l6.ref, null); 237 } 238 function X(n3) { 239 function l6(n4) { 240 var u5, t5; 241 return this.getChildContext || (u5 = /* @__PURE__ */ new Set(), (t5 = {})[l6.__c] = this, this.getChildContext = function() { 242 return t5; 243 }, this.componentWillUnmount = function() { 244 u5 = null; 245 }, this.shouldComponentUpdate = function(n5) { 246 this.props.value != n5.value && u5.forEach(function(n6) { 247 n6.__e = true, A(n6); 248 }); 249 }, this.sub = function(n5) { 250 u5.add(n5); 251 var l7 = n5.componentWillUnmount; 252 n5.componentWillUnmount = function() { 253 u5 && u5.delete(n5), l7 && l7.call(n5); 254 }; 255 }), n4.children; 256 } 257 return l6.__c = "__cC" + y++, l6.__ = n3, l6.Provider = l6.__l = (l6.Consumer = function(n4, l7) { 258 return n4.children(l7); 259 }).contextType = l6, l6; 260 } 261 var n, l, u, t, i, r, o, e, f, c, s, a, h, p, v, y, d, w, _, g; 262 var init_preact_module = __esm({ 263 "node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/dist/preact.module.js"() { 264 d = {}; 265 w = []; 266 _ = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i; 267 g = Array.isArray; 268 n = w.slice, l = { __e: function(n3, l6, u5, t5) { 269 for (var i6, r5, o4; l6 = l6.__; ) if ((i6 = l6.__c) && !i6.__) try { 270 if ((r5 = i6.constructor) && null != r5.getDerivedStateFromError && (i6.setState(r5.getDerivedStateFromError(n3)), o4 = i6.__d), null != i6.componentDidCatch && (i6.componentDidCatch(n3, t5 || {}), o4 = i6.__d), o4) return i6.__E = i6; 271 } catch (l7) { 272 n3 = l7; 273 } 274 throw n3; 275 } }, u = 0, t = function(n3) { 276 return null != n3 && void 0 === n3.constructor; 277 }, C.prototype.setState = function(n3, l6) { 278 var u5; 279 u5 = null != this.__s && this.__s != this.state ? this.__s : this.__s = m({}, this.state), "function" == typeof n3 && (n3 = n3(m({}, u5), this.props)), n3 && m(u5, n3), null != n3 && this.__v && (l6 && this._sb.push(l6), A(this)); 280 }, C.prototype.forceUpdate = function(n3) { 281 this.__v && (this.__e = true, n3 && this.__h.push(n3), A(this)); 282 }, C.prototype.render = S, i = [], o = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e = function(n3, l6) { 283 return n3.__v.__b - l6.__v.__b; 284 }, H.__r = 0, f = Math.random().toString(8), c = "__d" + f, s = "__a" + f, a = /(PointerCapture)$|Capture$/i, h = 0, p = V(false), v = V(true), y = 0; 285 } 286 }); 287 288 // node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/devtools/dist/devtools.module.js 289 var i4; 290 var init_devtools_module = __esm({ 291 "node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/devtools/dist/devtools.module.js"() { 292 init_preact_module(); 293 null != (i4 = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0) && i4.__PREACT_DEVTOOLS__ && i4.__PREACT_DEVTOOLS__.attachPreact("10.29.1", l, { Fragment: S, Component: C }); 294 } 295 }); 296 297 // node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/debug/dist/debug.module.js 298 var debug_module_exports = {}; 299 __export(debug_module_exports, { 300 getCurrentVNode: () => c4, 301 getDisplayName: () => a4, 302 getOwnerStack: () => f4, 303 resetPropWarnings: () => r4 304 }); 305 function r4() { 306 t4 = {}; 307 } 308 function a4(e4) { 309 return e4.type === S ? "Fragment" : "function" == typeof e4.type ? e4.type.displayName || e4.type.name : "string" == typeof e4.type ? e4.type : "#text"; 310 } 311 function c4() { 312 return i5.length > 0 ? i5[i5.length - 1] : null; 313 } 314 function u4(e4) { 315 return "function" == typeof e4.type && e4.type != S; 316 } 317 function f4(n3) { 318 for (var e4 = [n3], o4 = n3; null != o4.__o; ) e4.push(o4.__o), o4 = o4.__o; 319 return e4.reduce(function(n4, e5) { 320 n4 += " in " + a4(e5); 321 var o5 = e5.__source; 322 return o5 ? n4 += " (at " + o5.fileName + ":" + o5.lineNumber + ")" : l5 && console.warn("Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons."), l5 = false, n4 + "\n"; 323 }, ""); 324 } 325 function p5(n3) { 326 var e4 = []; 327 return n3.__k ? (n3.__k.forEach(function(n4) { 328 n4 && "function" == typeof n4.type ? e4.push.apply(e4, p5(n4)) : n4 && "string" == typeof n4.type && e4.push(n4.type); 329 }), e4) : e4; 330 } 331 function h4(n3) { 332 return n3 ? "function" == typeof n3.type ? null == n3.__ ? null != n3.__e && null != n3.__e.parentNode ? n3.__e.parentNode.localName : "" : h4(n3.__) : n3.type : ""; 333 } 334 function y4(n3) { 335 return "table" === n3 || "tfoot" === n3 || "tbody" === n3 || "thead" === n3 || "td" === n3 || "tr" === n3 || "th" === n3; 336 } 337 function w4(n3) { 338 var e4 = n3.props, o4 = a4(n3), t5 = ""; 339 for (var r5 in e4) if (e4.hasOwnProperty(r5) && "children" !== r5) { 340 var i6 = e4[r5]; 341 "function" == typeof i6 && (i6 = "function " + (i6.displayName || i6.name) + "() {}"), i6 = Object(i6) !== i6 || i6.toString ? i6 + "" : Object.prototype.toString.call(i6), t5 += " " + r5 + "=" + JSON.stringify(i6); 342 } 343 var s6 = e4.children; 344 return "<" + o4 + t5 + (s6 && s6.length ? ">..</" + o4 + ">" : " />"); 345 } 346 var t4, i5, s5, l5, d5, v5, m3, b3; 347 var init_debug_module = __esm({ 348 "node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/debug/dist/debug.module.js"() { 349 init_preact_module(); 350 init_devtools_module(); 351 t4 = {}; 352 i5 = []; 353 s5 = []; 354 l5 = true; 355 d5 = "function" == typeof WeakMap; 356 v5 = C.prototype.setState; 357 C.prototype.setState = function(n3, e4) { 358 return null == this.__v && null == this.state && console.warn('Calling "this.setState" inside the constructor of a component is a no-op and might be a bug in your application. Instead, set "this.state = {}" directly.\n\n' + f4(c4())), v5.call(this, n3, e4); 359 }; 360 m3 = /^(address|article|aside|blockquote|details|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|main|menu|nav|ol|p|pre|search|section|table|ul)$/; 361 b3 = C.prototype.forceUpdate; 362 C.prototype.forceUpdate = function(n3) { 363 return null == this.__v ? console.warn('Calling "this.forceUpdate" inside the constructor of a component is a no-op and might be a bug in your application.\n\n' + f4(c4())) : null == this.__P && console.warn(`Can't call "this.forceUpdate" on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. 364 365 ` + f4(this.__v)), b3.call(this, n3); 366 }, l.__m = function(n3, e4) { 367 var o4 = n3.type, t5 = e4.map(function(n4) { 368 return n4 && n4.localName; 369 }).filter(Boolean); 370 console.error('Expected a DOM node of type "' + o4 + '" but found "' + t5.join(", ") + `" as available DOM-node(s), this is caused by the SSR'd HTML containing different DOM-nodes compared to the hydrated one. 371 372 ` + f4(n3)); 373 }, (function() { 374 !(function() { 375 var n4 = l.__b, o5 = l.diffed, t5 = l.__, r6 = l.vnode, a5 = l.__r; 376 l.diffed = function(n5) { 377 u4(n5) && s5.pop(), i5.pop(), o5 && o5(n5); 378 }, l.__b = function(e4) { 379 u4(e4) && i5.push(e4), n4 && n4(e4); 380 }, l.__ = function(n5, e4) { 381 s5 = [], t5 && t5(n5, e4); 382 }, l.vnode = function(n5) { 383 n5.__o = s5.length > 0 ? s5[s5.length - 1] : null, r6 && r6(n5); 384 }, l.__r = function(n5) { 385 u4(n5) && s5.push(n5), a5 && a5(n5); 386 }; 387 })(); 388 var n3 = false, o4 = l.__b, r5 = l.diffed, c5 = l.vnode, l6 = l.__r, v6 = l.__e, b4 = l.__, g3 = l.__h, E3 = d5 ? { useEffect: /* @__PURE__ */ new WeakMap(), useLayoutEffect: /* @__PURE__ */ new WeakMap(), lazyPropTypes: /* @__PURE__ */ new WeakMap() } : null, k3 = []; 389 l.__e = function(n4, e4, o5, t5) { 390 if (e4 && e4.__c && "function" == typeof n4.then) { 391 var r6 = n4; 392 n4 = new Error("Missing Suspense. The throwing component was: " + a4(e4)); 393 for (var i6 = e4; i6; i6 = i6.__) if (i6.__c && i6.__c.__c) { 394 n4 = r6; 395 break; 396 } 397 if (n4 instanceof Error) throw n4; 398 } 399 try { 400 (t5 = t5 || {}).componentStack = f4(e4), v6(n4, e4, o5, t5), "function" != typeof n4.then && setTimeout(function() { 401 throw n4; 402 }); 403 } catch (n5) { 404 throw n5; 405 } 406 }, l.__ = function(n4, e4) { 407 if (!e4) throw new Error("Undefined parent passed to render(), this is the second argument.\nCheck if the element is available in the DOM/has the correct id."); 408 var o5; 409 switch (e4.nodeType) { 410 case 1: 411 case 11: 412 case 9: 413 o5 = true; 414 break; 415 default: 416 o5 = false; 417 } 418 if (!o5) { 419 var t5 = a4(n4); 420 throw new Error("Expected a valid HTML node as a second argument to render. Received " + e4 + " instead: render(<" + t5 + " />, " + e4 + ");"); 421 } 422 b4 && b4(n4, e4); 423 }, l.__b = function(e4) { 424 var r6 = e4.type; 425 if (n3 = true, void 0 === r6) throw new Error("Undefined component passed to createElement()\n\nYou likely forgot to export your component or might have mixed up default and named imports" + w4(e4) + "\n\n" + f4(e4)); 426 if (null != r6 && "object" == typeof r6) { 427 if (void 0 !== r6.__k && void 0 !== r6.__e) throw new Error("Invalid type passed to createElement(): " + r6 + "\n\nDid you accidentally pass a JSX literal as JSX twice?\n\n let My" + a4(e4) + " = " + w4(r6) + ";\n let vnode = <My" + a4(e4) + " />;\n\nThis usually happens when you export a JSX literal and not the component.\n\n" + f4(e4)); 428 throw new Error("Invalid type passed to createElement(): " + (Array.isArray(r6) ? "array" : r6)); 429 } 430 if (void 0 !== e4.ref && "function" != typeof e4.ref && "object" != typeof e4.ref && !("$$typeof" in e4)) throw new Error(`Component's "ref" property should be a function, or an object created by createRef(), but got [` + typeof e4.ref + "] instead\n" + w4(e4) + "\n\n" + f4(e4)); 431 if ("string" == typeof e4.type) { 432 for (var i6 in e4.props) if ("o" === i6[0] && "n" === i6[1] && "function" != typeof e4.props[i6] && null != e4.props[i6]) throw new Error(`Component's "` + i6 + '" property should be a function, but got [' + typeof e4.props[i6] + "] instead\n" + w4(e4) + "\n\n" + f4(e4)); 433 } 434 if ("function" == typeof e4.type && e4.type.propTypes) { 435 if ("Lazy" === e4.type.displayName && E3 && !E3.lazyPropTypes.has(e4.type)) { 436 var s6 = "PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. "; 437 try { 438 var c6 = e4.type(); 439 E3.lazyPropTypes.set(e4.type, true), console.warn(s6 + "Component wrapped in lazy() is " + a4(c6)); 440 } catch (n4) { 441 console.warn(s6 + "We will log the wrapped component's name once it is loaded."); 442 } 443 } 444 var l7 = e4.props; 445 e4.type.__f && delete (l7 = (function(n4, e5) { 446 for (var o5 in e5) n4[o5] = e5[o5]; 447 return n4; 448 })({}, l7)).ref, (function(n4, e5, o5, r7, a5) { 449 Object.keys(n4).forEach(function(o6) { 450 var i7; 451 try { 452 i7 = n4[o6](e5, o6, r7, "prop", null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); 453 } catch (n5) { 454 i7 = n5; 455 } 456 i7 && !(i7.message in t4) && (t4[i7.message] = true, console.error("Failed prop type: " + i7.message + (a5 && "\n" + a5() || ""))); 457 }); 458 })(e4.type.propTypes, l7, 0, a4(e4), function() { 459 return f4(e4); 460 }); 461 } 462 o4 && o4(e4); 463 }; 464 var T3, _5 = 0; 465 l.__r = function(e4) { 466 l6 && l6(e4), n3 = true; 467 var o5 = e4.__c; 468 if (o5 === T3 ? _5++ : _5 = 1, _5 >= 25) throw new Error("Too many re-renders. This is limited to prevent an infinite loop which may lock up your browser. The component causing this is: " + a4(e4)); 469 T3 = o5; 470 }, l.__h = function(e4, o5, t5) { 471 if (!e4 || !n3) throw new Error("Hook can only be invoked from render methods."); 472 g3 && g3(e4, o5, t5); 473 }; 474 var O2 = function(n4, e4) { 475 return { get: function() { 476 var o5 = "get" + n4 + e4; 477 k3 && k3.indexOf(o5) < 0 && (k3.push(o5), console.warn("getting vnode." + n4 + " is deprecated, " + e4)); 478 }, set: function() { 479 var o5 = "set" + n4 + e4; 480 k3 && k3.indexOf(o5) < 0 && (k3.push(o5), console.warn("setting vnode." + n4 + " is not allowed, " + e4)); 481 } }; 482 }, I2 = { nodeName: O2("nodeName", "use vnode.type"), attributes: O2("attributes", "use vnode.props"), children: O2("children", "use vnode.props.children") }, M = Object.create({}, I2); 483 l.vnode = function(n4) { 484 var e4 = n4.props; 485 if (null !== n4.type && null != e4 && ("__source" in e4 || "__self" in e4)) { 486 var o5 = n4.props = {}; 487 for (var t5 in e4) { 488 var r6 = e4[t5]; 489 "__source" === t5 ? n4.__source = r6 : "__self" === t5 ? n4.__self = r6 : o5[t5] = r6; 490 } 491 } 492 n4.__proto__ = M, c5 && c5(n4); 493 }, l.diffed = function(e4) { 494 var o5, t5 = e4.type, i6 = e4.__; 495 if (e4.__k && e4.__k.forEach(function(n4) { 496 if ("object" == typeof n4 && n4 && void 0 === n4.type) { 497 var o6 = Object.keys(n4).join(","); 498 throw new Error("Objects are not valid as a child. Encountered an object with the keys {" + o6 + "}.\n\n" + f4(e4)); 499 } 500 }), e4.__c === T3 && (_5 = 0), "string" == typeof t5 && (y4(t5) || "p" === t5 || "a" === t5 || "button" === t5)) { 501 var s6 = h4(i6); 502 if ("" !== s6 && y4(t5)) "table" === t5 && "td" !== s6 && y4(s6) ? console.error("Improper nesting of table. Your <table> should not have a table-node parent." + w4(e4) + "\n\n" + f4(e4)) : "thead" !== t5 && "tfoot" !== t5 && "tbody" !== t5 || "table" === s6 ? "tr" === t5 && "thead" !== s6 && "tfoot" !== s6 && "tbody" !== s6 ? console.error("Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot> parent." + w4(e4) + "\n\n" + f4(e4)) : "td" === t5 && "tr" !== s6 ? console.error("Improper nesting of table. Your <td> should have a <tr> parent." + w4(e4) + "\n\n" + f4(e4)) : "th" === t5 && "tr" !== s6 && console.error("Improper nesting of table. Your <th> should have a <tr>." + w4(e4) + "\n\n" + f4(e4)) : console.error("Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent." + w4(e4) + "\n\n" + f4(e4)); 503 else if ("p" === t5) { 504 var c6 = p5(e4).filter(function(n4) { 505 return m3.test(n4); 506 }); 507 c6.length && console.error("Improper nesting of paragraph. Your <p> should not have " + c6.join(", ") + " as child-elements." + w4(e4) + "\n\n" + f4(e4)); 508 } else "a" !== t5 && "button" !== t5 || -1 !== p5(e4).indexOf(t5) && console.error("Improper nesting of interactive content. Your <" + t5 + "> should not have other " + ("a" === t5 ? "anchor" : "button") + " tags as child-elements." + w4(e4) + "\n\n" + f4(e4)); 509 } 510 if (n3 = false, r5 && r5(e4), null != e4.__k) for (var l7 = [], u5 = 0; u5 < e4.__k.length; u5++) { 511 var d6 = e4.__k[u5]; 512 if (d6 && null != d6.key) { 513 var v7 = d6.key; 514 if (-1 !== l7.indexOf(v7)) { 515 console.error('Following component has two or more children with the same key attribute: "' + v7 + '". This may cause glitches and misbehavior in rendering process. Component: \n\n' + w4(e4) + "\n\n" + f4(e4)); 516 break; 517 } 518 l7.push(v7); 519 } 520 } 521 if (null != e4.__c && null != e4.__c.__H) { 522 var b5 = e4.__c.__H.__; 523 if (b5) for (var g4 = 0; g4 < b5.length; g4 += 1) { 524 var E4 = b5[g4]; 525 if (E4.__H) { 526 for (var k4 = 0; k4 < E4.__H.length; k4++) if ((o5 = E4.__H[k4]) != o5) { 527 var O3 = a4(e4); 528 console.warn("Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index " + g4 + " in component " + O3 + " was called with NaN."); 529 } 530 } 531 } 532 } 533 }; 534 })(); 535 } 536 }); 537 538 // packages/interactivity/build-module/index.mjs 539 init_preact_module(); 540 541 // node_modules/.store/@preact/signals@1.3.0-z_ppW6levm_l-xtsxo7hFg/node_modules/@preact/signals/dist/signals.module.js 542 init_preact_module(); 543 544 // node_modules/.store/preact@10.29.1-Z6mqfktFgyEx3dIpXJAnhg/node_modules/preact/hooks/dist/hooks.module.js 545 init_preact_module(); 546 var t2; 547 var r2; 548 var u2; 549 var i2; 550 var o2 = 0; 551 var f2 = []; 552 var c2 = l; 553 var e2 = c2.__b; 554 var a2 = c2.__r; 555 var v2 = c2.diffed; 556 var l2 = c2.__c; 557 var m2 = c2.unmount; 558 var s2 = c2.__; 559 function p2(n3, t5) { 560 c2.__h && c2.__h(r2, n3, o2 || t5), o2 = 0; 561 var u5 = r2.__H || (r2.__H = { __: [], __h: [] }); 562 return n3 >= u5.__.length && u5.__.push({}), u5.__[n3]; 563 } 564 function d2(n3) { 565 return o2 = 1, h2(D2, n3); 566 } 567 function h2(n3, u5, i6) { 568 var o4 = p2(t2++, 2); 569 if (o4.t = n3, !o4.__c && (o4.__ = [i6 ? i6(u5) : D2(void 0, u5), function(n4) { 570 var t5 = o4.__N ? o4.__N[0] : o4.__[0], r5 = o4.t(t5, n4); 571 t5 !== r5 && (o4.__N = [r5, o4.__[1]], o4.__c.setState({})); 572 }], o4.__c = r2, !r2.__f)) { 573 var f5 = function(n4, t5, r5) { 574 if (!o4.__c.__H) return true; 575 var u6 = o4.__c.__H.__.filter(function(n5) { 576 return n5.__c; 577 }); 578 if (u6.every(function(n5) { 579 return !n5.__N; 580 })) return !c5 || c5.call(this, n4, t5, r5); 581 var i7 = o4.__c.props !== n4; 582 return u6.some(function(n5) { 583 if (n5.__N) { 584 var t6 = n5.__[0]; 585 n5.__ = n5.__N, n5.__N = void 0, t6 !== n5.__[0] && (i7 = true); 586 } 587 }), c5 && c5.call(this, n4, t5, r5) || i7; 588 }; 589 r2.__f = true; 590 var c5 = r2.shouldComponentUpdate, e4 = r2.componentWillUpdate; 591 r2.componentWillUpdate = function(n4, t5, r5) { 592 if (this.__e) { 593 var u6 = c5; 594 c5 = void 0, f5(n4, t5, r5), c5 = u6; 595 } 596 e4 && e4.call(this, n4, t5, r5); 597 }, r2.shouldComponentUpdate = f5; 598 } 599 return o4.__N || o4.__; 600 } 601 function y2(n3, u5) { 602 var i6 = p2(t2++, 3); 603 !c2.__s && C2(i6.__H, u5) && (i6.__ = n3, i6.u = u5, r2.__H.__h.push(i6)); 604 } 605 function _2(n3, u5) { 606 var i6 = p2(t2++, 4); 607 !c2.__s && C2(i6.__H, u5) && (i6.__ = n3, i6.u = u5, r2.__h.push(i6)); 608 } 609 function A2(n3) { 610 return o2 = 5, T2(function() { 611 return { current: n3 }; 612 }, []); 613 } 614 function T2(n3, r5) { 615 var u5 = p2(t2++, 7); 616 return C2(u5.__H, r5) && (u5.__ = n3(), u5.__H = r5, u5.__h = n3), u5.__; 617 } 618 function q2(n3, t5) { 619 return o2 = 8, T2(function() { 620 return n3; 621 }, t5); 622 } 623 function x2(n3) { 624 var u5 = r2.context[n3.__c], i6 = p2(t2++, 9); 625 return i6.c = n3, u5 ? (null == i6.__ && (i6.__ = true, u5.sub(r2)), u5.props.value) : n3.__; 626 } 627 function j2() { 628 for (var n3; n3 = f2.shift(); ) { 629 var t5 = n3.__H; 630 if (n3.__P && t5) try { 631 t5.__h.some(z2), t5.__h.some(B2), t5.__h = []; 632 } catch (r5) { 633 t5.__h = [], c2.__e(r5, n3.__v); 634 } 635 } 636 } 637 c2.__b = function(n3) { 638 r2 = null, e2 && e2(n3); 639 }, c2.__ = function(n3, t5) { 640 n3 && t5.__k && t5.__k.__m && (n3.__m = t5.__k.__m), s2 && s2(n3, t5); 641 }, c2.__r = function(n3) { 642 a2 && a2(n3), t2 = 0; 643 var i6 = (r2 = n3.__c).__H; 644 i6 && (u2 === r2 ? (i6.__h = [], r2.__h = [], i6.__.some(function(n4) { 645 n4.__N && (n4.__ = n4.__N), n4.u = n4.__N = void 0; 646 })) : (i6.__h.some(z2), i6.__h.some(B2), i6.__h = [], t2 = 0)), u2 = r2; 647 }, c2.diffed = function(n3) { 648 v2 && v2(n3); 649 var t5 = n3.__c; 650 t5 && t5.__H && (t5.__H.__h.length && (1 !== f2.push(t5) && i2 === c2.requestAnimationFrame || ((i2 = c2.requestAnimationFrame) || w2)(j2)), t5.__H.__.some(function(n4) { 651 n4.u && (n4.__H = n4.u), n4.u = void 0; 652 })), u2 = r2 = null; 653 }, c2.__c = function(n3, t5) { 654 t5.some(function(n4) { 655 try { 656 n4.__h.some(z2), n4.__h = n4.__h.filter(function(n5) { 657 return !n5.__ || B2(n5); 658 }); 659 } catch (r5) { 660 t5.some(function(n5) { 661 n5.__h && (n5.__h = []); 662 }), t5 = [], c2.__e(r5, n4.__v); 663 } 664 }), l2 && l2(n3, t5); 665 }, c2.unmount = function(n3) { 666 m2 && m2(n3); 667 var t5, r5 = n3.__c; 668 r5 && r5.__H && (r5.__H.__.some(function(n4) { 669 try { 670 z2(n4); 671 } catch (n5) { 672 t5 = n5; 673 } 674 }), r5.__H = void 0, t5 && c2.__e(t5, r5.__v)); 675 }; 676 var k2 = "function" == typeof requestAnimationFrame; 677 function w2(n3) { 678 var t5, r5 = function() { 679 clearTimeout(u5), k2 && cancelAnimationFrame(t5), setTimeout(n3); 680 }, u5 = setTimeout(r5, 35); 681 k2 && (t5 = requestAnimationFrame(r5)); 682 } 683 function z2(n3) { 684 var t5 = r2, u5 = n3.__c; 685 "function" == typeof u5 && (n3.__c = void 0, u5()), r2 = t5; 686 } 687 function B2(n3) { 688 var t5 = r2; 689 n3.__c = n3.__(), r2 = t5; 690 } 691 function C2(n3, t5) { 692 return !n3 || n3.length !== t5.length || t5.some(function(t6, r5) { 693 return t6 !== n3[r5]; 694 }); 695 } 696 function D2(n3, t5) { 697 return "function" == typeof t5 ? t5(n3) : t5; 698 } 699 700 // node_modules/.store/@preact/signals-core@1.8.0-YrJJPniKXpf_juG_JvRhXw/node_modules/@preact/signals-core/dist/signals-core.module.js 701 var i3 = /* @__PURE__ */ Symbol.for("preact-signals"); 702 function t3() { 703 if (!(s3 > 1)) { 704 var i6, t5 = false; 705 while (void 0 !== h3) { 706 var r5 = h3; 707 h3 = void 0; 708 f3++; 709 while (void 0 !== r5) { 710 var o4 = r5.o; 711 r5.o = void 0; 712 r5.f &= -3; 713 if (!(8 & r5.f) && c3(r5)) try { 714 r5.c(); 715 } catch (r6) { 716 if (!t5) { 717 i6 = r6; 718 t5 = true; 719 } 720 } 721 r5 = o4; 722 } 723 } 724 f3 = 0; 725 s3--; 726 if (t5) throw i6; 727 } else s3--; 728 } 729 function r3(i6) { 730 if (s3 > 0) return i6(); 731 s3++; 732 try { 733 return i6(); 734 } finally { 735 t3(); 736 } 737 } 738 var o3 = void 0; 739 var h3 = void 0; 740 var s3 = 0; 741 var f3 = 0; 742 var v3 = 0; 743 function e3(i6) { 744 if (void 0 !== o3) { 745 var t5 = i6.n; 746 if (void 0 === t5 || t5.t !== o3) { 747 t5 = { i: 0, S: i6, p: o3.s, n: void 0, t: o3, e: void 0, x: void 0, r: t5 }; 748 if (void 0 !== o3.s) o3.s.n = t5; 749 o3.s = t5; 750 i6.n = t5; 751 if (32 & o3.f) i6.S(t5); 752 return t5; 753 } else if (-1 === t5.i) { 754 t5.i = 0; 755 if (void 0 !== t5.n) { 756 t5.n.p = t5.p; 757 if (void 0 !== t5.p) t5.p.n = t5.n; 758 t5.p = o3.s; 759 t5.n = void 0; 760 o3.s.n = t5; 761 o3.s = t5; 762 } 763 return t5; 764 } 765 } 766 } 767 function u3(i6) { 768 this.v = i6; 769 this.i = 0; 770 this.n = void 0; 771 this.t = void 0; 772 } 773 u3.prototype.brand = i3; 774 u3.prototype.h = function() { 775 return true; 776 }; 777 u3.prototype.S = function(i6) { 778 if (this.t !== i6 && void 0 === i6.e) { 779 i6.x = this.t; 780 if (void 0 !== this.t) this.t.e = i6; 781 this.t = i6; 782 } 783 }; 784 u3.prototype.U = function(i6) { 785 if (void 0 !== this.t) { 786 var t5 = i6.e, r5 = i6.x; 787 if (void 0 !== t5) { 788 t5.x = r5; 789 i6.e = void 0; 790 } 791 if (void 0 !== r5) { 792 r5.e = t5; 793 i6.x = void 0; 794 } 795 if (i6 === this.t) this.t = r5; 796 } 797 }; 798 u3.prototype.subscribe = function(i6) { 799 var t5 = this; 800 return E2(function() { 801 var r5 = t5.value, n3 = o3; 802 o3 = void 0; 803 try { 804 i6(r5); 805 } finally { 806 o3 = n3; 807 } 808 }); 809 }; 810 u3.prototype.valueOf = function() { 811 return this.value; 812 }; 813 u3.prototype.toString = function() { 814 return this.value + ""; 815 }; 816 u3.prototype.toJSON = function() { 817 return this.value; 818 }; 819 u3.prototype.peek = function() { 820 var i6 = o3; 821 o3 = void 0; 822 try { 823 return this.value; 824 } finally { 825 o3 = i6; 826 } 827 }; 828 Object.defineProperty(u3.prototype, "value", { get: function() { 829 var i6 = e3(this); 830 if (void 0 !== i6) i6.i = this.i; 831 return this.v; 832 }, set: function(i6) { 833 if (i6 !== this.v) { 834 if (f3 > 100) throw new Error("Cycle detected"); 835 this.v = i6; 836 this.i++; 837 v3++; 838 s3++; 839 try { 840 for (var r5 = this.t; void 0 !== r5; r5 = r5.x) r5.t.N(); 841 } finally { 842 t3(); 843 } 844 } 845 } }); 846 function d3(i6) { 847 return new u3(i6); 848 } 849 function c3(i6) { 850 for (var t5 = i6.s; void 0 !== t5; t5 = t5.n) if (t5.S.i !== t5.i || !t5.S.h() || t5.S.i !== t5.i) return true; 851 return false; 852 } 853 function a3(i6) { 854 for (var t5 = i6.s; void 0 !== t5; t5 = t5.n) { 855 var r5 = t5.S.n; 856 if (void 0 !== r5) t5.r = r5; 857 t5.S.n = t5; 858 t5.i = -1; 859 if (void 0 === t5.n) { 860 i6.s = t5; 861 break; 862 } 863 } 864 } 865 function l3(i6) { 866 var t5 = i6.s, r5 = void 0; 867 while (void 0 !== t5) { 868 var o4 = t5.p; 869 if (-1 === t5.i) { 870 t5.S.U(t5); 871 if (void 0 !== o4) o4.n = t5.n; 872 if (void 0 !== t5.n) t5.n.p = o4; 873 } else r5 = t5; 874 t5.S.n = t5.r; 875 if (void 0 !== t5.r) t5.r = void 0; 876 t5 = o4; 877 } 878 i6.s = r5; 879 } 880 function y3(i6) { 881 u3.call(this, void 0); 882 this.x = i6; 883 this.s = void 0; 884 this.g = v3 - 1; 885 this.f = 4; 886 } 887 (y3.prototype = new u3()).h = function() { 888 this.f &= -3; 889 if (1 & this.f) return false; 890 if (32 == (36 & this.f)) return true; 891 this.f &= -5; 892 if (this.g === v3) return true; 893 this.g = v3; 894 this.f |= 1; 895 if (this.i > 0 && !c3(this)) { 896 this.f &= -2; 897 return true; 898 } 899 var i6 = o3; 900 try { 901 a3(this); 902 o3 = this; 903 var t5 = this.x(); 904 if (16 & this.f || this.v !== t5 || 0 === this.i) { 905 this.v = t5; 906 this.f &= -17; 907 this.i++; 908 } 909 } catch (i7) { 910 this.v = i7; 911 this.f |= 16; 912 this.i++; 913 } 914 o3 = i6; 915 l3(this); 916 this.f &= -2; 917 return true; 918 }; 919 y3.prototype.S = function(i6) { 920 if (void 0 === this.t) { 921 this.f |= 36; 922 for (var t5 = this.s; void 0 !== t5; t5 = t5.n) t5.S.S(t5); 923 } 924 u3.prototype.S.call(this, i6); 925 }; 926 y3.prototype.U = function(i6) { 927 if (void 0 !== this.t) { 928 u3.prototype.U.call(this, i6); 929 if (void 0 === this.t) { 930 this.f &= -33; 931 for (var t5 = this.s; void 0 !== t5; t5 = t5.n) t5.S.U(t5); 932 } 933 } 934 }; 935 y3.prototype.N = function() { 936 if (!(2 & this.f)) { 937 this.f |= 6; 938 for (var i6 = this.t; void 0 !== i6; i6 = i6.x) i6.t.N(); 939 } 940 }; 941 Object.defineProperty(y3.prototype, "value", { get: function() { 942 if (1 & this.f) throw new Error("Cycle detected"); 943 var i6 = e3(this); 944 this.h(); 945 if (void 0 !== i6) i6.i = this.i; 946 if (16 & this.f) throw this.v; 947 return this.v; 948 } }); 949 function w3(i6) { 950 return new y3(i6); 951 } 952 function _3(i6) { 953 var r5 = i6.u; 954 i6.u = void 0; 955 if ("function" == typeof r5) { 956 s3++; 957 var n3 = o3; 958 o3 = void 0; 959 try { 960 r5(); 961 } catch (t5) { 962 i6.f &= -2; 963 i6.f |= 8; 964 g2(i6); 965 throw t5; 966 } finally { 967 o3 = n3; 968 t3(); 969 } 970 } 971 } 972 function g2(i6) { 973 for (var t5 = i6.s; void 0 !== t5; t5 = t5.n) t5.S.U(t5); 974 i6.x = void 0; 975 i6.s = void 0; 976 _3(i6); 977 } 978 function p3(i6) { 979 if (o3 !== this) throw new Error("Out-of-order effect"); 980 l3(this); 981 o3 = i6; 982 this.f &= -2; 983 if (8 & this.f) g2(this); 984 t3(); 985 } 986 function b2(i6) { 987 this.x = i6; 988 this.u = void 0; 989 this.s = void 0; 990 this.o = void 0; 991 this.f = 32; 992 } 993 b2.prototype.c = function() { 994 var i6 = this.S(); 995 try { 996 if (8 & this.f) return; 997 if (void 0 === this.x) return; 998 var t5 = this.x(); 999 if ("function" == typeof t5) this.u = t5; 1000 } finally { 1001 i6(); 1002 } 1003 }; 1004 b2.prototype.S = function() { 1005 if (1 & this.f) throw new Error("Cycle detected"); 1006 this.f |= 1; 1007 this.f &= -9; 1008 _3(this); 1009 a3(this); 1010 s3++; 1011 var i6 = o3; 1012 o3 = this; 1013 return p3.bind(this, i6); 1014 }; 1015 b2.prototype.N = function() { 1016 if (!(2 & this.f)) { 1017 this.f |= 2; 1018 this.o = h3; 1019 h3 = this; 1020 } 1021 }; 1022 b2.prototype.d = function() { 1023 this.f |= 8; 1024 if (!(1 & this.f)) g2(this); 1025 }; 1026 function E2(i6) { 1027 var t5 = new b2(i6); 1028 try { 1029 t5.c(); 1030 } catch (i7) { 1031 t5.d(); 1032 throw i7; 1033 } 1034 return t5.d.bind(t5); 1035 } 1036 1037 // node_modules/.store/@preact/signals@1.3.0-z_ppW6levm_l-xtsxo7hFg/node_modules/@preact/signals/dist/signals.module.js 1038 var v4; 1039 var s4; 1040 function l4(n3, i6) { 1041 l[n3] = i6.bind(null, l[n3] || function() { 1042 }); 1043 } 1044 function d4(n3) { 1045 if (s4) s4(); 1046 s4 = n3 && n3.S(); 1047 } 1048 function p4(n3) { 1049 var r5 = this, f5 = n3.data, o4 = useSignal(f5); 1050 o4.value = f5; 1051 var e4 = T2(function() { 1052 var n4 = r5.__v; 1053 while (n4 = n4.__) if (n4.__c) { 1054 n4.__c.__$f |= 4; 1055 break; 1056 } 1057 r5.__$u.c = function() { 1058 var n5; 1059 if (!t(e4.peek()) && 3 === (null == (n5 = r5.base) ? void 0 : n5.nodeType)) r5.base.data = e4.peek(); 1060 else { 1061 r5.__$f |= 1; 1062 r5.setState({}); 1063 } 1064 }; 1065 return w3(function() { 1066 var n5 = o4.value.value; 1067 return 0 === n5 ? 0 : true === n5 ? "" : n5 || ""; 1068 }); 1069 }, []); 1070 return e4.value; 1071 } 1072 p4.displayName = "_st"; 1073 Object.defineProperties(u3.prototype, { constructor: { configurable: true, value: void 0 }, type: { configurable: true, value: p4 }, props: { configurable: true, get: function() { 1074 return { data: this }; 1075 } }, __b: { configurable: true, value: 1 } }); 1076 l4("__b", function(n3, r5) { 1077 if ("string" == typeof r5.type) { 1078 var i6, t5 = r5.props; 1079 for (var f5 in t5) if ("children" !== f5) { 1080 var o4 = t5[f5]; 1081 if (o4 instanceof u3) { 1082 if (!i6) r5.__np = i6 = {}; 1083 i6[f5] = o4; 1084 t5[f5] = o4.peek(); 1085 } 1086 } 1087 } 1088 n3(r5); 1089 }); 1090 l4("__r", function(n3, r5) { 1091 d4(); 1092 var i6, t5 = r5.__c; 1093 if (t5) { 1094 t5.__$f &= -2; 1095 if (void 0 === (i6 = t5.__$u)) t5.__$u = i6 = (function(n4) { 1096 var r6; 1097 E2(function() { 1098 r6 = this; 1099 }); 1100 r6.c = function() { 1101 t5.__$f |= 1; 1102 t5.setState({}); 1103 }; 1104 return r6; 1105 })(); 1106 } 1107 v4 = t5; 1108 d4(i6); 1109 n3(r5); 1110 }); 1111 l4("__e", function(n3, r5, i6, t5) { 1112 d4(); 1113 v4 = void 0; 1114 n3(r5, i6, t5); 1115 }); 1116 l4("diffed", function(n3, r5) { 1117 d4(); 1118 v4 = void 0; 1119 var i6; 1120 if ("string" == typeof r5.type && (i6 = r5.__e)) { 1121 var t5 = r5.__np, f5 = r5.props; 1122 if (t5) { 1123 var o4 = i6.U; 1124 if (o4) for (var e4 in o4) { 1125 var u5 = o4[e4]; 1126 if (void 0 !== u5 && !(e4 in t5)) { 1127 u5.d(); 1128 o4[e4] = void 0; 1129 } 1130 } 1131 else i6.U = o4 = {}; 1132 for (var a5 in t5) { 1133 var c5 = o4[a5], s6 = t5[a5]; 1134 if (void 0 === c5) { 1135 c5 = _4(i6, a5, s6, f5); 1136 o4[a5] = c5; 1137 } else c5.o(s6, f5); 1138 } 1139 } 1140 } 1141 n3(r5); 1142 }); 1143 function _4(n3, r5, i6, t5) { 1144 var f5 = r5 in n3 && void 0 === n3.ownerSVGElement, o4 = d3(i6); 1145 return { o: function(n4, r6) { 1146 o4.value = n4; 1147 t5 = r6; 1148 }, d: E2(function() { 1149 var i7 = o4.value.value; 1150 if (t5[r5] !== i7) { 1151 t5[r5] = i7; 1152 if (f5) n3[r5] = i7; 1153 else if (i7) n3.setAttribute(r5, i7); 1154 else n3.removeAttribute(r5); 1155 } 1156 }) }; 1157 } 1158 l4("unmount", function(n3, r5) { 1159 if ("string" == typeof r5.type) { 1160 var i6 = r5.__e; 1161 if (i6) { 1162 var t5 = i6.U; 1163 if (t5) { 1164 i6.U = void 0; 1165 for (var f5 in t5) { 1166 var o4 = t5[f5]; 1167 if (o4) o4.d(); 1168 } 1169 } 1170 } 1171 } else { 1172 var e4 = r5.__c; 1173 if (e4) { 1174 var u5 = e4.__$u; 1175 if (u5) { 1176 e4.__$u = void 0; 1177 u5.d(); 1178 } 1179 } 1180 } 1181 n3(r5); 1182 }); 1183 l4("__h", function(n3, r5, i6, t5) { 1184 if (t5 < 3 || 9 === t5) r5.__$f |= 2; 1185 n3(r5, i6, t5); 1186 }); 1187 C.prototype.shouldComponentUpdate = function(n3, r5) { 1188 var i6 = this.__$u; 1189 if (!(i6 && void 0 !== i6.s || 4 & this.__$f)) return true; 1190 if (3 & this.__$f) return true; 1191 for (var t5 in r5) return true; 1192 for (var f5 in n3) if ("__source" !== f5 && n3[f5] !== this.props[f5]) return true; 1193 for (var o4 in this.props) if (!(o4 in n3)) return true; 1194 return false; 1195 }; 1196 function useSignal(n3) { 1197 return T2(function() { 1198 return d3(n3); 1199 }, []); 1200 } 1201 1202 // packages/interactivity/build-module/hooks.mjs 1203 init_preact_module(); 1204 1205 // packages/interactivity/build-module/proxies/registry.mjs 1206 var objToProxy = /* @__PURE__ */ new WeakMap(); 1207 var proxyToObj = /* @__PURE__ */ new WeakMap(); 1208 var proxyToNs = /* @__PURE__ */ new WeakMap(); 1209 var supported = /* @__PURE__ */ new Set([Object, Array]); 1210 var createProxy = (namespace, obj, handlers) => { 1211 if (!shouldProxy(obj)) { 1212 throw Error("This object cannot be proxified."); 1213 } 1214 if (!objToProxy.has(obj)) { 1215 const proxy = new Proxy(obj, handlers); 1216 objToProxy.set(obj, proxy); 1217 proxyToObj.set(proxy, obj); 1218 proxyToNs.set(proxy, namespace); 1219 } 1220 return objToProxy.get(obj); 1221 }; 1222 var getProxyFromObject = (obj) => objToProxy.get(obj); 1223 var getNamespaceFromProxy = (proxy) => proxyToNs.get(proxy); 1224 var shouldProxy = (candidate) => { 1225 if (typeof candidate !== "object" || candidate === null) { 1226 return false; 1227 } 1228 return !proxyToNs.has(candidate) && supported.has(candidate.constructor); 1229 }; 1230 var getObjectFromProxy = (proxy) => proxyToObj.get(proxy); 1231 1232 // packages/interactivity/build-module/namespaces.mjs 1233 var namespaceStack = []; 1234 var getNamespace = () => namespaceStack.slice(-1)[0]; 1235 var setNamespace = (namespace) => { 1236 namespaceStack.push(namespace); 1237 }; 1238 var resetNamespace = () => { 1239 namespaceStack.pop(); 1240 }; 1241 1242 // packages/interactivity/build-module/utils.mjs 1243 var afterNextFrame = (callback) => { 1244 return new Promise((resolve2) => { 1245 const done = () => { 1246 clearTimeout(timeout); 1247 window.cancelAnimationFrame(raf); 1248 setTimeout(() => { 1249 callback(); 1250 resolve2(); 1251 }); 1252 }; 1253 const timeout = setTimeout(done, 100); 1254 const raf = window.requestAnimationFrame(done); 1255 }); 1256 }; 1257 var splitTask = typeof window.scheduler?.yield === "function" ? window.scheduler.yield.bind(window.scheduler) : () => { 1258 return new Promise((resolve2) => { 1259 setTimeout(resolve2, 0); 1260 }); 1261 }; 1262 var onDOMReady = (callback) => { 1263 const [navigation] = performance.getEntriesByType("navigation"); 1264 if (navigation.domContentLoadedEventStart > 0) { 1265 callback(); 1266 } else { 1267 document.addEventListener("DOMContentLoaded", callback); 1268 } 1269 }; 1270 var watch = (callback) => E2(() => { 1271 setScope(); 1272 try { 1273 return callback(); 1274 } finally { 1275 resetScope(); 1276 } 1277 }); 1278 function createFlusher(compute, notify) { 1279 let flush = () => void 0; 1280 const dispose = E2(function() { 1281 flush = this.c.bind(this); 1282 this.x = compute; 1283 this.c = notify; 1284 return compute(); 1285 }); 1286 return { flush, dispose }; 1287 } 1288 function useSignalEffect(callback) { 1289 y2(() => { 1290 let eff = null; 1291 let isExecuting = false; 1292 const notify = async () => { 1293 if (eff && !isExecuting) { 1294 isExecuting = true; 1295 await afterNextFrame(eff.flush); 1296 isExecuting = false; 1297 } 1298 }; 1299 eff = createFlusher(callback, notify); 1300 return eff.dispose; 1301 }, []); 1302 } 1303 function withScope(func) { 1304 const scope = getScope(); 1305 const ns = getNamespace(); 1306 let wrapped; 1307 if (func?.constructor?.name === "GeneratorFunction") { 1308 wrapped = async (...args) => { 1309 const gen = func(...args); 1310 let value; 1311 let it; 1312 let error; 1313 while (true) { 1314 setNamespace(ns); 1315 setScope(scope); 1316 try { 1317 it = error ? gen.throw(error) : gen.next(value); 1318 error = void 0; 1319 } catch (e4) { 1320 throw e4; 1321 } finally { 1322 resetScope(); 1323 resetNamespace(); 1324 } 1325 try { 1326 value = await it.value; 1327 } catch (e4) { 1328 error = e4; 1329 } 1330 if (it.done) { 1331 if (error) { 1332 throw error; 1333 } else { 1334 break; 1335 } 1336 } 1337 } 1338 return value; 1339 }; 1340 } else { 1341 wrapped = (...args) => { 1342 setNamespace(ns); 1343 setScope(scope); 1344 try { 1345 return func(...args); 1346 } finally { 1347 resetNamespace(); 1348 resetScope(); 1349 } 1350 }; 1351 } 1352 const syncAware = func; 1353 if (syncAware.sync) { 1354 const syncAwareWrapped = wrapped; 1355 syncAwareWrapped.sync = true; 1356 return syncAwareWrapped; 1357 } 1358 return wrapped; 1359 } 1360 function useWatch(callback) { 1361 useSignalEffect(withScope(callback)); 1362 } 1363 function useInit(callback) { 1364 y2(withScope(callback), []); 1365 } 1366 function useEffect(callback, inputs) { 1367 y2(withScope(callback), inputs); 1368 } 1369 function useLayoutEffect(callback, inputs) { 1370 _2(withScope(callback), inputs); 1371 } 1372 function useCallback(callback, inputs) { 1373 return q2(withScope(callback), inputs); 1374 } 1375 function useMemo(factory, inputs) { 1376 return T2(withScope(factory), inputs); 1377 } 1378 var createRootFragment = (parent, replaceNode) => { 1379 replaceNode = [].concat(replaceNode); 1380 const sibling = replaceNode[replaceNode.length - 1].nextSibling; 1381 function insert(child, root) { 1382 parent.insertBefore(child, root || sibling); 1383 } 1384 return parent.__k = { 1385 nodeType: 1, 1386 parentNode: parent, 1387 firstChild: replaceNode[0], 1388 childNodes: replaceNode, 1389 insertBefore: insert, 1390 appendChild: insert, 1391 removeChild(c5) { 1392 parent.removeChild(c5); 1393 }, 1394 contains(c5) { 1395 parent.contains(c5); 1396 } 1397 }; 1398 }; 1399 function kebabToCamelCase(str) { 1400 return str.replace(/^-+|-+$/g, "").toLowerCase().replace(/-([a-z])/g, function(_match, group1) { 1401 return group1.toUpperCase(); 1402 }); 1403 } 1404 var logged = /* @__PURE__ */ new Set(); 1405 var warn = (message) => { 1406 if (true) { 1407 if (logged.has(message)) { 1408 return; 1409 } 1410 console.warn(message); 1411 try { 1412 throw Error(message); 1413 } catch { 1414 } 1415 logged.add(message); 1416 } 1417 }; 1418 var isPlainObject = (candidate) => Boolean( 1419 candidate && typeof candidate === "object" && candidate.constructor === Object 1420 ); 1421 function withSyncEvent(callback) { 1422 const syncAware = callback; 1423 syncAware.sync = true; 1424 return syncAware; 1425 } 1426 var readOnlyMap = /* @__PURE__ */ new WeakMap(); 1427 var createDeepReadOnlyHandlers = (errorMessage) => { 1428 const handleError = () => { 1429 if (true) { 1430 warn(errorMessage); 1431 } 1432 return false; 1433 }; 1434 return { 1435 get(target, prop) { 1436 const value = target[prop]; 1437 if (value && typeof value === "object") { 1438 return deepReadOnly(value, { errorMessage }); 1439 } 1440 return value; 1441 }, 1442 set: handleError, 1443 deleteProperty: handleError, 1444 defineProperty: handleError 1445 }; 1446 }; 1447 function deepReadOnly(obj, options) { 1448 const errorMessage = options?.errorMessage ?? "Cannot modify read-only object"; 1449 if (!readOnlyMap.has(obj)) { 1450 const handlers = createDeepReadOnlyHandlers(errorMessage); 1451 readOnlyMap.set(obj, new Proxy(obj, handlers)); 1452 } 1453 return readOnlyMap.get(obj); 1454 } 1455 var navigationSignal = d3(0); 1456 var sessionId = Math.random().toString(36).slice(2); 1457 function deepClone(source) { 1458 if (isPlainObject(source)) { 1459 return Object.fromEntries( 1460 Object.entries(source).map(([key, value]) => [ 1461 key, 1462 deepClone(value) 1463 ]) 1464 ); 1465 } 1466 if (Array.isArray(source)) { 1467 return source.map((i6) => deepClone(i6)); 1468 } 1469 return source; 1470 } 1471 1472 // packages/interactivity/build-module/scopes.mjs 1473 var scopeStack = []; 1474 var getScope = () => scopeStack.slice(-1)[0]; 1475 var setScope = (scope) => { 1476 scopeStack.push(scope); 1477 }; 1478 var resetScope = () => { 1479 scopeStack.pop(); 1480 }; 1481 var throwNotInScope = (method) => { 1482 throw Error( 1483 `Cannot call \`$method}()\` when there is no scope. If you are using an async function, please consider using a generator instead. If you are using some sort of async callbacks, like \`setTimeout\`, please wrap the callback with \`withScope(callback)\`.` 1484 ); 1485 }; 1486 var getContext = (namespace) => { 1487 const scope = getScope(); 1488 if (true) { 1489 if (!scope) { 1490 throwNotInScope("getContext"); 1491 } 1492 } 1493 return scope.context[namespace || getNamespace()]; 1494 }; 1495 var getElement = () => { 1496 const scope = getScope(); 1497 let deepReadOnlyOptions = {}; 1498 if (true) { 1499 if (!scope) { 1500 throwNotInScope("getElement"); 1501 } 1502 deepReadOnlyOptions = { 1503 errorMessage: "Don't mutate the attributes from `getElement`, use `data-wp-bind` to modify the attributes of an element instead." 1504 }; 1505 } 1506 const { ref, attributes } = scope; 1507 return Object.freeze({ 1508 ref: ref.current, 1509 attributes: deepReadOnly(attributes, deepReadOnlyOptions) 1510 }); 1511 }; 1512 var navigationContextSignal = d3(0); 1513 function getServerContext(namespace) { 1514 const scope = getScope(); 1515 if (true) { 1516 if (!scope) { 1517 throwNotInScope("getServerContext"); 1518 } 1519 } 1520 getServerContext.subscribe = navigationContextSignal.value; 1521 return deepClone(scope.serverContext[namespace || getNamespace()]); 1522 } 1523 getServerContext.subscribe = 0; 1524 1525 // packages/interactivity/build-module/proxies/signals.mjs 1526 var NO_SCOPE = {}; 1527 var PropSignal = class { 1528 /** 1529 * Proxy that holds the property this PropSignal is associated with. 1530 */ 1531 owner; 1532 /** 1533 * Relation of computeds by scope. These computeds are read-only signals 1534 * that depend on whether the property is a value or a getter and, 1535 * therefore, can return different values depending on the scope in which 1536 * the getter is accessed. 1537 */ 1538 computedsByScope; 1539 /** 1540 * Signal with the value assigned to the related property. 1541 */ 1542 valueSignal; 1543 /** 1544 * Signal with the getter assigned to the related property. 1545 */ 1546 getterSignal; 1547 /** 1548 * Pending getter to be consolidated. 1549 */ 1550 pendingGetter; 1551 /** 1552 * Structure that manages reactivity for a property in a state object, using 1553 * signals to keep track of property value or getter modifications. 1554 * 1555 * @param owner Proxy that holds the property this instance is associated 1556 * with. 1557 */ 1558 constructor(owner) { 1559 this.owner = owner; 1560 this.computedsByScope = /* @__PURE__ */ new WeakMap(); 1561 } 1562 /** 1563 * Changes the internal value. If a getter was set before, it is set to 1564 * `undefined`. 1565 * 1566 * @param value New value. 1567 */ 1568 setValue(value) { 1569 this.update({ value }); 1570 } 1571 /** 1572 * Changes the internal getter. If a value was set before, it is set to 1573 * `undefined`. 1574 * 1575 * @param getter New getter. 1576 */ 1577 setGetter(getter) { 1578 this.update({ get: getter }); 1579 } 1580 /** 1581 * Changes the internal getter asynchronously. 1582 * 1583 * The update is made in a microtask, which prevents issues with getters 1584 * accessing the state, and ensures the update occurs before any render. 1585 * 1586 * @param getter New getter. 1587 */ 1588 setPendingGetter(getter) { 1589 this.pendingGetter = getter; 1590 queueMicrotask(() => this.consolidateGetter()); 1591 } 1592 /** 1593 * Consolidate the pending value of the getter. 1594 */ 1595 consolidateGetter() { 1596 const getter = this.pendingGetter; 1597 if (getter) { 1598 this.pendingGetter = void 0; 1599 this.update({ get: getter }); 1600 } 1601 } 1602 /** 1603 * Returns the computed that holds the result of evaluating the prop in the 1604 * current scope. 1605 * 1606 * These computeds are read-only signals that depend on whether the property 1607 * is a value or a getter and, therefore, can return different values 1608 * depending on the scope in which the getter is accessed. 1609 * 1610 * @return Computed that depends on the scope. 1611 */ 1612 getComputed() { 1613 const scope = getScope() || NO_SCOPE; 1614 if (!this.valueSignal && !this.getterSignal) { 1615 this.update({}); 1616 } 1617 if (this.pendingGetter) { 1618 this.consolidateGetter(); 1619 } 1620 if (!this.computedsByScope.has(scope)) { 1621 const callback = () => { 1622 const getter = this.getterSignal?.value; 1623 return getter ? getter.call(this.owner) : this.valueSignal?.value; 1624 }; 1625 setNamespace(getNamespaceFromProxy(this.owner)); 1626 this.computedsByScope.set( 1627 scope, 1628 w3(withScope(callback)) 1629 ); 1630 resetNamespace(); 1631 } 1632 return this.computedsByScope.get(scope); 1633 } 1634 /** 1635 * Updates the internal signals for the value and the getter of the 1636 * corresponding prop. 1637 * 1638 * @param param0 1639 * @param param0.get New getter. 1640 * @param param0.value New value. 1641 */ 1642 update({ get, value }) { 1643 if (!this.valueSignal) { 1644 this.valueSignal = d3(value); 1645 this.getterSignal = d3(get); 1646 } else if (value !== this.valueSignal.peek() || get !== this.getterSignal.peek()) { 1647 r3(() => { 1648 this.valueSignal.value = value; 1649 this.getterSignal.value = get; 1650 }); 1651 } 1652 } 1653 }; 1654 1655 // packages/interactivity/build-module/proxies/state.mjs 1656 var wellKnownSymbols = new Set( 1657 Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter((value) => typeof value === "symbol") 1658 ); 1659 var proxyToProps = /* @__PURE__ */ new WeakMap(); 1660 var hasPropSignal = (proxy, key) => proxyToProps.has(proxy) && proxyToProps.get(proxy).has(key); 1661 var getPropSignal = (proxy, key, initial) => { 1662 if (!proxyToProps.has(proxy)) { 1663 proxyToProps.set(proxy, /* @__PURE__ */ new Map()); 1664 } 1665 key = typeof key === "number" ? `$key}` : key; 1666 const props = proxyToProps.get(proxy); 1667 if (!props.has(key)) { 1668 const ns = getNamespaceFromProxy(proxy); 1669 const prop = new PropSignal(proxy); 1670 props.set(key, prop); 1671 if (initial) { 1672 const { get, value } = initial; 1673 if (get) { 1674 prop.setGetter(get); 1675 } else { 1676 prop.setValue( 1677 shouldProxy(value) ? proxifyState(ns, value) : value 1678 ); 1679 } 1680 } 1681 } 1682 return props.get(key); 1683 }; 1684 var objToIterable = /* @__PURE__ */ new WeakMap(); 1685 var peeking = false; 1686 var PENDING_GETTER = /* @__PURE__ */ Symbol("PENDING_GETTER"); 1687 var stateHandlers = { 1688 get(target, key, receiver) { 1689 if (peeking || !target.hasOwnProperty(key) && key in target || typeof key === "symbol" && wellKnownSymbols.has(key)) { 1690 return Reflect.get(target, key, receiver); 1691 } 1692 const desc = Object.getOwnPropertyDescriptor(target, key); 1693 const prop = getPropSignal(receiver, key, desc); 1694 const result = prop.getComputed().value; 1695 if (result === PENDING_GETTER) { 1696 throw PENDING_GETTER; 1697 } 1698 if (typeof result === "function") { 1699 const ns = getNamespaceFromProxy(receiver); 1700 return (...args) => { 1701 setNamespace(ns); 1702 try { 1703 return result.call(receiver, ...args); 1704 } finally { 1705 resetNamespace(); 1706 } 1707 }; 1708 } 1709 return result; 1710 }, 1711 set(target, key, value, receiver) { 1712 setNamespace(getNamespaceFromProxy(receiver)); 1713 try { 1714 return Reflect.set(target, key, value, receiver); 1715 } finally { 1716 resetNamespace(); 1717 } 1718 }, 1719 defineProperty(target, key, desc) { 1720 const isNew = !(key in target); 1721 const result = Reflect.defineProperty(target, key, desc); 1722 if (result) { 1723 const receiver = getProxyFromObject(target); 1724 const prop = getPropSignal(receiver, key); 1725 const { get, value } = desc; 1726 if (get) { 1727 prop.setGetter(get); 1728 } else { 1729 const ns = getNamespaceFromProxy(receiver); 1730 prop.setValue( 1731 shouldProxy(value) ? proxifyState(ns, value) : value 1732 ); 1733 } 1734 if (isNew && objToIterable.has(target)) { 1735 objToIterable.get(target).value++; 1736 } 1737 if (Array.isArray(target) && proxyToProps.get(receiver)?.has("length")) { 1738 const length = getPropSignal(receiver, "length"); 1739 length.setValue(target.length); 1740 } 1741 } 1742 return result; 1743 }, 1744 deleteProperty(target, key) { 1745 const result = Reflect.deleteProperty(target, key); 1746 if (result) { 1747 const prop = getPropSignal(getProxyFromObject(target), key); 1748 prop.setValue(void 0); 1749 if (objToIterable.has(target)) { 1750 objToIterable.get(target).value++; 1751 } 1752 } 1753 return result; 1754 }, 1755 ownKeys(target) { 1756 if (!objToIterable.has(target)) { 1757 objToIterable.set(target, d3(0)); 1758 } 1759 objToIterable._ = objToIterable.get(target).value; 1760 return Reflect.ownKeys(target); 1761 } 1762 }; 1763 var proxifyState = (namespace, obj) => { 1764 return createProxy(namespace, obj, stateHandlers); 1765 }; 1766 var peek = (obj, key) => { 1767 peeking = true; 1768 try { 1769 return obj[key]; 1770 } finally { 1771 peeking = false; 1772 } 1773 }; 1774 var deepMergeRecursive = (target, source, override = true) => { 1775 if (!(isPlainObject(target) && isPlainObject(source))) { 1776 return; 1777 } 1778 let hasNewKeys = false; 1779 for (const key in source) { 1780 const isNew = !(key in target); 1781 hasNewKeys = hasNewKeys || isNew; 1782 const desc = Object.getOwnPropertyDescriptor(source, key); 1783 const proxy = getProxyFromObject(target); 1784 const propSignal = !!proxy && hasPropSignal(proxy, key) && getPropSignal(proxy, key); 1785 if (typeof desc.get === "function" || typeof desc.set === "function") { 1786 if (override || isNew) { 1787 Object.defineProperty(target, key, { 1788 ...desc, 1789 configurable: true, 1790 enumerable: true 1791 }); 1792 if (desc.get && propSignal) { 1793 propSignal.setPendingGetter(desc.get); 1794 } 1795 } 1796 } else if (isPlainObject(source[key])) { 1797 const targetValue = Object.getOwnPropertyDescriptor( 1798 target, 1799 key 1800 )?.value; 1801 if (isNew || override && !isPlainObject(targetValue)) { 1802 target[key] = {}; 1803 if (propSignal) { 1804 const ns = getNamespaceFromProxy(proxy); 1805 propSignal.setValue( 1806 proxifyState(ns, target[key]) 1807 ); 1808 } 1809 deepMergeRecursive(target[key], source[key], override); 1810 } else if (isPlainObject(targetValue)) { 1811 deepMergeRecursive(target[key], source[key], override); 1812 } 1813 } else if (override || isNew) { 1814 Object.defineProperty(target, key, desc); 1815 if (propSignal) { 1816 const { value } = desc; 1817 const ns = getNamespaceFromProxy(proxy); 1818 propSignal.setValue( 1819 shouldProxy(value) ? proxifyState(ns, value) : value 1820 ); 1821 } 1822 } 1823 } 1824 if (hasNewKeys && objToIterable.has(target)) { 1825 objToIterable.get(target).value++; 1826 } 1827 }; 1828 var deepMerge = (target, source, override = true) => r3( 1829 () => deepMergeRecursive( 1830 getObjectFromProxy(target) || target, 1831 source, 1832 override 1833 ) 1834 ); 1835 1836 // packages/interactivity/build-module/proxies/store.mjs 1837 var storeRoots = /* @__PURE__ */ new WeakSet(); 1838 var storeHandlers = { 1839 get: (target, key, receiver) => { 1840 const result = Reflect.get(target, key); 1841 const ns = getNamespaceFromProxy(receiver); 1842 if (typeof result === "undefined" && storeRoots.has(receiver)) { 1843 const obj = {}; 1844 Reflect.set(target, key, obj); 1845 return proxifyStore(ns, obj, false); 1846 } 1847 if (typeof result === "function") { 1848 setNamespace(ns); 1849 const scoped = withScope(result); 1850 resetNamespace(); 1851 return scoped; 1852 } 1853 if (isPlainObject(result) && shouldProxy(result)) { 1854 return proxifyStore(ns, result, false); 1855 } 1856 return result; 1857 } 1858 }; 1859 var proxifyStore = (namespace, obj, isRoot = true) => { 1860 const proxy = createProxy(namespace, obj, storeHandlers); 1861 if (proxy && isRoot) { 1862 storeRoots.add(proxy); 1863 } 1864 return proxy; 1865 }; 1866 1867 // packages/interactivity/build-module/proxies/context.mjs 1868 var contextObjectToProxy = /* @__PURE__ */ new WeakMap(); 1869 var contextObjectToFallback = /* @__PURE__ */ new WeakMap(); 1870 var contextProxies = /* @__PURE__ */ new WeakSet(); 1871 var descriptor = Reflect.getOwnPropertyDescriptor; 1872 var contextHandlers = { 1873 get: (target, key) => { 1874 const fallback = contextObjectToFallback.get(target); 1875 const currentProp = target[key]; 1876 return key in target ? currentProp : fallback[key]; 1877 }, 1878 set: (target, key, value) => { 1879 const fallback = contextObjectToFallback.get(target); 1880 const obj = key in target || !(key in fallback) ? target : fallback; 1881 obj[key] = value; 1882 return true; 1883 }, 1884 ownKeys: (target) => [ 1885 .../* @__PURE__ */ new Set([ 1886 ...Object.keys(contextObjectToFallback.get(target)), 1887 ...Object.keys(target) 1888 ]) 1889 ], 1890 getOwnPropertyDescriptor: (target, key) => descriptor(target, key) || descriptor(contextObjectToFallback.get(target), key), 1891 has: (target, key) => Reflect.has(target, key) || Reflect.has(contextObjectToFallback.get(target), key) 1892 }; 1893 var proxifyContext = (current, inherited = {}) => { 1894 if (contextProxies.has(current)) { 1895 throw Error("This object cannot be proxified."); 1896 } 1897 contextObjectToFallback.set(current, inherited); 1898 if (!contextObjectToProxy.has(current)) { 1899 const proxy = new Proxy(current, contextHandlers); 1900 contextObjectToProxy.set(current, proxy); 1901 contextProxies.add(proxy); 1902 } 1903 return contextObjectToProxy.get(current); 1904 }; 1905 1906 // packages/interactivity/build-module/store.mjs 1907 var stores = /* @__PURE__ */ new Map(); 1908 var rawStores = /* @__PURE__ */ new Map(); 1909 var storeLocks = /* @__PURE__ */ new Map(); 1910 var storeConfigs = /* @__PURE__ */ new Map(); 1911 var serverStates = /* @__PURE__ */ new Map(); 1912 var getConfig = (namespace) => storeConfigs.get(namespace || getNamespace()) || {}; 1913 function getServerState(namespace) { 1914 const ns = namespace || getNamespace(); 1915 if (!serverStates.has(ns)) { 1916 serverStates.set(ns, {}); 1917 } 1918 getServerState.subscribe = navigationSignal.value; 1919 return deepClone(serverStates.get(ns)); 1920 } 1921 getServerState.subscribe = 0; 1922 var universalUnlock = "I acknowledge that using a private store means my plugin will inevitably break on the next store release."; 1923 function store(namespace, { state = {}, ...block } = {}, { lock = false } = {}) { 1924 if (!stores.has(namespace)) { 1925 if (lock !== universalUnlock) { 1926 storeLocks.set(namespace, lock); 1927 } 1928 const rawStore = { 1929 state: proxifyState( 1930 namespace, 1931 isPlainObject(state) ? state : {} 1932 ), 1933 ...block 1934 }; 1935 const proxifiedStore = proxifyStore(namespace, rawStore); 1936 rawStores.set(namespace, rawStore); 1937 stores.set(namespace, proxifiedStore); 1938 } else { 1939 if (lock !== universalUnlock && !storeLocks.has(namespace)) { 1940 storeLocks.set(namespace, lock); 1941 } else { 1942 const storeLock = storeLocks.get(namespace); 1943 const isLockValid = lock === universalUnlock || lock !== true && lock === storeLock; 1944 if (!isLockValid) { 1945 if (!storeLock) { 1946 throw Error("Cannot lock a public store"); 1947 } else { 1948 throw Error( 1949 "Cannot unlock a private store with an invalid lock code" 1950 ); 1951 } 1952 } 1953 } 1954 const target = rawStores.get(namespace); 1955 deepMerge(target, block); 1956 deepMerge(target.state, state); 1957 } 1958 return stores.get(namespace); 1959 } 1960 var parseServerData = (dom = document) => { 1961 const jsonDataScriptTag = ( 1962 // Preferred Script Module data passing form 1963 dom.getElementById( 1964 "wp-script-module-data-@wordpress/interactivity" 1965 ) ?? // Legacy form 1966 dom.getElementById("wp-interactivity-data") 1967 ); 1968 if (jsonDataScriptTag?.textContent) { 1969 try { 1970 return JSON.parse(jsonDataScriptTag.textContent); 1971 } catch { 1972 } 1973 } 1974 return {}; 1975 }; 1976 var populateServerData = (data) => { 1977 serverStates.clear(); 1978 storeConfigs.clear(); 1979 if (isPlainObject(data?.state)) { 1980 Object.entries(data.state).forEach(([namespace, state]) => { 1981 const st = store(namespace, {}, { lock: universalUnlock }); 1982 deepMerge(st.state, state, false); 1983 serverStates.set(namespace, state); 1984 }); 1985 } 1986 if (isPlainObject(data?.config)) { 1987 Object.entries(data.config).forEach(([namespace, config]) => { 1988 storeConfigs.set(namespace, config); 1989 }); 1990 } 1991 if (isPlainObject(data?.derivedStateClosures)) { 1992 Object.entries(data.derivedStateClosures).forEach( 1993 ([namespace, paths]) => { 1994 const st = store( 1995 namespace, 1996 {}, 1997 { lock: universalUnlock } 1998 ); 1999 paths.forEach((path) => { 2000 const pathParts = path.split("."); 2001 const prop = pathParts.splice(-1, 1)[0]; 2002 const parent = pathParts.reduce( 2003 (prev, key) => peek(prev, key), 2004 st 2005 ); 2006 const desc = Object.getOwnPropertyDescriptor( 2007 parent, 2008 prop 2009 ); 2010 if (isPlainObject(desc?.value)) { 2011 parent[prop] = PENDING_GETTER; 2012 } 2013 }); 2014 } 2015 ); 2016 } 2017 }; 2018 2019 // packages/interactivity/build-module/hooks.mjs 2020 function isNonDefaultDirectiveSuffix(entry) { 2021 return entry.suffix !== null; 2022 } 2023 function isDefaultDirectiveSuffix(entry) { 2024 return entry.suffix === null; 2025 } 2026 var context = X({ client: {}, server: {} }); 2027 var directiveCallbacks = {}; 2028 var directivePriorities = {}; 2029 var directive = (name, callback, { priority = 10 } = {}) => { 2030 directiveCallbacks[name] = callback; 2031 directivePriorities[name] = priority; 2032 }; 2033 var resolve = (path, namespace) => { 2034 if (!namespace) { 2035 warn( 2036 `Namespace missing for "$path}". The value for that path won't be resolved.` 2037 ); 2038 return; 2039 } 2040 let resolvedStore = stores.get(namespace); 2041 if (typeof resolvedStore === "undefined") { 2042 resolvedStore = store( 2043 namespace, 2044 {}, 2045 { 2046 lock: universalUnlock 2047 } 2048 ); 2049 } 2050 const current = { 2051 ...resolvedStore, 2052 context: getScope().context[namespace] 2053 }; 2054 try { 2055 const pathParts = path.split("."); 2056 return pathParts.reduce((acc, key) => acc[key], current); 2057 } catch (e4) { 2058 if (e4 === PENDING_GETTER) { 2059 return PENDING_GETTER; 2060 } 2061 } 2062 }; 2063 var getEvaluate = ({ scope }) => (entry) => { 2064 let { value: path, namespace } = entry; 2065 if (typeof path !== "string") { 2066 throw new Error("The `value` prop should be a string path"); 2067 } 2068 const hasNegationOperator = path[0] === "!" && !!(path = path.slice(1)); 2069 setScope(scope); 2070 const value = resolve(path, namespace); 2071 if (typeof value === "function") { 2072 if (hasNegationOperator) { 2073 warn( 2074 `The value of "$path}" is a function and cannot be negated. Please use derived state instead.` 2075 ); 2076 resetScope(); 2077 return void 0; 2078 } 2079 resetScope(); 2080 const wrappedFunction = (...functionArgs) => { 2081 setScope(scope); 2082 try { 2083 return value(...functionArgs); 2084 } finally { 2085 resetScope(); 2086 } 2087 }; 2088 if (value.sync) { 2089 const syncAwareFunction = wrappedFunction; 2090 syncAwareFunction.sync = true; 2091 } 2092 return wrappedFunction; 2093 } 2094 const result = value; 2095 resetScope(); 2096 return hasNegationOperator && value !== PENDING_GETTER ? !result : result; 2097 }; 2098 var getPriorityLevels = (directives) => { 2099 const byPriority = Object.keys(directives).reduce((obj, name) => { 2100 if (directiveCallbacks[name]) { 2101 const priority = directivePriorities[name]; 2102 (obj[priority] = obj[priority] || []).push(name); 2103 } 2104 return obj; 2105 }, {}); 2106 return Object.entries(byPriority).sort(([p1], [p22]) => parseInt(p1) - parseInt(p22)).map(([, arr]) => arr); 2107 }; 2108 var Directives = ({ 2109 directives, 2110 priorityLevels: [currentPriorityLevel, ...nextPriorityLevels], 2111 element, 2112 originalProps, 2113 previousScope 2114 }) => { 2115 const scope = A2({}).current; 2116 scope.evaluate = q2(getEvaluate({ scope }), []); 2117 const { client, server } = x2(context); 2118 scope.context = client; 2119 scope.serverContext = server; 2120 scope.ref = previousScope?.ref || A2(null); 2121 element = W(element, { ref: scope.ref }); 2122 scope.attributes = element.props; 2123 const children = nextPriorityLevels.length > 0 ? k(Directives, { 2124 directives, 2125 priorityLevels: nextPriorityLevels, 2126 element, 2127 originalProps, 2128 previousScope: scope 2129 }) : element; 2130 const props = { ...originalProps, children }; 2131 const directiveArgs = { 2132 directives, 2133 props, 2134 element, 2135 context, 2136 evaluate: scope.evaluate 2137 }; 2138 setScope(scope); 2139 for (const directiveName of currentPriorityLevel) { 2140 const wrapper = directiveCallbacks[directiveName]?.(directiveArgs); 2141 if (wrapper !== void 0) { 2142 props.children = wrapper; 2143 } 2144 } 2145 resetScope(); 2146 return props.children; 2147 }; 2148 var old = l.vnode; 2149 l.vnode = (vnode) => { 2150 if (vnode.props.__directives) { 2151 const props = vnode.props; 2152 const directives = props.__directives; 2153 if (directives.key) { 2154 vnode.key = directives.key.find(isDefaultDirectiveSuffix).value; 2155 } 2156 delete props.__directives; 2157 const priorityLevels = getPriorityLevels(directives); 2158 if (priorityLevels.length > 0) { 2159 vnode.props = { 2160 directives, 2161 priorityLevels, 2162 originalProps: props, 2163 type: vnode.type, 2164 element: k(vnode.type, props), 2165 top: true 2166 }; 2167 vnode.type = Directives; 2168 } 2169 } 2170 if (old) { 2171 old(vnode); 2172 } 2173 }; 2174 2175 // packages/interactivity/build-module/directives/utils/warnings.mjs 2176 var warnSuffixNotSupported = (prefix, suffix) => { 2177 if (true) { 2178 warn( 2179 `Suffixes for the data-wp-$prefix} directive are not supported. Ignoring the directive with suffix "$suffix}".` 2180 ); 2181 } 2182 }; 2183 var warnEventNameWithTwoHyphens = (prefix, eventName) => { 2184 if (true) { 2185 const [event, ...rest] = eventName.split("--"); 2186 warn( 2187 `The data-wp-$prefix}--$eventName} directive listens for an event named "$eventName}". Two-hyphen unique IDs are no longer supported. If you meant to add a unique ID, please use data-wp-$prefix}--$event}---$rest.join( 2188 "--" 2189 )} instead.` 2190 ); 2191 } 2192 }; 2193 var warnUniqueIdNotSupported = (prefix, uniqueId) => { 2194 if (true) { 2195 warn( 2196 `Unique IDs are not supported for the data-wp-$prefix} directive. Ignoring the directive with unique ID "$uniqueId}".` 2197 ); 2198 } 2199 }; 2200 var warnWithSyncEvent = (wrongPrefix, rightPrefix) => { 2201 if (true) { 2202 warn( 2203 `The usage of data-wp-$wrongPrefix} is deprecated and will stop working in WordPress 7.0. Please, use data-wp-$rightPrefix} with the withSyncEvent() helper from now on.` 2204 ); 2205 } 2206 }; 2207 2208 // packages/interactivity/build-module/directives/bind.mjs 2209 directive("bind", ({ directives: { bind }, element, evaluate }) => { 2210 bind.filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2211 if (entry.uniqueId) { 2212 if (true) { 2213 warnUniqueIdNotSupported("bind", entry.uniqueId); 2214 } 2215 return; 2216 } 2217 const attribute = entry.suffix; 2218 let result = evaluate(entry); 2219 if (result === PENDING_GETTER) { 2220 return; 2221 } 2222 if (typeof result === "function") { 2223 result = result(); 2224 } 2225 element.props[attribute] = result; 2226 useInit(() => { 2227 const el = element.ref.current; 2228 if (attribute === "style") { 2229 if (typeof result === "string") { 2230 el.style.cssText = result; 2231 } 2232 return; 2233 } else if (attribute !== "width" && attribute !== "height" && attribute !== "href" && attribute !== "list" && attribute !== "form" && /* 2234 * The value for `tabindex` follows the parsing rules for an 2235 * integer. If that fails, or if the attribute isn't present, then 2236 * the browsers should "follow platform conventions to determine if 2237 * the element should be considered as a focusable area", 2238 * practically meaning that most elements get a default of `-1` (not 2239 * focusable), but several also get a default of `0` (focusable in 2240 * order after all elements with a positive `tabindex` value). 2241 * 2242 * @see https://html.spec.whatwg.org/#tabindex-value 2243 */ 2244 attribute !== "tabIndex" && attribute !== "download" && attribute !== "rowSpan" && attribute !== "colSpan" && attribute !== "role" && attribute !== "popover" && attribute in el) { 2245 try { 2246 el[attribute] = result === null || result === void 0 ? "" : result; 2247 return; 2248 } catch { 2249 } 2250 } 2251 if (result !== null && result !== void 0 && (result !== false || attribute[4] === "-")) { 2252 el.setAttribute( 2253 attribute, 2254 attribute === "popover" && result === true ? "" : result 2255 ); 2256 } else { 2257 el.removeAttribute(attribute); 2258 } 2259 }); 2260 }); 2261 }); 2262 2263 // packages/interactivity/build-module/directives/class.mjs 2264 directive( 2265 "class", 2266 ({ directives: { class: classNames }, element, evaluate }) => { 2267 classNames.filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2268 const className = entry.uniqueId ? `$entry.suffix}---$entry.uniqueId}` : entry.suffix; 2269 let result = evaluate(entry); 2270 if (result === PENDING_GETTER) { 2271 return; 2272 } 2273 if (typeof result === "function") { 2274 result = result(); 2275 } 2276 const currentClass = element.props.class || ""; 2277 const classFinder = new RegExp( 2278 `(^|\\s)$className}(\\s|$)`, 2279 "g" 2280 ); 2281 if (!result) { 2282 element.props.class = currentClass.replace(classFinder, " ").trim(); 2283 } else if (!classFinder.test(currentClass)) { 2284 element.props.class = currentClass ? `$currentClass} $className}` : className; 2285 } 2286 useInit(() => { 2287 if (!result) { 2288 element.ref.current.classList.remove(className); 2289 } else { 2290 element.ref.current.classList.add(className); 2291 } 2292 }); 2293 }); 2294 } 2295 ); 2296 2297 // packages/interactivity/build-module/directives/context.mjs 2298 init_preact_module(); 2299 directive( 2300 "context", 2301 ({ 2302 directives: { context: context2 }, 2303 props: { children }, 2304 context: inheritedContext 2305 }) => { 2306 const entries = context2.filter(isDefaultDirectiveSuffix).reverse(); 2307 if (!entries.length) { 2308 if (true) { 2309 warn( 2310 "The usage of data-wp-context--unique-id (two hyphens) is not supported. To add a unique ID to the directive, please use data-wp-context---unique-id (three hyphens) instead." 2311 ); 2312 } 2313 return; 2314 } 2315 const { Provider } = inheritedContext; 2316 const { client: inheritedClient, server: inheritedServer } = x2(inheritedContext); 2317 const client = A2({}); 2318 const server = {}; 2319 const result = { 2320 client: { ...inheritedClient }, 2321 server: { ...inheritedServer } 2322 }; 2323 const namespaces2 = /* @__PURE__ */ new Set(); 2324 entries.forEach(({ value, namespace, uniqueId }) => { 2325 if (!isPlainObject(value)) { 2326 if (true) { 2327 warn( 2328 `The value of data-wp-context$uniqueId ? `---$uniqueId}` : ""} on the $namespace} namespace must be a valid stringified JSON object.` 2329 ); 2330 } 2331 return; 2332 } 2333 if (!client.current[namespace]) { 2334 client.current[namespace] = proxifyState(namespace, {}); 2335 } 2336 deepMerge(client.current[namespace], deepClone(value), false); 2337 server[namespace] = value; 2338 namespaces2.add(namespace); 2339 }); 2340 namespaces2.forEach((namespace) => { 2341 result.client[namespace] = proxifyContext( 2342 client.current[namespace], 2343 inheritedClient[namespace] 2344 ); 2345 result.server[namespace] = proxifyContext( 2346 server[namespace], 2347 inheritedServer[namespace] 2348 ); 2349 }); 2350 return k(Provider, { value: result }, children); 2351 }, 2352 { priority: 5 } 2353 ); 2354 2355 // packages/interactivity/build-module/directives/each.mjs 2356 init_preact_module(); 2357 var evaluateItemKey = (inheritedValue, namespace, item, itemProp, eachKey) => { 2358 const clientContextWithItem = { 2359 ...inheritedValue.client, 2360 [namespace]: { 2361 ...inheritedValue.client[namespace], 2362 [itemProp]: item 2363 } 2364 }; 2365 const scope = { 2366 ...getScope(), 2367 context: clientContextWithItem, 2368 serverContext: inheritedValue.server 2369 }; 2370 return eachKey ? getEvaluate({ scope })(eachKey) : item; 2371 }; 2372 var useItemContexts = function* (inheritedValue, namespace, items, itemProp, eachKey) { 2373 const { current: itemContexts } = A2(/* @__PURE__ */ new Map()); 2374 for (const item of items) { 2375 const key = evaluateItemKey( 2376 inheritedValue, 2377 namespace, 2378 item, 2379 itemProp, 2380 eachKey 2381 ); 2382 if (!itemContexts.has(key)) { 2383 itemContexts.set( 2384 key, 2385 proxifyContext( 2386 proxifyState(namespace, { 2387 // Inits the item prop in the context to shadow it in case 2388 // it was inherited from the parent context. The actual 2389 // value is set in the `wp-each` directive later on. 2390 [itemProp]: void 0 2391 }), 2392 inheritedValue.client[namespace] 2393 ) 2394 ); 2395 } 2396 yield [item, itemContexts.get(key), key]; 2397 } 2398 }; 2399 directive( 2400 "each", 2401 ({ 2402 directives: { each, "each-key": eachKey }, 2403 context: inheritedContext, 2404 element, 2405 evaluate 2406 }) => { 2407 if (element.type !== "template") { 2408 if (true) { 2409 warn( 2410 "The data-wp-each directive can only be used on <template> elements." 2411 ); 2412 } 2413 return; 2414 } 2415 const { Provider } = inheritedContext; 2416 const inheritedValue = x2(inheritedContext); 2417 const [entry] = each; 2418 const { namespace, suffix, uniqueId } = entry; 2419 if (each.length > 1) { 2420 if (true) { 2421 warn( 2422 "The usage of multiple data-wp-each directives on the same element is not supported. Please pick only one." 2423 ); 2424 } 2425 return; 2426 } 2427 if (uniqueId) { 2428 if (true) { 2429 warnUniqueIdNotSupported("each", uniqueId); 2430 } 2431 return; 2432 } 2433 let iterable = evaluate(entry); 2434 if (iterable === PENDING_GETTER) { 2435 return; 2436 } 2437 if (typeof iterable === "function") { 2438 iterable = iterable(); 2439 } 2440 if (typeof iterable?.[Symbol.iterator] !== "function") { 2441 return; 2442 } 2443 const itemProp = suffix ? kebabToCamelCase(suffix) : "item"; 2444 const result = []; 2445 const itemContexts = useItemContexts( 2446 inheritedValue, 2447 namespace, 2448 iterable, 2449 itemProp, 2450 eachKey?.[0] 2451 ); 2452 for (const [item, itemContext, key] of itemContexts) { 2453 const mergedContext = { 2454 client: { 2455 ...inheritedValue.client, 2456 [namespace]: itemContext 2457 }, 2458 server: { ...inheritedValue.server } 2459 }; 2460 mergedContext.client[namespace][itemProp] = item; 2461 result.push( 2462 k( 2463 Provider, 2464 { value: mergedContext, key }, 2465 element.props.content 2466 ) 2467 ); 2468 } 2469 return result; 2470 }, 2471 { priority: 20 } 2472 ); 2473 directive( 2474 "each-child", 2475 ({ directives: { "each-child": eachChild }, element, evaluate }) => { 2476 const entry = eachChild.find(isDefaultDirectiveSuffix); 2477 if (!entry) { 2478 return; 2479 } 2480 const iterable = evaluate(entry); 2481 return iterable === PENDING_GETTER ? element : null; 2482 }, 2483 { priority: 1 } 2484 ); 2485 2486 // packages/interactivity/build-module/html.mjs 2487 var emptyHTML = globalThis.trustedTypes?.emptyHTML ?? ""; 2488 var trustedHtmlByToken = /* @__PURE__ */ new WeakMap(); 2489 function asDangerousHTML(html) { 2490 const { trustedTypes } = globalThis; 2491 if (typeof html !== "string" && !trustedTypes?.isHTML(html)) { 2492 throw new TypeError( 2493 "asDangerousHTML() expects a string or a native TrustedHTML value." 2494 ); 2495 } 2496 const token = Object.freeze(/* @__PURE__ */ Object.create(null)); 2497 trustedHtmlByToken.set(token, html); 2498 return token; 2499 } 2500 function isDangerousHTML(value) { 2501 return typeof value === "object" && value !== null && trustedHtmlByToken.has(value); 2502 } 2503 function getDangerousHTML(token) { 2504 return trustedHtmlByToken.get(token); 2505 } 2506 2507 // packages/interactivity/build-module/directives/html.mjs 2508 var isServerHTMLRepresentation = (value) => isPlainObject(value) && value.wpServerHtml === true; 2509 directive( 2510 "html", 2511 ({ directives: { html: htmlEntries }, element, evaluate }) => { 2512 const entry = htmlEntries.find(isDefaultDirectiveSuffix); 2513 const lastAppliedKey = A2(void 0); 2514 const preactHtml = A2(); 2515 let result; 2516 if (!entry) { 2517 if (true) { 2518 warn( 2519 "The usage of data-wp-html--suffix is not supported. Please use data-wp-html instead." 2520 ); 2521 } 2522 } else if (entry.uniqueId) { 2523 if (true) { 2524 warnUniqueIdNotSupported("html", entry.uniqueId); 2525 } 2526 } else { 2527 try { 2528 result = evaluate(entry); 2529 if (typeof result === "function") { 2530 result = result(); 2531 } 2532 } catch { 2533 result = void 0; 2534 } 2535 } 2536 const active = !!entry && !entry.uniqueId; 2537 const serverHTMLRepresentation = isServerHTMLRepresentation(result); 2538 const preserveContent = result === PENDING_GETTER || serverHTMLRepresentation; 2539 const trusted = isDangerousHTML(result); 2540 const resolvedValue = trusted ? getDangerousHTML(result) : emptyHTML; 2541 useLayoutEffect(() => { 2542 if (!active) { 2543 return; 2544 } 2545 if (preserveContent) { 2546 if (serverHTMLRepresentation) { 2547 lastAppliedKey.current = void 0; 2548 } 2549 return; 2550 } 2551 if (!trusted && result !== null && result !== void 0) { 2552 warn( 2553 "data-wp-html: the value is not trusted HTML. Use asDangerousHTML() to explicitly trust the markup." 2554 ); 2555 } 2556 const key = String(resolvedValue); 2557 if (lastAppliedKey.current === key) { 2558 return; 2559 } 2560 const node = element.ref.current; 2561 if (lastAppliedKey.current === void 0 && node.innerHTML === key) { 2562 lastAppliedKey.current = key; 2563 return; 2564 } 2565 try { 2566 node.innerHTML = resolvedValue; 2567 } catch (error) { 2568 node.innerHTML = emptyHTML; 2569 if (true) { 2570 warn( 2571 `data-wp-html: the browser rejected this HTML value, so the element was emptied. $error}` 2572 ); 2573 } 2574 } 2575 lastAppliedKey.current = key; 2576 }, [ 2577 result, 2578 active, 2579 preserveContent, 2580 serverHTMLRepresentation, 2581 trusted, 2582 resolvedValue, 2583 element.ref 2584 ]); 2585 if (active) { 2586 preactHtml.current ??= preserveContent && element.props.dangerouslySetInnerHTML?.__html ? element.props.dangerouslySetInnerHTML : { __html: emptyHTML }; 2587 element.props.dangerouslySetInnerHTML = preactHtml.current; 2588 element.props.children = void 0; 2589 } 2590 } 2591 ); 2592 2593 // packages/interactivity/build-module/directives/init.mjs 2594 directive("init", ({ directives: { init }, evaluate }) => { 2595 init.forEach((entry) => { 2596 if (entry.suffix !== null) { 2597 if (true) { 2598 warnSuffixNotSupported("init", entry.suffix); 2599 } 2600 return; 2601 } 2602 useInit(() => { 2603 let start; 2604 if (false) { 2605 if (true) { 2606 start = performance.now(); 2607 } 2608 } 2609 let result = evaluate(entry); 2610 if (typeof result === "function") { 2611 result = result(); 2612 } 2613 if (false) { 2614 if (true) { 2615 performance.measure( 2616 `interactivity api init $entry.namespace}`, 2617 { 2618 start, 2619 end: performance.now(), 2620 detail: { 2621 devtools: { 2622 track: `IA: init $entry.namespace}` 2623 } 2624 } 2625 } 2626 ); 2627 } 2628 } 2629 return result; 2630 }); 2631 }); 2632 }); 2633 2634 // packages/interactivity/build-module/directives/on.mjs 2635 function wrapEventAsync(event) { 2636 const handler = { 2637 get(target, prop, receiver) { 2638 const value = target[prop]; 2639 switch (prop) { 2640 case "currentTarget": 2641 if (true) { 2642 warn( 2643 `Accessing the synchronous event.$prop} property in a store action without wrapping it in withSyncEvent() is deprecated and will stop working in WordPress 7.0. Please wrap the store action in withSyncEvent().` 2644 ); 2645 } 2646 break; 2647 case "preventDefault": 2648 case "stopImmediatePropagation": 2649 case "stopPropagation": 2650 if (true) { 2651 warn( 2652 `Using the synchronous event.$prop}() function in a store action without wrapping it in withSyncEvent() is deprecated and will stop working in WordPress 7.0. Please wrap the store action in withSyncEvent().` 2653 ); 2654 } 2655 break; 2656 } 2657 if (value instanceof Function) { 2658 return function(...args) { 2659 return value.apply( 2660 this === receiver ? target : this, 2661 args 2662 ); 2663 }; 2664 } 2665 return value; 2666 } 2667 }; 2668 return new Proxy(event, handler); 2669 } 2670 var getGlobalEventDirective = (type) => { 2671 return ({ directives, evaluate }) => { 2672 directives[`on-$type}`].filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2673 const eventName = entry.suffix; 2674 if (true) { 2675 if (eventName.includes("--")) { 2676 warnEventNameWithTwoHyphens( 2677 `on-$type}`, 2678 eventName 2679 ); 2680 } 2681 } 2682 useInit(() => { 2683 const cb = (event) => { 2684 const result = evaluate(entry); 2685 if (typeof result === "function") { 2686 if (!result?.sync) { 2687 event = wrapEventAsync(event); 2688 } 2689 result(event); 2690 } 2691 }; 2692 const globalVar = type === "window" ? window : document; 2693 globalVar.addEventListener(eventName, cb); 2694 return () => globalVar.removeEventListener(eventName, cb); 2695 }); 2696 }); 2697 }; 2698 }; 2699 var getGlobalAsyncEventDirective = (type) => { 2700 return ({ directives, evaluate }) => { 2701 directives[`on-async-$type}`].filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2702 if (true) { 2703 warnWithSyncEvent(`on-async-$type}`, `on-$type}`); 2704 } 2705 const eventName = entry.suffix.split("--", 1)[0]; 2706 useInit(() => { 2707 const cb = async (event) => { 2708 await splitTask(); 2709 const result = evaluate(entry); 2710 if (typeof result === "function") { 2711 result(event); 2712 } 2713 }; 2714 const globalVar = type === "window" ? window : document; 2715 globalVar.addEventListener(eventName, cb, { 2716 passive: true 2717 }); 2718 return () => globalVar.removeEventListener(eventName, cb); 2719 }); 2720 }); 2721 }; 2722 }; 2723 directive("on", ({ directives: { on }, element, evaluate }) => { 2724 const events = /* @__PURE__ */ new Map(); 2725 on.filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2726 const eventType = entry.suffix; 2727 if (true) { 2728 if (eventType.includes("--")) { 2729 warnEventNameWithTwoHyphens("on", eventType); 2730 } 2731 } 2732 if (!events.has(eventType)) { 2733 events.set(eventType, /* @__PURE__ */ new Set()); 2734 } 2735 events.get(eventType).add(entry); 2736 }); 2737 events.forEach((entries, eventType) => { 2738 const existingHandler = element.props[`on$eventType}`]; 2739 element.props[`on$eventType}`] = (event) => { 2740 if (existingHandler) { 2741 existingHandler(event); 2742 } 2743 entries.forEach((entry) => { 2744 let start; 2745 if (false) { 2746 if (true) { 2747 start = performance.now(); 2748 } 2749 } 2750 const result = evaluate(entry); 2751 if (typeof result === "function") { 2752 if (!result?.sync) { 2753 event = wrapEventAsync(event); 2754 } 2755 result(event); 2756 } 2757 if (false) { 2758 if (true) { 2759 performance.measure( 2760 `interactivity api on $entry.namespace}`, 2761 { 2762 start, 2763 end: performance.now(), 2764 detail: { 2765 devtools: { 2766 track: `IA: on $entry.namespace}` 2767 } 2768 } 2769 } 2770 ); 2771 } 2772 } 2773 }); 2774 }; 2775 }); 2776 }); 2777 directive( 2778 "on-async", 2779 ({ directives: { "on-async": onAsync }, element, evaluate }) => { 2780 if (true) { 2781 warnWithSyncEvent("on-async", "on"); 2782 } 2783 const events = /* @__PURE__ */ new Map(); 2784 onAsync.filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2785 const event = entry.suffix.split("--", 1)[0]; 2786 if (!events.has(event)) { 2787 events.set(event, /* @__PURE__ */ new Set()); 2788 } 2789 events.get(event).add(entry); 2790 }); 2791 events.forEach((entries, eventType) => { 2792 const existingHandler = element.props[`on$eventType}`]; 2793 element.props[`on$eventType}`] = (event) => { 2794 if (existingHandler) { 2795 existingHandler(event); 2796 } 2797 entries.forEach(async (entry) => { 2798 await splitTask(); 2799 const result = evaluate(entry); 2800 if (typeof result === "function") { 2801 result(event); 2802 } 2803 }); 2804 }; 2805 }); 2806 } 2807 ); 2808 directive("on-window", getGlobalEventDirective("window")); 2809 directive("on-document", getGlobalEventDirective("document")); 2810 directive("on-async-window", getGlobalAsyncEventDirective("window")); 2811 directive("on-async-document", getGlobalAsyncEventDirective("document")); 2812 2813 // packages/interactivity/build-module/directives/router-region.mjs 2814 init_preact_module(); 2815 var routerRegions = /* @__PURE__ */ new Map(); 2816 directive( 2817 "router-region", 2818 ({ directives: { "router-region": routerRegion } }) => { 2819 const entry = routerRegion.find(isDefaultDirectiveSuffix); 2820 if (!entry) { 2821 return; 2822 } 2823 if (entry.suffix) { 2824 if (true) { 2825 warnSuffixNotSupported("router-region", entry.suffix); 2826 } 2827 return; 2828 } 2829 if (entry.uniqueId) { 2830 if (true) { 2831 warnUniqueIdNotSupported("router-region", entry.uniqueId); 2832 } 2833 return; 2834 } 2835 const regionId = typeof entry.value === "string" ? entry.value : entry.value.id; 2836 if (!routerRegions.has(regionId)) { 2837 routerRegions.set(regionId, d3()); 2838 } 2839 const vdom = routerRegions.get(regionId).value; 2840 _2(() => { 2841 if (vdom && typeof vdom.type !== "string") { 2842 navigationContextSignal.value = navigationContextSignal.peek() + 1; 2843 } 2844 }, [vdom]); 2845 if (vdom && typeof vdom.type !== "string") { 2846 const previousScope = getScope(); 2847 return W(vdom, { previousScope }); 2848 } 2849 return vdom; 2850 }, 2851 { priority: 1 } 2852 ); 2853 2854 // packages/interactivity/build-module/directives/run.mjs 2855 directive("run", ({ directives: { run }, evaluate }) => { 2856 run.forEach((entry) => { 2857 if (entry.suffix !== null) { 2858 if (true) { 2859 warnSuffixNotSupported("run", entry.suffix); 2860 } 2861 return; 2862 } 2863 let result = evaluate(entry); 2864 if (typeof result === "function") { 2865 result = result(); 2866 } 2867 return result; 2868 }); 2869 }); 2870 2871 // packages/interactivity/build-module/directives/style.mjs 2872 var newRule = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g; 2873 var ruleClean = /\/\*[^]*?\*\/| +/g; 2874 var ruleNewline = /\n+/g; 2875 var empty = " "; 2876 var cssStringToObject = (val) => { 2877 const tree = [{}]; 2878 let block, left; 2879 while (block = newRule.exec(val.replace(ruleClean, ""))) { 2880 if (block[4]) { 2881 tree.shift(); 2882 } else if (block[3]) { 2883 left = block[3].replace(ruleNewline, empty).trim(); 2884 tree.unshift(tree[0][left] = tree[0][left] || {}); 2885 } else { 2886 tree[0][block[1]] = block[2].replace(ruleNewline, empty).trim(); 2887 } 2888 } 2889 return tree[0]; 2890 }; 2891 directive("style", ({ directives: { style }, element, evaluate }) => { 2892 style.filter(isNonDefaultDirectiveSuffix).forEach((entry) => { 2893 if (entry.uniqueId) { 2894 if (true) { 2895 warnUniqueIdNotSupported("style", entry.uniqueId); 2896 } 2897 return; 2898 } 2899 const styleProp = entry.suffix; 2900 let result = evaluate(entry); 2901 if (result === PENDING_GETTER) { 2902 return; 2903 } 2904 if (typeof result === "function") { 2905 result = result(); 2906 } 2907 element.props.style = element.props.style || {}; 2908 if (typeof element.props.style === "string") { 2909 element.props.style = cssStringToObject(element.props.style); 2910 } 2911 if (!result) { 2912 delete element.props.style[styleProp]; 2913 } else { 2914 element.props.style[styleProp] = result; 2915 } 2916 useInit(() => { 2917 if (!result) { 2918 element.ref.current.style.removeProperty(styleProp); 2919 } else { 2920 element.ref.current.style.setProperty(styleProp, result); 2921 } 2922 }); 2923 }); 2924 }); 2925 2926 // packages/interactivity/build-module/directives/text.mjs 2927 directive("text", ({ directives: { text }, element, evaluate }) => { 2928 const entries = text.filter(isDefaultDirectiveSuffix); 2929 if (!entries.length) { 2930 if (true) { 2931 warn( 2932 "The usage of data-wp-text--suffix is not supported. Please use data-wp-text instead." 2933 ); 2934 } 2935 return; 2936 } 2937 entries.forEach((entry) => { 2938 if (entry.uniqueId) { 2939 if (true) { 2940 warnUniqueIdNotSupported("text", entry.uniqueId); 2941 } 2942 return; 2943 } 2944 try { 2945 let result = evaluate(entry); 2946 if (result === PENDING_GETTER) { 2947 return; 2948 } 2949 if (typeof result === "function") { 2950 result = result(); 2951 } 2952 element.props.children = typeof result === "object" ? null : result.toString(); 2953 } catch { 2954 element.props.children = null; 2955 } 2956 }); 2957 }); 2958 2959 // packages/interactivity/build-module/directives/watch.mjs 2960 directive("watch", ({ directives: { watch: watch2 }, evaluate }) => { 2961 watch2.forEach((entry) => { 2962 if (entry.suffix !== null) { 2963 if (true) { 2964 warnSuffixNotSupported("watch", entry.suffix); 2965 } 2966 return; 2967 } 2968 useWatch(() => { 2969 let start; 2970 if (false) { 2971 if (true) { 2972 start = performance.now(); 2973 } 2974 } 2975 let result = evaluate(entry); 2976 if (typeof result === "function") { 2977 result = result(); 2978 } 2979 if (false) { 2980 if (true) { 2981 performance.measure( 2982 `interactivity api watch $entry.namespace}`, 2983 { 2984 start, 2985 end: performance.now(), 2986 detail: { 2987 devtools: { 2988 track: `IA: watch $entry.namespace}` 2989 } 2990 } 2991 } 2992 ); 2993 } 2994 } 2995 return result; 2996 }); 2997 }); 2998 }); 2999 3000 // packages/interactivity/build-module/hydration.mjs 3001 init_preact_module(); 3002 3003 // packages/interactivity/build-module/vdom.mjs 3004 init_preact_module(); 3005 var directivePrefix = `data-wp-`; 3006 var namespaces = []; 3007 var currentNamespace = () => namespaces[namespaces.length - 1] ?? null; 3008 var isObject = (item) => Boolean(item && typeof item === "object" && item.constructor === Object); 3009 var invalidCharsRegex = /[^a-z0-9-_]/i; 3010 function parseDirectiveName(directiveName) { 3011 const name = directiveName.substring(8); 3012 if (invalidCharsRegex.test(name)) { 3013 return null; 3014 } 3015 const suffixIndex = name.indexOf("--"); 3016 if (suffixIndex === 0 || name[0] === "-") { 3017 return null; 3018 } 3019 if (suffixIndex === -1) { 3020 return { prefix: name, suffix: null, uniqueId: null }; 3021 } 3022 const prefix = name.substring(0, suffixIndex); 3023 const remaining = name.substring(suffixIndex); 3024 if (remaining.startsWith("---") && remaining[3] !== "-") { 3025 return { 3026 prefix, 3027 suffix: null, 3028 uniqueId: remaining.substring(3) || null 3029 }; 3030 } 3031 let suffix = remaining.substring(2); 3032 const uniqueIdIndex = suffix.indexOf("---"); 3033 if (uniqueIdIndex !== -1 && suffix.substring(uniqueIdIndex)[3] !== "-") { 3034 const uniqueId = suffix.substring(uniqueIdIndex + 3) || null; 3035 suffix = suffix.substring(0, uniqueIdIndex) || null; 3036 return { prefix, suffix, uniqueId }; 3037 } 3038 return { prefix, suffix: suffix || null, uniqueId: null }; 3039 } 3040 var nsPathRegExp = /^([\w_\/-]+)::(.+)$/; 3041 function parseDirectiveValue(rawValue) { 3042 const regexResult = nsPathRegExp.exec(rawValue); 3043 const namespace = regexResult?.[1] ?? null; 3044 const rawDirectiveValue = regexResult?.[2] ?? rawValue; 3045 let value = rawDirectiveValue; 3046 if (/^\s*\{/.test(rawDirectiveValue)) { 3047 try { 3048 const parsedValue = JSON.parse(rawDirectiveValue); 3049 if (isObject(parsedValue)) { 3050 value = parsedValue; 3051 } 3052 } catch { 3053 } 3054 } 3055 return { namespace, value }; 3056 } 3057 function toVdom(root) { 3058 const nodesToRemove = /* @__PURE__ */ new Set(); 3059 const nodesToReplace = /* @__PURE__ */ new Set(); 3060 const treeWalker = document.createTreeWalker( 3061 root, 3062 205 3063 // TEXT + CDATA_SECTION + COMMENT + PROCESSING_INSTRUCTION + ELEMENT 3064 ); 3065 function walk(node) { 3066 const { nodeType } = node; 3067 if (nodeType === 3) { 3068 return node.data; 3069 } 3070 if (nodeType === 4) { 3071 nodesToReplace.add(node); 3072 return node.data; 3073 } 3074 if (nodeType === 8 || nodeType === 7) { 3075 nodesToRemove.add(node); 3076 return null; 3077 } 3078 const elementNode = node; 3079 const localName = elementNode.localName; 3080 const props = {}; 3081 const children = []; 3082 const directives = []; 3083 let island = false; 3084 const attributeNames = elementNode.getAttributeNames(); 3085 for (let i6 = 0; i6 < attributeNames.length; i6++) { 3086 const attributeName = attributeNames[i6]; 3087 const attributeValue = elementNode.getAttribute(attributeName) ?? ""; 3088 if (attributeName[directivePrefix.length] && attributeName.slice(0, directivePrefix.length) === directivePrefix) { 3089 if (true) { 3090 if (attributeName === "data-wp-ignore") { 3091 warn( 3092 "The data-wp-ignore directive has been removed. The element and its descendants are now hydrated like any other element. Please remove the attribute." 3093 ); 3094 } 3095 } 3096 const { namespace, value } = parseDirectiveValue(attributeValue); 3097 if (attributeName === "data-wp-interactive") { 3098 island = true; 3099 const islandNamespace = ( 3100 // eslint-disable-next-line no-nested-ternary 3101 typeof value === "string" ? value : typeof value?.namespace === "string" ? value.namespace : null 3102 ); 3103 namespaces.push(islandNamespace); 3104 } else { 3105 directives.push([attributeName, namespace, value]); 3106 } 3107 props[attributeName] = attributeValue; 3108 continue; 3109 } else if (attributeName === "ref") { 3110 continue; 3111 } 3112 if (attributeValue === "" && elementNode[attributeName] === true) { 3113 props[attributeName] = true; 3114 } else { 3115 props[attributeName] = attributeValue; 3116 } 3117 } 3118 if (directives.length) { 3119 props.__directives = directives.reduce((obj, [name, ns, value]) => { 3120 const directiveParsed = parseDirectiveName(name); 3121 if (directiveParsed === null) { 3122 if (true) { 3123 warn(`Found malformed directive name: $name}.`); 3124 } 3125 return obj; 3126 } 3127 const { prefix, suffix, uniqueId } = directiveParsed; 3128 obj[prefix] = obj[prefix] || []; 3129 obj[prefix].push({ 3130 namespace: ns ?? currentNamespace(), 3131 value, 3132 suffix, 3133 uniqueId 3134 }); 3135 return obj; 3136 }, {}); 3137 for (const prefix in props.__directives) { 3138 props.__directives[prefix].sort( 3139 (a5, b4) => { 3140 const aSuffix = a5.suffix ?? ""; 3141 const bSuffix = b4.suffix ?? ""; 3142 if (aSuffix !== bSuffix) { 3143 return aSuffix < bSuffix ? -1 : 1; 3144 } 3145 const aId = a5.uniqueId ?? ""; 3146 const bId = b4.uniqueId ?? ""; 3147 return +(aId > bId) - +(aId < bId); 3148 } 3149 ); 3150 } 3151 } 3152 if (props.__directives?.html) { 3153 const conflictingPrefixes = [ 3154 "text", 3155 "each", 3156 "router-region" 3157 ].filter((prefix) => prefix in props.__directives); 3158 if (conflictingPrefixes.length) { 3159 warn( 3160 `The data-wp-html directive was ignored because it conflicts with $conflictingPrefixes.map((prefix) => `data-wp-$prefix}`).join(", ")}.` 3161 ); 3162 delete props.__directives.html; 3163 } 3164 } 3165 const hasDefaultHtmlDirective = props.__directives?.html?.some( 3166 ({ suffix }) => suffix === null 3167 ); 3168 if (props.__directives?.["each-child"] || hasDefaultHtmlDirective) { 3169 props.dangerouslySetInnerHTML = { 3170 __html: elementNode.innerHTML 3171 }; 3172 } else if (localName === "template") { 3173 props.content = [ 3174 ...elementNode.content.childNodes 3175 ].map((childNode) => toVdom(childNode)); 3176 } else { 3177 let child = treeWalker.firstChild(); 3178 if (child) { 3179 while (child) { 3180 const vnode = walk(child); 3181 if (vnode) { 3182 children.push(vnode); 3183 } 3184 child = treeWalker.nextSibling(); 3185 } 3186 treeWalker.parentNode(); 3187 } 3188 } 3189 if (island) { 3190 namespaces.pop(); 3191 } 3192 return k(localName, props, children); 3193 } 3194 const vdom = walk(treeWalker.currentNode); 3195 nodesToRemove.forEach( 3196 (node) => node.remove() 3197 ); 3198 nodesToReplace.forEach( 3199 (node) => node.replaceWith( 3200 new window.Text(node.data) 3201 ) 3202 ); 3203 return vdom; 3204 } 3205 3206 // packages/interactivity/build-module/hydration.mjs 3207 var regionRootFragments = /* @__PURE__ */ new WeakMap(); 3208 var getRegionRootFragment = (regions) => { 3209 const region = Array.isArray(regions) ? regions[0] : regions; 3210 if (!region.parentElement) { 3211 throw Error("The passed region should be an element with a parent."); 3212 } 3213 if (!regionRootFragments.has(region)) { 3214 regionRootFragments.set( 3215 region, 3216 createRootFragment(region.parentElement, regions) 3217 ); 3218 } 3219 return regionRootFragments.get(region); 3220 }; 3221 var initialVdom = /* @__PURE__ */ new WeakMap(); 3222 var resolveInitialVdom; 3223 var initialVdomPromise = new Promise((resolve2) => { 3224 resolveInitialVdom = resolve2; 3225 }); 3226 var hydrateRegions = async () => { 3227 const nodes = [ 3228 ...document.querySelectorAll(`[data-wp-interactive]`) 3229 ].filter( 3230 (node) => !node.parentElement?.closest("[data-wp-interactive]") 3231 ); 3232 for (const node of nodes) { 3233 await splitTask(); 3234 const fragment = getRegionRootFragment(node); 3235 const vdom = toVdom(node); 3236 initialVdom.set(node, vdom); 3237 await splitTask(); 3238 U(vdom, fragment); 3239 } 3240 resolveInitialVdom(initialVdom); 3241 }; 3242 3243 // packages/interactivity/build-module/index.mjs 3244 if (true) { 3245 await Promise.resolve().then(() => (init_debug_module(), debug_module_exports)); 3246 } 3247 var requiredConsent = "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress."; 3248 var privateApis = (lock) => { 3249 if (lock === requiredConsent) { 3250 return { 3251 getRegionRootFragment, 3252 initialVdomPromise, 3253 toVdom, 3254 // Shares the directive-value interpretation with internal consumers. 3255 parseDirectiveValue, 3256 directive, 3257 getNamespace, 3258 h: k, 3259 cloneElement: W, 3260 render: R, 3261 proxifyState, 3262 parseServerData, 3263 populateServerData, 3264 batch: r3, 3265 routerRegions, 3266 deepReadOnly, 3267 navigationSignal, 3268 sessionId, 3269 warn, 3270 afterNextFrame, 3271 getScope 3272 }; 3273 } 3274 throw new Error("Forbidden access."); 3275 }; 3276 populateServerData(parseServerData()); 3277 onDOMReady(hydrateRegions); 3278 window.history.replaceState( 3279 { ...window.history.state, wpInteractivityId: sessionId }, 3280 "" 3281 ); 3282 window.addEventListener("popstate", (event) => { 3283 if (event.state !== null && event.state?.wpInteractivityId !== sessionId) { 3284 window.location.reload(); 3285 } 3286 }); 3287 export { 3288 asDangerousHTML, 3289 getConfig, 3290 getContext, 3291 getElement, 3292 getServerContext, 3293 getServerState, 3294 privateApis, 3295 splitTask, 3296 store, 3297 useCallback, 3298 useEffect, 3299 useInit, 3300 useLayoutEffect, 3301 useMemo, 3302 A2 as useRef, 3303 d2 as useState, 3304 useWatch, 3305 watch, 3306 withScope, 3307 withSyncEvent 3308 };
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Wed Oct 28 08:20:35 2026 | Cross-referenced by PHPXref |