PluginProbe
Gutenberg / 24.1.0
Gutenberg v24.1.0
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
gutenberg / build / modules / interactivity / index.js

index.js in Gutenberg 24.1.0, at build/modules/interactivity/index.js

3,190 lines 101.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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/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/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/preact/devtools/dist/devtools.module.js
289 var i4;
290 var init_devtools_module = __esm({
291 "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/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/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/@preact/signals/dist/signals.module.js
542 init_preact_module();
543
544 // 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/@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/@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 function createFlusher(compute, notify) {
1271 let flush = () => void 0;
1272 const dispose = E2(function() {
1273 flush = this.c.bind(this);
1274 this.x = compute;
1275 this.c = notify;
1276 return compute();
1277 });
1278 return { flush, dispose };
1279 }
1280 function useSignalEffect(callback) {
1281 y2(() => {
1282 let eff = null;
1283 let isExecuting = false;
1284 const notify = async () => {
1285 if (eff && !isExecuting) {
1286 isExecuting = true;
1287 await afterNextFrame(eff.flush);
1288 isExecuting = false;
1289 }
1290 };
1291 eff = createFlusher(callback, notify);
1292 return eff.dispose;
1293 }, []);
1294 }
1295 function withScope(func) {
1296 const scope = getScope();
1297 const ns = getNamespace();
1298 let wrapped;
1299 if (func?.constructor?.name === "GeneratorFunction") {
1300 wrapped = async (...args) => {
1301 const gen = func(...args);
1302 let value;
1303 let it;
1304 let error;
1305 while (true) {
1306 setNamespace(ns);
1307 setScope(scope);
1308 try {
1309 it = error ? gen.throw(error) : gen.next(value);
1310 error = void 0;
1311 } catch (e4) {
1312 throw e4;
1313 } finally {
1314 resetScope();
1315 resetNamespace();
1316 }
1317 try {
1318 value = await it.value;
1319 } catch (e4) {
1320 error = e4;
1321 }
1322 if (it.done) {
1323 if (error) {
1324 throw error;
1325 } else {
1326 break;
1327 }
1328 }
1329 }
1330 return value;
1331 };
1332 } else {
1333 wrapped = (...args) => {
1334 setNamespace(ns);
1335 setScope(scope);
1336 try {
1337 return func(...args);
1338 } finally {
1339 resetNamespace();
1340 resetScope();
1341 }
1342 };
1343 }
1344 const syncAware = func;
1345 if (syncAware.sync) {
1346 const syncAwareWrapped = wrapped;
1347 syncAwareWrapped.sync = true;
1348 return syncAwareWrapped;
1349 }
1350 return wrapped;
1351 }
1352 function useWatch(callback) {
1353 useSignalEffect(withScope(callback));
1354 }
1355 function useInit(callback) {
1356 y2(withScope(callback), []);
1357 }
1358 function useEffect(callback, inputs) {
1359 y2(withScope(callback), inputs);
1360 }
1361 function useLayoutEffect(callback, inputs) {
1362 _2(withScope(callback), inputs);
1363 }
1364 function useCallback(callback, inputs) {
1365 return q2(withScope(callback), inputs);
1366 }
1367 function useMemo(factory, inputs) {
1368 return T2(withScope(factory), inputs);
1369 }
1370 var createRootFragment = (parent, replaceNode) => {
1371 replaceNode = [].concat(replaceNode);
1372 const sibling = replaceNode[replaceNode.length - 1].nextSibling;
1373 function insert(child, root) {
1374 parent.insertBefore(child, root || sibling);
1375 }
1376 return parent.__k = {
1377 nodeType: 1,
1378 parentNode: parent,
1379 firstChild: replaceNode[0],
1380 childNodes: replaceNode,
1381 insertBefore: insert,
1382 appendChild: insert,
1383 removeChild(c5) {
1384 parent.removeChild(c5);
1385 },
1386 contains(c5) {
1387 parent.contains(c5);
1388 }
1389 };
1390 };
1391 function kebabToCamelCase(str) {
1392 return str.replace(/^-+|-+$/g, "").toLowerCase().replace(/-([a-z])/g, function(_match, group1) {
1393 return group1.toUpperCase();
1394 });
1395 }
1396 var logged = /* @__PURE__ */ new Set();
1397 var warn = (message) => {
1398 if (true) {
1399 if (logged.has(message)) {
1400 return;
1401 }
1402 console.warn(message);
1403 try {
1404 throw Error(message);
1405 } catch {
1406 }
1407 logged.add(message);
1408 }
1409 };
1410 var isPlainObject = (candidate) => Boolean(
1411 candidate && typeof candidate === "object" && candidate.constructor === Object
1412 );
1413 function withSyncEvent(callback) {
1414 const syncAware = callback;
1415 syncAware.sync = true;
1416 return syncAware;
1417 }
1418 var readOnlyMap = /* @__PURE__ */ new WeakMap();
1419 var createDeepReadOnlyHandlers = (errorMessage) => {
1420 const handleError = () => {
1421 if (true) {
1422 warn(errorMessage);
1423 }
1424 return false;
1425 };
1426 return {
1427 get(target, prop) {
1428 const value = target[prop];
1429 if (value && typeof value === "object") {
1430 return deepReadOnly(value, { errorMessage });
1431 }
1432 return value;
1433 },
1434 set: handleError,
1435 deleteProperty: handleError,
1436 defineProperty: handleError
1437 };
1438 };
1439 function deepReadOnly(obj, options) {
1440 const errorMessage = options?.errorMessage ?? "Cannot modify read-only object";
1441 if (!readOnlyMap.has(obj)) {
1442 const handlers = createDeepReadOnlyHandlers(errorMessage);
1443 readOnlyMap.set(obj, new Proxy(obj, handlers));
1444 }
1445 return readOnlyMap.get(obj);
1446 }
1447 var navigationSignal = d3(0);
1448 var sessionId = Math.random().toString(36).slice(2);
1449 function deepClone(source) {
1450 if (isPlainObject(source)) {
1451 return Object.fromEntries(
1452 Object.entries(source).map(([key, value]) => [
1453 key,
1454 deepClone(value)
1455 ])
1456 );
1457 }
1458 if (Array.isArray(source)) {
1459 return source.map((i6) => deepClone(i6));
1460 }
1461 return source;
1462 }
1463
1464 // packages/interactivity/build-module/scopes.mjs
1465 var scopeStack = [];
1466 var getScope = () => scopeStack.slice(-1)[0];
1467 var setScope = (scope) => {
1468 scopeStack.push(scope);
1469 };
1470 var resetScope = () => {
1471 scopeStack.pop();
1472 };
1473 var throwNotInScope = (method) => {
1474 throw Error(
1475 `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)\`.`
1476 );
1477 };
1478 var getContext = (namespace) => {
1479 const scope = getScope();
1480 if (true) {
1481 if (!scope) {
1482 throwNotInScope("getContext");
1483 }
1484 }
1485 return scope.context[namespace || getNamespace()];
1486 };
1487 var getElement = () => {
1488 const scope = getScope();
1489 let deepReadOnlyOptions = {};
1490 if (true) {
1491 if (!scope) {
1492 throwNotInScope("getElement");
1493 }
1494 deepReadOnlyOptions = {
1495 errorMessage: "Don't mutate the attributes from `getElement`, use `data-wp-bind` to modify the attributes of an element instead."
1496 };
1497 }
1498 const { ref, attributes } = scope;
1499 return Object.freeze({
1500 ref: ref.current,
1501 attributes: deepReadOnly(attributes, deepReadOnlyOptions)
1502 });
1503 };
1504 var navigationContextSignal = d3(0);
1505 function getServerContext(namespace) {
1506 const scope = getScope();
1507 if (true) {
1508 if (!scope) {
1509 throwNotInScope("getServerContext");
1510 }
1511 }
1512 getServerContext.subscribe = navigationContextSignal.value;
1513 return deepClone(scope.serverContext[namespace || getNamespace()]);
1514 }
1515 getServerContext.subscribe = 0;
1516
1517 // packages/interactivity/build-module/proxies/signals.mjs
1518 var NO_SCOPE = {};
1519 var PropSignal = class {
1520 /**
1521 * Proxy that holds the property this PropSignal is associated with.
1522 */
1523 owner;
1524 /**
1525 * Relation of computeds by scope. These computeds are read-only signals
1526 * that depend on whether the property is a value or a getter and,
1527 * therefore, can return different values depending on the scope in which
1528 * the getter is accessed.
1529 */
1530 computedsByScope;
1531 /**
1532 * Signal with the value assigned to the related property.
1533 */
1534 valueSignal;
1535 /**
1536 * Signal with the getter assigned to the related property.
1537 */
1538 getterSignal;
1539 /**
1540 * Pending getter to be consolidated.
1541 */
1542 pendingGetter;
1543 /**
1544 * Structure that manages reactivity for a property in a state object, using
1545 * signals to keep track of property value or getter modifications.
1546 *
1547 * @param owner Proxy that holds the property this instance is associated
1548 * with.
1549 */
1550 constructor(owner) {
1551 this.owner = owner;
1552 this.computedsByScope = /* @__PURE__ */ new WeakMap();
1553 }
1554 /**
1555 * Changes the internal value. If a getter was set before, it is set to
1556 * `undefined`.
1557 *
1558 * @param value New value.
1559 */
1560 setValue(value) {
1561 this.update({ value });
1562 }
1563 /**
1564 * Changes the internal getter. If a value was set before, it is set to
1565 * `undefined`.
1566 *
1567 * @param getter New getter.
1568 */
1569 setGetter(getter) {
1570 this.update({ get: getter });
1571 }
1572 /**
1573 * Changes the internal getter asynchronously.
1574 *
1575 * The update is made in a microtask, which prevents issues with getters
1576 * accessing the state, and ensures the update occurs before any render.
1577 *
1578 * @param getter New getter.
1579 */
1580 setPendingGetter(getter) {
1581 this.pendingGetter = getter;
1582 queueMicrotask(() => this.consolidateGetter());
1583 }
1584 /**
1585 * Consolidate the pending value of the getter.
1586 */
1587 consolidateGetter() {
1588 const getter = this.pendingGetter;
1589 if (getter) {
1590 this.pendingGetter = void 0;
1591 this.update({ get: getter });
1592 }
1593 }
1594 /**
1595 * Returns the computed that holds the result of evaluating the prop in the
1596 * current scope.
1597 *
1598 * These computeds are read-only signals that depend on whether the property
1599 * is a value or a getter and, therefore, can return different values
1600 * depending on the scope in which the getter is accessed.
1601 *
1602 * @return Computed that depends on the scope.
1603 */
1604 getComputed() {
1605 const scope = getScope() || NO_SCOPE;
1606 if (!this.valueSignal && !this.getterSignal) {
1607 this.update({});
1608 }
1609 if (this.pendingGetter) {
1610 this.consolidateGetter();
1611 }
1612 if (!this.computedsByScope.has(scope)) {
1613 const callback = () => {
1614 const getter = this.getterSignal?.value;
1615 return getter ? getter.call(this.owner) : this.valueSignal?.value;
1616 };
1617 setNamespace(getNamespaceFromProxy(this.owner));
1618 this.computedsByScope.set(
1619 scope,
1620 w3(withScope(callback))
1621 );
1622 resetNamespace();
1623 }
1624 return this.computedsByScope.get(scope);
1625 }
1626 /**
1627 * Updates the internal signals for the value and the getter of the
1628 * corresponding prop.
1629 *
1630 * @param param0
1631 * @param param0.get New getter.
1632 * @param param0.value New value.
1633 */
1634 update({ get, value }) {
1635 if (!this.valueSignal) {
1636 this.valueSignal = d3(value);
1637 this.getterSignal = d3(get);
1638 } else if (value !== this.valueSignal.peek() || get !== this.getterSignal.peek()) {
1639 r3(() => {
1640 this.valueSignal.value = value;
1641 this.getterSignal.value = get;
1642 });
1643 }
1644 }
1645 };
1646
1647 // packages/interactivity/build-module/proxies/state.mjs
1648 var wellKnownSymbols = new Set(
1649 Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter((value) => typeof value === "symbol")
1650 );
1651 var proxyToProps = /* @__PURE__ */ new WeakMap();
1652 var hasPropSignal = (proxy, key) => proxyToProps.has(proxy) && proxyToProps.get(proxy).has(key);
1653 var getPropSignal = (proxy, key, initial) => {
1654 if (!proxyToProps.has(proxy)) {
1655 proxyToProps.set(proxy, /* @__PURE__ */ new Map());
1656 }
1657 key = typeof key === "number" ? `${key}` : key;
1658 const props = proxyToProps.get(proxy);
1659 if (!props.has(key)) {
1660 const ns = getNamespaceFromProxy(proxy);
1661 const prop = new PropSignal(proxy);
1662 props.set(key, prop);
1663 if (initial) {
1664 const { get, value } = initial;
1665 if (get) {
1666 prop.setGetter(get);
1667 } else {
1668 prop.setValue(
1669 shouldProxy(value) ? proxifyState(ns, value) : value
1670 );
1671 }
1672 }
1673 }
1674 return props.get(key);
1675 };
1676 var objToIterable = /* @__PURE__ */ new WeakMap();
1677 var peeking = false;
1678 var PENDING_GETTER = /* @__PURE__ */ Symbol("PENDING_GETTER");
1679 var stateHandlers = {
1680 get(target, key, receiver) {
1681 if (peeking || !target.hasOwnProperty(key) && key in target || typeof key === "symbol" && wellKnownSymbols.has(key)) {
1682 return Reflect.get(target, key, receiver);
1683 }
1684 const desc = Object.getOwnPropertyDescriptor(target, key);
1685 const prop = getPropSignal(receiver, key, desc);
1686 const result = prop.getComputed().value;
1687 if (result === PENDING_GETTER) {
1688 throw PENDING_GETTER;
1689 }
1690 if (typeof result === "function") {
1691 const ns = getNamespaceFromProxy(receiver);
1692 return (...args) => {
1693 setNamespace(ns);
1694 try {
1695 return result.call(receiver, ...args);
1696 } finally {
1697 resetNamespace();
1698 }
1699 };
1700 }
1701 return result;
1702 },
1703 set(target, key, value, receiver) {
1704 setNamespace(getNamespaceFromProxy(receiver));
1705 try {
1706 return Reflect.set(target, key, value, receiver);
1707 } finally {
1708 resetNamespace();
1709 }
1710 },
1711 defineProperty(target, key, desc) {
1712 const isNew = !(key in target);
1713 const result = Reflect.defineProperty(target, key, desc);
1714 if (result) {
1715 const receiver = getProxyFromObject(target);
1716 const prop = getPropSignal(receiver, key);
1717 const { get, value } = desc;
1718 if (get) {
1719 prop.setGetter(get);
1720 } else {
1721 const ns = getNamespaceFromProxy(receiver);
1722 prop.setValue(
1723 shouldProxy(value) ? proxifyState(ns, value) : value
1724 );
1725 }
1726 if (isNew && objToIterable.has(target)) {
1727 objToIterable.get(target).value++;
1728 }
1729 if (Array.isArray(target) && proxyToProps.get(receiver)?.has("length")) {
1730 const length = getPropSignal(receiver, "length");
1731 length.setValue(target.length);
1732 }
1733 }
1734 return result;
1735 },
1736 deleteProperty(target, key) {
1737 const result = Reflect.deleteProperty(target, key);
1738 if (result) {
1739 const prop = getPropSignal(getProxyFromObject(target), key);
1740 prop.setValue(void 0);
1741 if (objToIterable.has(target)) {
1742 objToIterable.get(target).value++;
1743 }
1744 }
1745 return result;
1746 },
1747 ownKeys(target) {
1748 if (!objToIterable.has(target)) {
1749 objToIterable.set(target, d3(0));
1750 }
1751 objToIterable._ = objToIterable.get(target).value;
1752 return Reflect.ownKeys(target);
1753 }
1754 };
1755 var proxifyState = (namespace, obj) => {
1756 return createProxy(namespace, obj, stateHandlers);
1757 };
1758 var peek = (obj, key) => {
1759 peeking = true;
1760 try {
1761 return obj[key];
1762 } finally {
1763 peeking = false;
1764 }
1765 };
1766 var deepMergeRecursive = (target, source, override = true) => {
1767 if (!(isPlainObject(target) && isPlainObject(source))) {
1768 return;
1769 }
1770 let hasNewKeys = false;
1771 for (const key in source) {
1772 const isNew = !(key in target);
1773 hasNewKeys = hasNewKeys || isNew;
1774 const desc = Object.getOwnPropertyDescriptor(source, key);
1775 const proxy = getProxyFromObject(target);
1776 const propSignal = !!proxy && hasPropSignal(proxy, key) && getPropSignal(proxy, key);
1777 if (typeof desc.get === "function" || typeof desc.set === "function") {
1778 if (override || isNew) {
1779 Object.defineProperty(target, key, {
1780 ...desc,
1781 configurable: true,
1782 enumerable: true
1783 });
1784 if (desc.get && propSignal) {
1785 propSignal.setPendingGetter(desc.get);
1786 }
1787 }
1788 } else if (isPlainObject(source[key])) {
1789 const targetValue = Object.getOwnPropertyDescriptor(
1790 target,
1791 key
1792 )?.value;
1793 if (isNew || override && !isPlainObject(targetValue)) {
1794 target[key] = {};
1795 if (propSignal) {
1796 const ns = getNamespaceFromProxy(proxy);
1797 propSignal.setValue(
1798 proxifyState(ns, target[key])
1799 );
1800 }
1801 deepMergeRecursive(target[key], source[key], override);
1802 } else if (isPlainObject(targetValue)) {
1803 deepMergeRecursive(target[key], source[key], override);
1804 }
1805 } else if (override || isNew) {
1806 Object.defineProperty(target, key, desc);
1807 if (propSignal) {
1808 const { value } = desc;
1809 const ns = getNamespaceFromProxy(proxy);
1810 propSignal.setValue(
1811 shouldProxy(value) ? proxifyState(ns, value) : value
1812 );
1813 }
1814 }
1815 }
1816 if (hasNewKeys && objToIterable.has(target)) {
1817 objToIterable.get(target).value++;
1818 }
1819 };
1820 var deepMerge = (target, source, override = true) => r3(
1821 () => deepMergeRecursive(
1822 getObjectFromProxy(target) || target,
1823 source,
1824 override
1825 )
1826 );
1827
1828 // packages/interactivity/build-module/proxies/store.mjs
1829 var storeRoots = /* @__PURE__ */ new WeakSet();
1830 var storeHandlers = {
1831 get: (target, key, receiver) => {
1832 const result = Reflect.get(target, key);
1833 const ns = getNamespaceFromProxy(receiver);
1834 if (typeof result === "undefined" && storeRoots.has(receiver)) {
1835 const obj = {};
1836 Reflect.set(target, key, obj);
1837 return proxifyStore(ns, obj, false);
1838 }
1839 if (typeof result === "function") {
1840 setNamespace(ns);
1841 const scoped = withScope(result);
1842 resetNamespace();
1843 return scoped;
1844 }
1845 if (isPlainObject(result) && shouldProxy(result)) {
1846 return proxifyStore(ns, result, false);
1847 }
1848 return result;
1849 }
1850 };
1851 var proxifyStore = (namespace, obj, isRoot = true) => {
1852 const proxy = createProxy(namespace, obj, storeHandlers);
1853 if (proxy && isRoot) {
1854 storeRoots.add(proxy);
1855 }
1856 return proxy;
1857 };
1858
1859 // packages/interactivity/build-module/proxies/context.mjs
1860 var contextObjectToProxy = /* @__PURE__ */ new WeakMap();
1861 var contextObjectToFallback = /* @__PURE__ */ new WeakMap();
1862 var contextProxies = /* @__PURE__ */ new WeakSet();
1863 var descriptor = Reflect.getOwnPropertyDescriptor;
1864 var contextHandlers = {
1865 get: (target, key) => {
1866 const fallback = contextObjectToFallback.get(target);
1867 const currentProp = target[key];
1868 return key in target ? currentProp : fallback[key];
1869 },
1870 set: (target, key, value) => {
1871 const fallback = contextObjectToFallback.get(target);
1872 const obj = key in target || !(key in fallback) ? target : fallback;
1873 obj[key] = value;
1874 return true;
1875 },
1876 ownKeys: (target) => [
1877 .../* @__PURE__ */ new Set([
1878 ...Object.keys(contextObjectToFallback.get(target)),
1879 ...Object.keys(target)
1880 ])
1881 ],
1882 getOwnPropertyDescriptor: (target, key) => descriptor(target, key) || descriptor(contextObjectToFallback.get(target), key),
1883 has: (target, key) => Reflect.has(target, key) || Reflect.has(contextObjectToFallback.get(target), key)
1884 };
1885 var proxifyContext = (current, inherited = {}) => {
1886 if (contextProxies.has(current)) {
1887 throw Error("This object cannot be proxified.");
1888 }
1889 contextObjectToFallback.set(current, inherited);
1890 if (!contextObjectToProxy.has(current)) {
1891 const proxy = new Proxy(current, contextHandlers);
1892 contextObjectToProxy.set(current, proxy);
1893 contextProxies.add(proxy);
1894 }
1895 return contextObjectToProxy.get(current);
1896 };
1897
1898 // packages/interactivity/build-module/store.mjs
1899 var stores = /* @__PURE__ */ new Map();
1900 var rawStores = /* @__PURE__ */ new Map();
1901 var storeLocks = /* @__PURE__ */ new Map();
1902 var storeConfigs = /* @__PURE__ */ new Map();
1903 var serverStates = /* @__PURE__ */ new Map();
1904 var getConfig = (namespace) => storeConfigs.get(namespace || getNamespace()) || {};
1905 function getServerState(namespace) {
1906 const ns = namespace || getNamespace();
1907 if (!serverStates.has(ns)) {
1908 serverStates.set(ns, {});
1909 }
1910 getServerState.subscribe = navigationSignal.value;
1911 return deepClone(serverStates.get(ns));
1912 }
1913 getServerState.subscribe = 0;
1914 var universalUnlock = "I acknowledge that using a private store means my plugin will inevitably break on the next store release.";
1915 function store(namespace, { state = {}, ...block } = {}, { lock = false } = {}) {
1916 if (!stores.has(namespace)) {
1917 if (lock !== universalUnlock) {
1918 storeLocks.set(namespace, lock);
1919 }
1920 const rawStore = {
1921 state: proxifyState(
1922 namespace,
1923 isPlainObject(state) ? state : {}
1924 ),
1925 ...block
1926 };
1927 const proxifiedStore = proxifyStore(namespace, rawStore);
1928 rawStores.set(namespace, rawStore);
1929 stores.set(namespace, proxifiedStore);
1930 } else {
1931 if (lock !== universalUnlock && !storeLocks.has(namespace)) {
1932 storeLocks.set(namespace, lock);
1933 } else {
1934 const storeLock = storeLocks.get(namespace);
1935 const isLockValid = lock === universalUnlock || lock !== true && lock === storeLock;
1936 if (!isLockValid) {
1937 if (!storeLock) {
1938 throw Error("Cannot lock a public store");
1939 } else {
1940 throw Error(
1941 "Cannot unlock a private store with an invalid lock code"
1942 );
1943 }
1944 }
1945 }
1946 const target = rawStores.get(namespace);
1947 deepMerge(target, block);
1948 deepMerge(target.state, state);
1949 }
1950 return stores.get(namespace);
1951 }
1952 var parseServerData = (dom = document) => {
1953 const jsonDataScriptTag = (
1954 // Preferred Script Module data passing form
1955 dom.getElementById(
1956 "wp-script-module-data-@wordpress/interactivity"
1957 ) ?? // Legacy form
1958 dom.getElementById("wp-interactivity-data")
1959 );
1960 if (jsonDataScriptTag?.textContent) {
1961 try {
1962 return JSON.parse(jsonDataScriptTag.textContent);
1963 } catch {
1964 }
1965 }
1966 return {};
1967 };
1968 var populateServerData = (data) => {
1969 serverStates.clear();
1970 storeConfigs.clear();
1971 if (isPlainObject(data?.state)) {
1972 Object.entries(data.state).forEach(([namespace, state]) => {
1973 const st = store(namespace, {}, { lock: universalUnlock });
1974 deepMerge(st.state, state, false);
1975 serverStates.set(namespace, state);
1976 });
1977 }
1978 if (isPlainObject(data?.config)) {
1979 Object.entries(data.config).forEach(([namespace, config]) => {
1980 storeConfigs.set(namespace, config);
1981 });
1982 }
1983 if (isPlainObject(data?.derivedStateClosures)) {
1984 Object.entries(data.derivedStateClosures).forEach(
1985 ([namespace, paths]) => {
1986 const st = store(
1987 namespace,
1988 {},
1989 { lock: universalUnlock }
1990 );
1991 paths.forEach((path) => {
1992 const pathParts = path.split(".");
1993 const prop = pathParts.splice(-1, 1)[0];
1994 const parent = pathParts.reduce(
1995 (prev, key) => peek(prev, key),
1996 st
1997 );
1998 const desc = Object.getOwnPropertyDescriptor(
1999 parent,
2000 prop
2001 );
2002 if (isPlainObject(desc?.value)) {
2003 parent[prop] = PENDING_GETTER;
2004 }
2005 });
2006 }
2007 );
2008 }
2009 };
2010
2011 // packages/interactivity/build-module/hooks.mjs
2012 function isNonDefaultDirectiveSuffix(entry) {
2013 return entry.suffix !== null;
2014 }
2015 function isDefaultDirectiveSuffix(entry) {
2016 return entry.suffix === null;
2017 }
2018 var context = X({ client: {}, server: {} });
2019 var directiveCallbacks = {};
2020 var directivePriorities = {};
2021 var directive = (name, callback, { priority = 10 } = {}) => {
2022 directiveCallbacks[name] = callback;
2023 directivePriorities[name] = priority;
2024 };
2025 var resolve = (path, namespace) => {
2026 if (!namespace) {
2027 warn(
2028 `Namespace missing for "${path}". The value for that path won't be resolved.`
2029 );
2030 return;
2031 }
2032 let resolvedStore = stores.get(namespace);
2033 if (typeof resolvedStore === "undefined") {
2034 resolvedStore = store(
2035 namespace,
2036 {},
2037 {
2038 lock: universalUnlock
2039 }
2040 );
2041 }
2042 const current = {
2043 ...resolvedStore,
2044 context: getScope().context[namespace]
2045 };
2046 try {
2047 const pathParts = path.split(".");
2048 return pathParts.reduce((acc, key) => acc[key], current);
2049 } catch (e4) {
2050 if (e4 === PENDING_GETTER) {
2051 return PENDING_GETTER;
2052 }
2053 }
2054 };
2055 var getEvaluate = ({ scope }) => (
2056 // TODO: When removing the temporarily remaining `value( ...args )` call below, remove the `...args` parameter too.
2057 ((entry, ...args) => {
2058 let { value: path, namespace } = entry;
2059 if (typeof path !== "string") {
2060 throw new Error("The `value` prop should be a string path");
2061 }
2062 const hasNegationOperator = path[0] === "!" && !!(path = path.slice(1));
2063 setScope(scope);
2064 const value = resolve(path, namespace);
2065 if (typeof value === "function") {
2066 if (hasNegationOperator) {
2067 warn(
2068 "Using a function with a negation operator is deprecated and will stop working in WordPress 6.9. Please use derived state instead."
2069 );
2070 const functionResult = !value(...args);
2071 resetScope();
2072 return functionResult;
2073 }
2074 resetScope();
2075 const wrappedFunction = (...functionArgs) => {
2076 setScope(scope);
2077 const functionResult = value(...functionArgs);
2078 resetScope();
2079 return functionResult;
2080 };
2081 if (value.sync) {
2082 const syncAwareFunction = wrappedFunction;
2083 syncAwareFunction.sync = true;
2084 }
2085 return wrappedFunction;
2086 }
2087 const result = value;
2088 resetScope();
2089 return hasNegationOperator && value !== PENDING_GETTER ? !result : result;
2090 })
2091 );
2092 var getPriorityLevels = (directives) => {
2093 const byPriority = Object.keys(directives).reduce((obj, name) => {
2094 if (directiveCallbacks[name]) {
2095 const priority = directivePriorities[name];
2096 (obj[priority] = obj[priority] || []).push(name);
2097 }
2098 return obj;
2099 }, {});
2100 return Object.entries(byPriority).sort(([p1], [p22]) => parseInt(p1) - parseInt(p22)).map(([, arr]) => arr);
2101 };
2102 var Directives = ({
2103 directives,
2104 priorityLevels: [currentPriorityLevel, ...nextPriorityLevels],
2105 element,
2106 originalProps,
2107 previousScope
2108 }) => {
2109 const scope = A2({}).current;
2110 scope.evaluate = q2(getEvaluate({ scope }), []);
2111 const { client, server } = x2(context);
2112 scope.context = client;
2113 scope.serverContext = server;
2114 scope.ref = previousScope?.ref || A2(null);
2115 element = W(element, { ref: scope.ref });
2116 scope.attributes = element.props;
2117 const children = nextPriorityLevels.length > 0 ? k(Directives, {
2118 directives,
2119 priorityLevels: nextPriorityLevels,
2120 element,
2121 originalProps,
2122 previousScope: scope
2123 }) : element;
2124 const props = { ...originalProps, children };
2125 const directiveArgs = {
2126 directives,
2127 props,
2128 element,
2129 context,
2130 evaluate: scope.evaluate
2131 };
2132 setScope(scope);
2133 for (const directiveName of currentPriorityLevel) {
2134 const wrapper = directiveCallbacks[directiveName]?.(directiveArgs);
2135 if (wrapper !== void 0) {
2136 props.children = wrapper;
2137 }
2138 }
2139 resetScope();
2140 return props.children;
2141 };
2142 var old = l.vnode;
2143 l.vnode = (vnode) => {
2144 if (vnode.props.__directives) {
2145 const props = vnode.props;
2146 const directives = props.__directives;
2147 if (directives.key) {
2148 vnode.key = directives.key.find(isDefaultDirectiveSuffix).value;
2149 }
2150 delete props.__directives;
2151 const priorityLevels = getPriorityLevels(directives);
2152 if (priorityLevels.length > 0) {
2153 vnode.props = {
2154 directives,
2155 priorityLevels,
2156 originalProps: props,
2157 type: vnode.type,
2158 element: k(vnode.type, props),
2159 top: true
2160 };
2161 vnode.type = Directives;
2162 }
2163 }
2164 if (old) {
2165 old(vnode);
2166 }
2167 };
2168
2169 // packages/interactivity/build-module/directives/utils/warnings.mjs
2170 var warnUniqueIdWithTwoHyphens = (prefix, suffix, uniqueId) => {
2171 if (true) {
2172 warn(
2173 `The usage of data-wp-${prefix}--${suffix}${uniqueId ? `--${uniqueId}` : ""} (two hyphens for unique ID) is deprecated and will stop working in WordPress 7.1. Please use data-wp-${prefix}${uniqueId ? `--${suffix}---${uniqueId}` : `---${suffix}`} (three hyphens for unique ID) from now on.`
2174 );
2175 }
2176 };
2177 var warnUniqueIdNotSupported = (prefix, uniqueId) => {
2178 if (true) {
2179 warn(
2180 `Unique IDs are not supported for the data-wp-${prefix} directive. Ignoring the directive with unique ID "${uniqueId}".`
2181 );
2182 }
2183 };
2184 var warnWithSyncEvent = (wrongPrefix, rightPrefix) => {
2185 if (true) {
2186 warn(
2187 `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.`
2188 );
2189 }
2190 };
2191
2192 // packages/interactivity/build-module/directives/bind.mjs
2193 directive("bind", ({ directives: { bind }, element, evaluate }) => {
2194 bind.filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2195 if (entry.uniqueId) {
2196 if (true) {
2197 warnUniqueIdNotSupported("bind", entry.uniqueId);
2198 }
2199 return;
2200 }
2201 const attribute = entry.suffix;
2202 let result = evaluate(entry);
2203 if (result === PENDING_GETTER) {
2204 return;
2205 }
2206 if (typeof result === "function") {
2207 result = result();
2208 }
2209 element.props[attribute] = result;
2210 useInit(() => {
2211 const el = element.ref.current;
2212 if (attribute === "style") {
2213 if (typeof result === "string") {
2214 el.style.cssText = result;
2215 }
2216 return;
2217 } else if (attribute !== "width" && attribute !== "height" && attribute !== "href" && attribute !== "list" && attribute !== "form" && /*
2218 * The value for `tabindex` follows the parsing rules for an
2219 * integer. If that fails, or if the attribute isn't present, then
2220 * the browsers should "follow platform conventions to determine if
2221 * the element should be considered as a focusable area",
2222 * practically meaning that most elements get a default of `-1` (not
2223 * focusable), but several also get a default of `0` (focusable in
2224 * order after all elements with a positive `tabindex` value).
2225 *
2226 * @see https://html.spec.whatwg.org/#tabindex-value
2227 */
2228 attribute !== "tabIndex" && attribute !== "download" && attribute !== "rowSpan" && attribute !== "colSpan" && attribute !== "role" && attribute !== "popover" && attribute in el) {
2229 try {
2230 el[attribute] = result === null || result === void 0 ? "" : result;
2231 return;
2232 } catch {
2233 }
2234 }
2235 if (result !== null && result !== void 0 && (result !== false || attribute[4] === "-")) {
2236 el.setAttribute(
2237 attribute,
2238 attribute === "popover" && result === true ? "" : result
2239 );
2240 } else {
2241 el.removeAttribute(attribute);
2242 }
2243 });
2244 });
2245 });
2246
2247 // packages/interactivity/build-module/directives/class.mjs
2248 directive(
2249 "class",
2250 ({ directives: { class: classNames }, element, evaluate }) => {
2251 classNames.filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2252 const className = entry.uniqueId ? `${entry.suffix}---${entry.uniqueId}` : entry.suffix;
2253 let result = evaluate(entry);
2254 if (result === PENDING_GETTER) {
2255 return;
2256 }
2257 if (typeof result === "function") {
2258 result = result();
2259 }
2260 const currentClass = element.props.class || "";
2261 const classFinder = new RegExp(
2262 `(^|\\s)${className}(\\s|$)`,
2263 "g"
2264 );
2265 if (!result) {
2266 element.props.class = currentClass.replace(classFinder, " ").trim();
2267 } else if (!classFinder.test(currentClass)) {
2268 element.props.class = currentClass ? `${currentClass} ${className}` : className;
2269 }
2270 useInit(() => {
2271 if (!result) {
2272 element.ref.current.classList.remove(className);
2273 } else {
2274 element.ref.current.classList.add(className);
2275 }
2276 });
2277 });
2278 }
2279 );
2280
2281 // packages/interactivity/build-module/directives/context.mjs
2282 init_preact_module();
2283 directive(
2284 "context",
2285 ({
2286 directives: { context: context2 },
2287 props: { children },
2288 context: inheritedContext
2289 }) => {
2290 const entries = context2.filter(isDefaultDirectiveSuffix).reverse();
2291 if (!entries.length) {
2292 if (true) {
2293 warn(
2294 "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."
2295 );
2296 }
2297 return;
2298 }
2299 const { Provider } = inheritedContext;
2300 const { client: inheritedClient, server: inheritedServer } = x2(inheritedContext);
2301 const client = A2({});
2302 const server = {};
2303 const result = {
2304 client: { ...inheritedClient },
2305 server: { ...inheritedServer }
2306 };
2307 const namespaces2 = /* @__PURE__ */ new Set();
2308 entries.forEach(({ value, namespace, uniqueId }) => {
2309 if (!isPlainObject(value)) {
2310 if (true) {
2311 warn(
2312 `The value of data-wp-context${uniqueId ? `---${uniqueId}` : ""} on the ${namespace} namespace must be a valid stringified JSON object.`
2313 );
2314 }
2315 return;
2316 }
2317 if (!client.current[namespace]) {
2318 client.current[namespace] = proxifyState(namespace, {});
2319 }
2320 deepMerge(client.current[namespace], deepClone(value), false);
2321 server[namespace] = value;
2322 namespaces2.add(namespace);
2323 });
2324 namespaces2.forEach((namespace) => {
2325 result.client[namespace] = proxifyContext(
2326 client.current[namespace],
2327 inheritedClient[namespace]
2328 );
2329 result.server[namespace] = proxifyContext(
2330 server[namespace],
2331 inheritedServer[namespace]
2332 );
2333 });
2334 return k(Provider, { value: result }, children);
2335 },
2336 { priority: 5 }
2337 );
2338
2339 // packages/interactivity/build-module/directives/each.mjs
2340 init_preact_module();
2341 var evaluateItemKey = (inheritedValue, namespace, item, itemProp, eachKey) => {
2342 const clientContextWithItem = {
2343 ...inheritedValue.client,
2344 [namespace]: {
2345 ...inheritedValue.client[namespace],
2346 [itemProp]: item
2347 }
2348 };
2349 const scope = {
2350 ...getScope(),
2351 context: clientContextWithItem,
2352 serverContext: inheritedValue.server
2353 };
2354 return eachKey ? getEvaluate({ scope })(eachKey) : item;
2355 };
2356 var useItemContexts = function* (inheritedValue, namespace, items, itemProp, eachKey) {
2357 const { current: itemContexts } = A2(/* @__PURE__ */ new Map());
2358 for (const item of items) {
2359 const key = evaluateItemKey(
2360 inheritedValue,
2361 namespace,
2362 item,
2363 itemProp,
2364 eachKey
2365 );
2366 if (!itemContexts.has(key)) {
2367 itemContexts.set(
2368 key,
2369 proxifyContext(
2370 proxifyState(namespace, {
2371 // Inits the item prop in the context to shadow it in case
2372 // it was inherited from the parent context. The actual
2373 // value is set in the `wp-each` directive later on.
2374 [itemProp]: void 0
2375 }),
2376 inheritedValue.client[namespace]
2377 )
2378 );
2379 }
2380 yield [item, itemContexts.get(key), key];
2381 }
2382 };
2383 directive(
2384 "each",
2385 ({
2386 directives: { each, "each-key": eachKey },
2387 context: inheritedContext,
2388 element,
2389 evaluate
2390 }) => {
2391 if (element.type !== "template") {
2392 if (true) {
2393 warn(
2394 "The data-wp-each directive can only be used on <template> elements."
2395 );
2396 }
2397 return;
2398 }
2399 const { Provider } = inheritedContext;
2400 const inheritedValue = x2(inheritedContext);
2401 const [entry] = each;
2402 const { namespace, suffix, uniqueId } = entry;
2403 if (each.length > 1) {
2404 if (true) {
2405 warn(
2406 "The usage of multiple data-wp-each directives on the same element is not supported. Please pick only one."
2407 );
2408 }
2409 return;
2410 }
2411 if (uniqueId) {
2412 if (true) {
2413 warnUniqueIdNotSupported("each", uniqueId);
2414 }
2415 return;
2416 }
2417 let iterable = evaluate(entry);
2418 if (iterable === PENDING_GETTER) {
2419 return;
2420 }
2421 if (typeof iterable === "function") {
2422 iterable = iterable();
2423 }
2424 if (typeof iterable?.[Symbol.iterator] !== "function") {
2425 return;
2426 }
2427 const itemProp = suffix ? kebabToCamelCase(suffix) : "item";
2428 const result = [];
2429 const itemContexts = useItemContexts(
2430 inheritedValue,
2431 namespace,
2432 iterable,
2433 itemProp,
2434 eachKey?.[0]
2435 );
2436 for (const [item, itemContext, key] of itemContexts) {
2437 const mergedContext = {
2438 client: {
2439 ...inheritedValue.client,
2440 [namespace]: itemContext
2441 },
2442 server: { ...inheritedValue.server }
2443 };
2444 mergedContext.client[namespace][itemProp] = item;
2445 result.push(
2446 k(
2447 Provider,
2448 { value: mergedContext, key },
2449 element.props.content
2450 )
2451 );
2452 }
2453 return result;
2454 },
2455 { priority: 20 }
2456 );
2457 directive(
2458 "each-child",
2459 ({ directives: { "each-child": eachChild }, element, evaluate }) => {
2460 const entry = eachChild.find(isDefaultDirectiveSuffix);
2461 if (!entry) {
2462 return;
2463 }
2464 const iterable = evaluate(entry);
2465 return iterable === PENDING_GETTER ? element : null;
2466 },
2467 { priority: 1 }
2468 );
2469
2470 // packages/interactivity/build-module/directives/ignore.mjs
2471 init_preact_module();
2472 directive(
2473 "ignore",
2474 ({
2475 element: {
2476 type: Type,
2477 props: { innerHTML, ...rest }
2478 }
2479 }) => {
2480 if (true) {
2481 warn(
2482 "The data-wp-ignore directive is deprecated and will be removed in version 7.0."
2483 );
2484 }
2485 const cached = T2(() => innerHTML, []);
2486 return k(Type, {
2487 dangerouslySetInnerHTML: { __html: cached },
2488 ...rest
2489 });
2490 }
2491 );
2492
2493 // packages/interactivity/build-module/directives/init.mjs
2494 directive("init", ({ directives: { init }, evaluate }) => {
2495 init.forEach((entry) => {
2496 if (true) {
2497 if (entry.suffix) {
2498 warnUniqueIdWithTwoHyphens("init", entry.suffix);
2499 }
2500 }
2501 useInit(() => {
2502 let start;
2503 if (true) {
2504 if (true) {
2505 start = performance.now();
2506 }
2507 }
2508 let result = evaluate(entry);
2509 if (typeof result === "function") {
2510 result = result();
2511 }
2512 if (true) {
2513 if (true) {
2514 performance.measure(
2515 `interactivity api init ${entry.namespace}`,
2516 {
2517 start,
2518 end: performance.now(),
2519 detail: {
2520 devtools: {
2521 track: `IA: init ${entry.namespace}`
2522 }
2523 }
2524 }
2525 );
2526 }
2527 }
2528 return result;
2529 });
2530 });
2531 });
2532
2533 // packages/interactivity/build-module/directives/on.mjs
2534 function wrapEventAsync(event) {
2535 const handler = {
2536 get(target, prop, receiver) {
2537 const value = target[prop];
2538 switch (prop) {
2539 case "currentTarget":
2540 if (true) {
2541 warn(
2542 `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().`
2543 );
2544 }
2545 break;
2546 case "preventDefault":
2547 case "stopImmediatePropagation":
2548 case "stopPropagation":
2549 if (true) {
2550 warn(
2551 `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().`
2552 );
2553 }
2554 break;
2555 }
2556 if (value instanceof Function) {
2557 return function(...args) {
2558 return value.apply(
2559 this === receiver ? target : this,
2560 args
2561 );
2562 };
2563 }
2564 return value;
2565 }
2566 };
2567 return new Proxy(event, handler);
2568 }
2569 var getGlobalEventDirective = (type) => {
2570 return ({ directives, evaluate }) => {
2571 directives[`on-${type}`].filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2572 const suffixParts = entry.suffix.split("--", 2);
2573 const eventName = suffixParts[0];
2574 if (true) {
2575 if (suffixParts[1]) {
2576 warnUniqueIdWithTwoHyphens(
2577 `on-${type}`,
2578 suffixParts[0],
2579 suffixParts[1]
2580 );
2581 }
2582 }
2583 useInit(() => {
2584 const cb = (event) => {
2585 const result = evaluate(entry);
2586 if (typeof result === "function") {
2587 if (!result?.sync) {
2588 event = wrapEventAsync(event);
2589 }
2590 result(event);
2591 }
2592 };
2593 const globalVar = type === "window" ? window : document;
2594 globalVar.addEventListener(eventName, cb);
2595 return () => globalVar.removeEventListener(eventName, cb);
2596 });
2597 });
2598 };
2599 };
2600 var getGlobalAsyncEventDirective = (type) => {
2601 return ({ directives, evaluate }) => {
2602 directives[`on-async-${type}`].filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2603 if (true) {
2604 warnWithSyncEvent(`on-async-${type}`, `on-${type}`);
2605 }
2606 const eventName = entry.suffix.split("--", 1)[0];
2607 useInit(() => {
2608 const cb = async (event) => {
2609 await splitTask();
2610 const result = evaluate(entry);
2611 if (typeof result === "function") {
2612 result(event);
2613 }
2614 };
2615 const globalVar = type === "window" ? window : document;
2616 globalVar.addEventListener(eventName, cb, {
2617 passive: true
2618 });
2619 return () => globalVar.removeEventListener(eventName, cb);
2620 });
2621 });
2622 };
2623 };
2624 directive("on", ({ directives: { on }, element, evaluate }) => {
2625 const events = /* @__PURE__ */ new Map();
2626 on.filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2627 const suffixParts = entry.suffix.split("--", 2);
2628 if (true) {
2629 if (suffixParts[1]) {
2630 warnUniqueIdWithTwoHyphens(
2631 "on",
2632 suffixParts[0],
2633 suffixParts[1]
2634 );
2635 }
2636 }
2637 if (!events.has(suffixParts[0])) {
2638 events.set(suffixParts[0], /* @__PURE__ */ new Set());
2639 }
2640 events.get(suffixParts[0]).add(entry);
2641 });
2642 events.forEach((entries, eventType) => {
2643 const existingHandler = element.props[`on${eventType}`];
2644 element.props[`on${eventType}`] = (event) => {
2645 if (existingHandler) {
2646 existingHandler(event);
2647 }
2648 entries.forEach((entry) => {
2649 let start;
2650 if (true) {
2651 if (true) {
2652 start = performance.now();
2653 }
2654 }
2655 const result = evaluate(entry);
2656 if (typeof result === "function") {
2657 if (!result?.sync) {
2658 event = wrapEventAsync(event);
2659 }
2660 result(event);
2661 }
2662 if (true) {
2663 if (true) {
2664 performance.measure(
2665 `interactivity api on ${entry.namespace}`,
2666 {
2667 start,
2668 end: performance.now(),
2669 detail: {
2670 devtools: {
2671 track: `IA: on ${entry.namespace}`
2672 }
2673 }
2674 }
2675 );
2676 }
2677 }
2678 });
2679 };
2680 });
2681 });
2682 directive(
2683 "on-async",
2684 ({ directives: { "on-async": onAsync }, element, evaluate }) => {
2685 if (true) {
2686 warnWithSyncEvent("on-async", "on");
2687 }
2688 const events = /* @__PURE__ */ new Map();
2689 onAsync.filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2690 const event = entry.suffix.split("--", 1)[0];
2691 if (!events.has(event)) {
2692 events.set(event, /* @__PURE__ */ new Set());
2693 }
2694 events.get(event).add(entry);
2695 });
2696 events.forEach((entries, eventType) => {
2697 const existingHandler = element.props[`on${eventType}`];
2698 element.props[`on${eventType}`] = (event) => {
2699 if (existingHandler) {
2700 existingHandler(event);
2701 }
2702 entries.forEach(async (entry) => {
2703 await splitTask();
2704 const result = evaluate(entry);
2705 if (typeof result === "function") {
2706 result(event);
2707 }
2708 });
2709 };
2710 });
2711 }
2712 );
2713 directive("on-window", getGlobalEventDirective("window"));
2714 directive("on-document", getGlobalEventDirective("document"));
2715 directive("on-async-window", getGlobalAsyncEventDirective("window"));
2716 directive("on-async-document", getGlobalAsyncEventDirective("document"));
2717
2718 // packages/interactivity/build-module/directives/router-region.mjs
2719 init_preact_module();
2720 var routerRegions = /* @__PURE__ */ new Map();
2721 directive(
2722 "router-region",
2723 ({ directives: { "router-region": routerRegion } }) => {
2724 const entry = routerRegion.find(isDefaultDirectiveSuffix);
2725 if (!entry) {
2726 return;
2727 }
2728 if (entry.suffix) {
2729 if (true) {
2730 warn(
2731 `Suffixes for the data-wp-router-region directive are not supported. Ignoring the directive with suffix "${entry.suffix}".`
2732 );
2733 }
2734 return;
2735 }
2736 if (entry.uniqueId) {
2737 if (true) {
2738 warnUniqueIdNotSupported("router-region", entry.uniqueId);
2739 }
2740 return;
2741 }
2742 const regionId = typeof entry.value === "string" ? entry.value : entry.value.id;
2743 if (!routerRegions.has(regionId)) {
2744 routerRegions.set(regionId, d3());
2745 }
2746 const vdom = routerRegions.get(regionId).value;
2747 _2(() => {
2748 if (vdom && typeof vdom.type !== "string") {
2749 navigationContextSignal.value = navigationContextSignal.peek() + 1;
2750 }
2751 }, [vdom]);
2752 if (vdom && typeof vdom.type !== "string") {
2753 const previousScope = getScope();
2754 return W(vdom, { previousScope });
2755 }
2756 return vdom;
2757 },
2758 { priority: 1 }
2759 );
2760
2761 // packages/interactivity/build-module/directives/run.mjs
2762 directive("run", ({ directives: { run }, evaluate }) => {
2763 run.forEach((entry) => {
2764 if (true) {
2765 if (entry.suffix) {
2766 warnUniqueIdWithTwoHyphens("run", entry.suffix);
2767 }
2768 }
2769 let result = evaluate(entry);
2770 if (typeof result === "function") {
2771 result = result();
2772 }
2773 return result;
2774 });
2775 });
2776
2777 // packages/interactivity/build-module/directives/style.mjs
2778 var newRule = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g;
2779 var ruleClean = /\/\*[^]*?\*\/| +/g;
2780 var ruleNewline = /\n+/g;
2781 var empty = " ";
2782 var cssStringToObject = (val) => {
2783 const tree = [{}];
2784 let block, left;
2785 while (block = newRule.exec(val.replace(ruleClean, ""))) {
2786 if (block[4]) {
2787 tree.shift();
2788 } else if (block[3]) {
2789 left = block[3].replace(ruleNewline, empty).trim();
2790 tree.unshift(tree[0][left] = tree[0][left] || {});
2791 } else {
2792 tree[0][block[1]] = block[2].replace(ruleNewline, empty).trim();
2793 }
2794 }
2795 return tree[0];
2796 };
2797 directive("style", ({ directives: { style }, element, evaluate }) => {
2798 style.filter(isNonDefaultDirectiveSuffix).forEach((entry) => {
2799 if (entry.uniqueId) {
2800 if (true) {
2801 warnUniqueIdNotSupported("style", entry.uniqueId);
2802 }
2803 return;
2804 }
2805 const styleProp = entry.suffix;
2806 let result = evaluate(entry);
2807 if (result === PENDING_GETTER) {
2808 return;
2809 }
2810 if (typeof result === "function") {
2811 result = result();
2812 }
2813 element.props.style = element.props.style || {};
2814 if (typeof element.props.style === "string") {
2815 element.props.style = cssStringToObject(element.props.style);
2816 }
2817 if (!result) {
2818 delete element.props.style[styleProp];
2819 } else {
2820 element.props.style[styleProp] = result;
2821 }
2822 useInit(() => {
2823 if (!result) {
2824 element.ref.current.style.removeProperty(styleProp);
2825 } else {
2826 element.ref.current.style.setProperty(styleProp, result);
2827 }
2828 });
2829 });
2830 });
2831
2832 // packages/interactivity/build-module/directives/text.mjs
2833 directive("text", ({ directives: { text }, element, evaluate }) => {
2834 const entries = text.filter(isDefaultDirectiveSuffix);
2835 if (!entries.length) {
2836 if (true) {
2837 warn(
2838 "The usage of data-wp-text--suffix is not supported. Please use data-wp-text instead."
2839 );
2840 }
2841 return;
2842 }
2843 entries.forEach((entry) => {
2844 if (entry.uniqueId) {
2845 if (true) {
2846 warnUniqueIdNotSupported("text", entry.uniqueId);
2847 }
2848 return;
2849 }
2850 try {
2851 let result = evaluate(entry);
2852 if (result === PENDING_GETTER) {
2853 return;
2854 }
2855 if (typeof result === "function") {
2856 result = result();
2857 }
2858 element.props.children = typeof result === "object" ? null : result.toString();
2859 } catch {
2860 element.props.children = null;
2861 }
2862 });
2863 });
2864
2865 // packages/interactivity/build-module/directives/watch.mjs
2866 directive("watch", ({ directives: { watch: watch2 }, evaluate }) => {
2867 watch2.forEach((entry) => {
2868 if (true) {
2869 if (entry.suffix) {
2870 warnUniqueIdWithTwoHyphens("watch", entry.suffix);
2871 }
2872 }
2873 useWatch(() => {
2874 let start;
2875 if (true) {
2876 if (true) {
2877 start = performance.now();
2878 }
2879 }
2880 let result = evaluate(entry);
2881 if (typeof result === "function") {
2882 result = result();
2883 }
2884 if (true) {
2885 if (true) {
2886 performance.measure(
2887 `interactivity api watch ${entry.namespace}`,
2888 {
2889 start,
2890 end: performance.now(),
2891 detail: {
2892 devtools: {
2893 track: `IA: watch ${entry.namespace}`
2894 }
2895 }
2896 }
2897 );
2898 }
2899 }
2900 return result;
2901 });
2902 });
2903 });
2904
2905 // packages/interactivity/build-module/hydration.mjs
2906 init_preact_module();
2907
2908 // packages/interactivity/build-module/vdom.mjs
2909 init_preact_module();
2910 var directivePrefix = `data-wp-`;
2911 var namespaces = [];
2912 var currentNamespace = () => namespaces[namespaces.length - 1] ?? null;
2913 var isObject = (item) => Boolean(item && typeof item === "object" && item.constructor === Object);
2914 var invalidCharsRegex = /[^a-z0-9-_]/i;
2915 function parseDirectiveName(directiveName) {
2916 const name = directiveName.substring(8);
2917 if (invalidCharsRegex.test(name)) {
2918 return null;
2919 }
2920 const suffixIndex = name.indexOf("--");
2921 if (suffixIndex === -1) {
2922 return { prefix: name, suffix: null, uniqueId: null };
2923 }
2924 const prefix = name.substring(0, suffixIndex);
2925 const remaining = name.substring(suffixIndex);
2926 if (remaining.startsWith("---") && remaining[3] !== "-") {
2927 return {
2928 prefix,
2929 suffix: null,
2930 uniqueId: remaining.substring(3) || null
2931 };
2932 }
2933 let suffix = remaining.substring(2);
2934 const uniqueIdIndex = suffix.indexOf("---");
2935 if (uniqueIdIndex !== -1 && suffix.substring(uniqueIdIndex)[3] !== "-") {
2936 const uniqueId = suffix.substring(uniqueIdIndex + 3) || null;
2937 suffix = suffix.substring(0, uniqueIdIndex) || null;
2938 return { prefix, suffix, uniqueId };
2939 }
2940 return { prefix, suffix: suffix || null, uniqueId: null };
2941 }
2942 var nsPathRegExp = /^([\w_\/-]+)::(.+)$/;
2943 var hydratedIslands = /* @__PURE__ */ new WeakSet();
2944 function toVdom(root) {
2945 const nodesToRemove = /* @__PURE__ */ new Set();
2946 const nodesToReplace = /* @__PURE__ */ new Set();
2947 const treeWalker = document.createTreeWalker(
2948 root,
2949 205
2950 // TEXT + CDATA_SECTION + COMMENT + PROCESSING_INSTRUCTION + ELEMENT
2951 );
2952 function walk(node) {
2953 const { nodeType } = node;
2954 if (nodeType === 3) {
2955 return node.data;
2956 }
2957 if (nodeType === 4) {
2958 nodesToReplace.add(node);
2959 return node.nodeValue;
2960 }
2961 if (nodeType === 8 || nodeType === 7) {
2962 nodesToRemove.add(node);
2963 return null;
2964 }
2965 const elementNode = node;
2966 const { attributes } = elementNode;
2967 const localName = elementNode.localName;
2968 const props = {};
2969 const children = [];
2970 const directives = [];
2971 let ignore = false;
2972 let island = false;
2973 for (let i6 = 0; i6 < attributes.length; i6++) {
2974 const attributeName = attributes[i6].name;
2975 const attributeValue = attributes[i6].value;
2976 if (attributeName[directivePrefix.length] && attributeName.slice(0, directivePrefix.length) === directivePrefix) {
2977 if (attributeName === "data-wp-ignore") {
2978 ignore = true;
2979 } else {
2980 const regexResult = nsPathRegExp.exec(attributeValue);
2981 const namespace = regexResult?.[1] ?? null;
2982 let value = regexResult?.[2] ?? attributeValue;
2983 try {
2984 const parsedValue = JSON.parse(value);
2985 value = isObject(parsedValue) ? parsedValue : value;
2986 } catch {
2987 }
2988 if (attributeName === "data-wp-interactive") {
2989 island = true;
2990 const islandNamespace = (
2991 // eslint-disable-next-line no-nested-ternary
2992 typeof value === "string" ? value : typeof value?.namespace === "string" ? value.namespace : null
2993 );
2994 namespaces.push(islandNamespace);
2995 } else {
2996 directives.push([attributeName, namespace, value]);
2997 }
2998 }
2999 } else if (attributeName === "ref") {
3000 continue;
3001 }
3002 if (attributeValue === "" && elementNode[attributeName] === true) {
3003 props[attributeName] = true;
3004 } else {
3005 props[attributeName] = attributeValue;
3006 }
3007 }
3008 if (ignore && !island) {
3009 return [
3010 k(localName, {
3011 ...props,
3012 innerHTML: elementNode.innerHTML,
3013 __directives: { ignore: true }
3014 })
3015 ];
3016 }
3017 if (island) {
3018 hydratedIslands.add(elementNode);
3019 }
3020 if (directives.length) {
3021 props.__directives = directives.reduce((obj, [name, ns, value]) => {
3022 const directiveParsed = parseDirectiveName(name);
3023 if (directiveParsed === null) {
3024 if (true) {
3025 warn(`Found malformed directive name: ${name}.`);
3026 }
3027 return obj;
3028 }
3029 const { prefix, suffix, uniqueId } = directiveParsed;
3030 obj[prefix] = obj[prefix] || [];
3031 obj[prefix].push({
3032 namespace: ns ?? currentNamespace(),
3033 value,
3034 suffix,
3035 uniqueId
3036 });
3037 return obj;
3038 }, {});
3039 for (const prefix in props.__directives) {
3040 props.__directives[prefix].sort(
3041 (a5, b4) => {
3042 const aSuffix = a5.suffix ?? "";
3043 const bSuffix = b4.suffix ?? "";
3044 if (aSuffix !== bSuffix) {
3045 return aSuffix < bSuffix ? -1 : 1;
3046 }
3047 const aId = a5.uniqueId ?? "";
3048 const bId = b4.uniqueId ?? "";
3049 return +(aId > bId) - +(aId < bId);
3050 }
3051 );
3052 }
3053 }
3054 if (props.__directives?.["each-child"]) {
3055 props.dangerouslySetInnerHTML = {
3056 __html: elementNode.innerHTML
3057 };
3058 } else if (localName === "template") {
3059 props.content = [
3060 ...elementNode.content.childNodes
3061 ].map((childNode) => toVdom(childNode));
3062 } else {
3063 let child = treeWalker.firstChild();
3064 if (child) {
3065 while (child) {
3066 const vnode = walk(child);
3067 if (vnode) {
3068 children.push(vnode);
3069 }
3070 child = treeWalker.nextSibling();
3071 }
3072 treeWalker.parentNode();
3073 }
3074 }
3075 if (island) {
3076 namespaces.pop();
3077 }
3078 return k(localName, props, children);
3079 }
3080 const vdom = walk(treeWalker.currentNode);
3081 nodesToRemove.forEach(
3082 (node) => node.remove()
3083 );
3084 nodesToReplace.forEach(
3085 (node) => node.replaceWith(
3086 new window.Text(node.nodeValue ?? "")
3087 )
3088 );
3089 return vdom;
3090 }
3091
3092 // packages/interactivity/build-module/hydration.mjs
3093 var regionRootFragments = /* @__PURE__ */ new WeakMap();
3094 var getRegionRootFragment = (regions) => {
3095 const region = Array.isArray(regions) ? regions[0] : regions;
3096 if (!region.parentElement) {
3097 throw Error("The passed region should be an element with a parent.");
3098 }
3099 if (!regionRootFragments.has(region)) {
3100 regionRootFragments.set(
3101 region,
3102 createRootFragment(region.parentElement, regions)
3103 );
3104 }
3105 return regionRootFragments.get(region);
3106 };
3107 var initialVdom = /* @__PURE__ */ new WeakMap();
3108 var resolveInitialVdom;
3109 var initialVdomPromise = new Promise((resolve2) => {
3110 resolveInitialVdom = resolve2;
3111 });
3112 var hydrateRegions = async () => {
3113 const nodes = document.querySelectorAll(`[data-wp-interactive]`);
3114 for (const node of nodes) {
3115 if (!hydratedIslands.has(node)) {
3116 await splitTask();
3117 const fragment = getRegionRootFragment(node);
3118 const vdom = toVdom(node);
3119 initialVdom.set(node, vdom);
3120 await splitTask();
3121 U(vdom, fragment);
3122 }
3123 }
3124 resolveInitialVdom(initialVdom);
3125 };
3126
3127 // packages/interactivity/build-module/index.mjs
3128 if (true) {
3129 await Promise.resolve().then(() => (init_debug_module(), debug_module_exports));
3130 }
3131 var watch = E2;
3132 var requiredConsent = "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.";
3133 var privateApis = (lock) => {
3134 if (lock === requiredConsent) {
3135 return {
3136 getRegionRootFragment,
3137 initialVdomPromise,
3138 toVdom,
3139 directive,
3140 getNamespace,
3141 h: k,
3142 cloneElement: W,
3143 render: R,
3144 proxifyState,
3145 parseServerData,
3146 populateServerData,
3147 batch: r3,
3148 routerRegions,
3149 deepReadOnly,
3150 navigationSignal,
3151 sessionId,
3152 warn
3153 };
3154 }
3155 throw new Error("Forbidden access.");
3156 };
3157 populateServerData(parseServerData());
3158 onDOMReady(hydrateRegions);
3159 window.history.replaceState(
3160 { ...window.history.state, wpInteractivityId: sessionId },
3161 ""
3162 );
3163 window.addEventListener("popstate", (event) => {
3164 if (event.state !== null && event.state?.wpInteractivityId !== sessionId) {
3165 window.location.reload();
3166 }
3167 });
3168 export {
3169 getConfig,
3170 getContext,
3171 getElement,
3172 getServerContext,
3173 getServerState,
3174 privateApis,
3175 splitTask,
3176 store,
3177 useCallback,
3178 useEffect,
3179 useInit,
3180 useLayoutEffect,
3181 useMemo,
3182 A2 as useRef,
3183 d2 as useState,
3184 useWatch,
3185 watch,
3186 withScope,
3187 withSyncEvent
3188 };
3189 //# sourceMappingURL=index.js.map
3190