[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> interactivity.js (source)

   1  /******/ // The require scope
   2  /******/ var __webpack_require__ = {};
   3  /******/ 
   4  /************************************************************************/
   5  /******/ /* webpack/runtime/define property getters */
   6  /******/ (() => {
   7  /******/     // define getter functions for harmony exports
   8  /******/     __webpack_require__.d = (exports, definition) => {
   9  /******/         for(var key in definition) {
  10  /******/             if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  11  /******/                 Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  12  /******/             }
  13  /******/         }
  14  /******/     };
  15  /******/ })();
  16  /******/ 
  17  /******/ /* webpack/runtime/hasOwnProperty shorthand */
  18  /******/ (() => {
  19  /******/     __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  20  /******/ })();
  21  /******/ 
  22  /************************************************************************/
  23  var __webpack_exports__ = {};
  24  
  25  // EXPORTS
  26  __webpack_require__.d(__webpack_exports__, {
  27    zj: () => (/* reexport */ getConfig),
  28    SD: () => (/* reexport */ getContext),
  29    V6: () => (/* reexport */ getElement),
  30    $K: () => (/* reexport */ getServerContext),
  31    vT: () => (/* reexport */ getServerState),
  32    jb: () => (/* reexport */ privateApis),
  33    yT: () => (/* reexport */ splitTask),
  34    M_: () => (/* reexport */ store),
  35    hb: () => (/* reexport */ useCallback),
  36    vJ: () => (/* reexport */ useEffect),
  37    ip: () => (/* reexport */ useInit),
  38    Nf: () => (/* reexport */ useLayoutEffect),
  39    Kr: () => (/* reexport */ useMemo),
  40    li: () => (/* reexport */ hooks_module_A),
  41    J0: () => (/* reexport */ hooks_module_h),
  42    FH: () => (/* reexport */ useWatch),
  43    v4: () => (/* reexport */ withScope)
  44  });
  45  
  46  ;// CONCATENATED MODULE: ./node_modules/preact/dist/preact.module.js
  47  var preact_module_n,preact_module_l,preact_module_u,preact_module_t,i,preact_module_o,r,preact_module_f,e,preact_module_c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?preact_module_n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++preact_module_u:r,__i:-1,__u:0};return null==r&&null!=preact_module_l.vnode&&preact_module_l.vnode(f),f}function m(){return{current:null}}function b(n){return n.children}function k(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return"function"==typeof n.type?x(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!P.__r++||preact_module_o!==preact_module_l.debounceRendering)&&((preact_module_o=preact_module_l.debounceRendering)||r)(P)}function P(){var n,u,t,o,r,e,c,s;for(i.sort(preact_module_f);n=i.shift();)n.__d&&(u=i.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,preact_module_l.vnode&&preact_module_l.vnode(o),O(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j(c,o,s),o.__e!=e&&C(o)),i.length>u&&i.sort(preact_module_f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,w,_=t&&t.__k||v,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&(p=-1===y.__i?h:_[y.__i]||h,y.__i=a,O(n,y,p,i,o,r,f,e,c,s),d=y.__e,y.ref&&p.ref!=y.ref&&(p.ref&&N(p.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||p.__k===y.__k?e=I(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w}function $(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)null!=(i=l[t])&&"boolean"!=typeof i&&"function"!=typeof i?(r=t+a,(i=n.__k[t]="string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g(null,i,null,null,null):y(i)?g(b,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=n,i.__b=n.__b+1,o=null,-1!==(f=i.__i=L(i,u,r,s))&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:(f>r?a--:a++,i.__u|=65536))):i=n.__k[t]=null;if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V(o,o))}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8===l.nodeType);return l}function H(n,l){return l=l||[],null==n||"boolean"==typeof n||(y(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++}}return-1}function T(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||p.test(l)?u:u+"px"}function A(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T(n.style,l,u[l])}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e,n.addEventListener(l,o?s:preact_module_c,o)):n.removeEventListener(l,o?s:preact_module_c,o);else{if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e++;else if(u.t<t.u)return;return t(preact_module_l.event?preact_module_l.event(u):u)}}}function O(n,u,t,i,o,r,f,e,c,s){var a,h,v,p,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=preact_module_l.__b)&&a(u);n:if("function"==typeof T)try{if(m=u.props,x="prototype"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new k(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,v=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),p=h.props,w=h.state,h.__v=u,v)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&m!==p&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(p,w,_)})}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=preact_module_l.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!v&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(p,w)),S(n,y(L=null!=a&&a.type===b&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e}else u.__e=t.__e,u.__k=t.__k;preact_module_l.__e(n,u,t)}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z(t.__e,u,t,i,o,r,f,c,s);(a=preact_module_l.diffed)&&a(u)}function j(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);preact_module_l.__c&&preact_module_l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){preact_module_l.__e(n,u.__v)}})}function z(u,t,i,o,r,f,e,c,s){var a,v,p,d,_,g,m,b=i.props,k=t.props,C=t.type;if("svg"===C?r="http://www.w3.org/2000/svg":"math"===C?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),null!=f)for(a=0;a<f.length;a++)if((_=f[a])&&"setAttribute"in _==!!C&&(C?_.localName===C:3===_.nodeType)){u=_,f[a]=null;break}if(null==u){if(null===C)return document.createTextNode(k);u=document.createElementNS(r,C,k.is&&k),c&&(preact_module_l.__m&&preact_module_l.__m(t,f),c=!1),f=null}if(null===C)b===k||c&&u.data===k||(u.data=k);else{if(f=f&&preact_module_n.call(u.childNodes),b=i.props||h,!c&&null!=f)for(b={},a=0;a<u.attributes.length;a++)b[(_=u.attributes[a]).name]=_.value;for(a in b)if(_=b[a],"children"==a);else if("dangerouslySetInnerHTML"==a)p=_;else if(!(a in k)){if("value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k)continue;A(u,a,null,_,r)}for(a in k)_=k[a],"children"==a?d=_:"dangerouslySetInnerHTML"==a?v=_:"value"==a?g=_:"checked"==a?m=_:c&&"function"!=typeof _||b[a]===_||A(u,a,_,b[a],r);if(v)c||p&&(v.__html===p.__html||v.__html===u.innerHTML)||(u.innerHTML=v.__html),t.__k=[];else if(p&&(u.innerHTML=""),S(u,y(d)?d:[d],t,i,o,"foreignObject"===C?"http://www.w3.org/1999/xhtml":r,f,e,f?f[0]:i.__k&&x(i,0),c,s),null!=f)for(a=f.length;a--;)w(f[a]);c||(a="value","progress"===C&&null==g?u.removeAttribute("value"):void 0!==g&&(g!==u[a]||"progress"===C&&!g||"option"===C&&g!==b[a])&&A(u,a,g,b[a],r),a="checked",void 0!==m&&m!==u[a]&&A(u,a,m,b[a],r))}return u}function N(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){preact_module_l.__e(n,t)}}function V(n,u,t){var i,o;if(preact_module_l.unmount&&preact_module_l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){preact_module_l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V(i[o],u,t||"function"!=typeof n.type);t||w(n.__e),n.__c=n.__=n.__e=n.__d=void 0}function q(n,l,u){return this.constructor(n,u)}function B(u,t,i){var o,r,f,e;preact_module_l.__&&preact_module_l.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O(t,u=(!o&&i||t).__k=_(b,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?preact_module_n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j(f,u,e)}function D(n,l){B(n,l,D)}function E(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?preact_module_n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l="__cC"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}preact_module_n=v.slice,preact_module_l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},preact_module_u=0,preact_module_t=function(n){return null!=n&&null==n.constructor},k.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},k.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},k.prototype.render=b,i=[],r="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,preact_module_f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,preact_module_c=F(!1),s=F(!0),a=0;
  48  
  49  ;// CONCATENATED MODULE: ./node_modules/preact/devtools/dist/devtools.module.js
  50  var devtools_module_i;function devtools_module_t(o,e){return n.__a&&n.__a(e),o}null!=(devtools_module_i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0)&&devtools_module_i.__PREACT_DEVTOOLS__&&devtools_module_i.__PREACT_DEVTOOLS__.attachPreact("10.24.0",preact_module_l,{Fragment:b,Component:k});
  51  
  52  ;// CONCATENATED MODULE: ./node_modules/preact/debug/dist/debug.module.js
  53  var debug_module_o={};function debug_module_r(){debug_module_o={}}function debug_module_a(e){return e.type===b?"Fragment":"function"==typeof e.type?e.type.displayName||e.type.name:"string"==typeof e.type?e.type:"#text"}var debug_module_i=[],debug_module_s=[];function debug_module_c(){return debug_module_i.length>0?debug_module_i[debug_module_i.length-1]:null}var l=!0;function debug_module_u(e){return"function"==typeof e.type&&e.type!=b}function debug_module_f(n){for(var e=[n],t=n;null!=t.__o;)e.push(t.__o),t=t.__o;return e.reduce(function(n,e){n+="  in "+debug_module_a(e);var t=e.__source;return t?n+=" (at "+t.fileName+":"+t.lineNumber+")":l&&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."),l=!1,n+"\n"},"")}var debug_module_d="function"==typeof WeakMap;function debug_module_p(n){var e=[];return n.__k?(n.__k.forEach(function(n){n&&"function"==typeof n.type?e.push.apply(e,debug_module_p(n)):n&&"string"==typeof n.type&&e.push(n.type)}),e):e}function debug_module_h(n){return n?"function"==typeof n.type?null==n.__?null!=n.__e&&null!=n.__e.parentNode?n.__e.parentNode.localName:"":debug_module_h(n.__):n.type:""}var debug_module_v=k.prototype.setState;function debug_module_y(n){return"table"===n||"tfoot"===n||"tbody"===n||"thead"===n||"td"===n||"tr"===n||"th"===n}k.prototype.setState=function(n,e){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'+debug_module_f(debug_module_c())),debug_module_v.call(this,n,e)};var debug_module_m=/^(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)$/,debug_module_b=k.prototype.forceUpdate;function debug_module_w(n){var e=n.props,t=debug_module_a(n),o="";for(var r in e)if(e.hasOwnProperty(r)&&"children"!==r){var i=e[r];"function"==typeof i&&(i="function "+(i.displayName||i.name)+"() {}"),i=Object(i)!==i||i.toString?i+"":Object.prototype.toString.call(i),o+=" "+r+"="+JSON.stringify(i)}var s=e.children;return"<"+t+o+(s&&s.length?">..</"+t+">":" />")}k.prototype.forceUpdate=function(n){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'+debug_module_f(debug_module_c())):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.\n\n'+debug_module_f(this.__v)),debug_module_b.call(this,n)},preact_module_l.__m=function(n,e){var t=n.type,o=e.map(function(n){return n.localName});console.error("Expected a DOM node of type "+t+" but found "+o.join(", ")+"as available DOM-node(s), this is caused by the SSR'd HTML containing different DOM-nodes compared to the hydrated one.\n\n"+debug_module_f(n))},function(){!function(){var n=preact_module_l.__b,t=preact_module_l.diffed,o=preact_module_l.__,r=preact_module_l.vnode,a=preact_module_l.__r;preact_module_l.diffed=function(n){debug_module_u(n)&&debug_module_s.pop(),debug_module_i.pop(),t&&t(n)},preact_module_l.__b=function(e){debug_module_u(e)&&debug_module_i.push(e),n&&n(e)},preact_module_l.__=function(n,e){debug_module_s=[],o&&o(n,e)},preact_module_l.vnode=function(n){n.__o=debug_module_s.length>0?debug_module_s[debug_module_s.length-1]:null,r&&r(n)},preact_module_l.__r=function(n){debug_module_u(n)&&debug_module_s.push(n),a&&a(n)}}();var n=!1,t=preact_module_l.__b,r=preact_module_l.diffed,c=preact_module_l.vnode,l=preact_module_l.__r,v=preact_module_l.__e,b=preact_module_l.__,g=preact_module_l.__h,E=debug_module_d?{useEffect:new WeakMap,useLayoutEffect:new WeakMap,lazyPropTypes:new WeakMap}:null,k=[];preact_module_l.__e=function(n,e,t,o){if(e&&e.__c&&"function"==typeof n.then){var r=n;n=new Error("Missing Suspense. The throwing component was: "+debug_module_a(e));for(var i=e;i;i=i.__)if(i.__c&&i.__c.__c){n=r;break}if(n instanceof Error)throw n}try{(o=o||{}).componentStack=debug_module_f(e),v(n,e,t,o),"function"!=typeof n.then&&setTimeout(function(){throw n})}catch(n){throw n}},preact_module_l.__=function(n,e){if(!e)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.");var t;switch(e.nodeType){case 1:case 11:case 9:t=!0;break;default:t=!1}if(!t){var o=debug_module_a(n);throw new Error("Expected a valid HTML node as a second argument to render.\tReceived "+e+" instead: render(<"+o+" />, "+e+");")}b&&b(n,e)},preact_module_l.__b=function(e){var r=e.type;if(n=!0,void 0===r)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"+debug_module_w(e)+"\n\n"+debug_module_f(e));if(null!=r&&"object"==typeof r){if(void 0!==r.__k&&void 0!==r.__e)throw new Error("Invalid type passed to createElement(): "+r+"\n\nDid you accidentally pass a JSX literal as JSX twice?\n\n  let My"+debug_module_a(e)+" = "+debug_module_w(r)+";\n  let vnode = <My"+debug_module_a(e)+" />;\n\nThis usually happens when you export a JSX literal and not the component.\n\n"+debug_module_f(e));throw new Error("Invalid type passed to createElement(): "+(Array.isArray(r)?"array":r))}if(void 0!==e.ref&&"function"!=typeof e.ref&&"object"!=typeof e.ref&&!("$$typeof"in e))throw new Error('Component\'s "ref" property should be a function, or an object created by createRef(), but got ['+typeof e.ref+"] instead\n"+debug_module_w(e)+"\n\n"+debug_module_f(e));if("string"==typeof e.type)for(var i in e.props)if("o"===i[0]&&"n"===i[1]&&"function"!=typeof e.props[i]&&null!=e.props[i])throw new Error("Component's \""+i+'" property should be a function, but got ['+typeof e.props[i]+"] instead\n"+debug_module_w(e)+"\n\n"+debug_module_f(e));if("function"==typeof e.type&&e.type.propTypes){if("Lazy"===e.type.displayName&&E&&!E.lazyPropTypes.has(e.type)){var s="PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ";try{var c=e.type();E.lazyPropTypes.set(e.type,!0),console.warn(s+"Component wrapped in lazy() is "+debug_module_a(c))}catch(n){console.warn(s+"We will log the wrapped component's name once it is loaded.")}}var l=e.props;e.type.__f&&delete(l=function(n,e){for(var t in e)n[t]=e[t];return n}({},l)).ref,function(n,e,t,r,a){Object.keys(n).forEach(function(t){var i;try{i=n[t](e,t,r,"prop",null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(n){i=n}i&&!(i.message in debug_module_o)&&(debug_module_o[i.message]=!0,console.error("Failed prop type: "+i.message+(a&&"\n"+a()||"")))})}(e.type.propTypes,l,0,debug_module_a(e),function(){return debug_module_f(e)})}t&&t(e)};var T,_=0;preact_module_l.__r=function(e){l&&l(e),n=!0;var t=e.__c;if(t===T?_++:_=1,_>=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: "+debug_module_a(e));T=t},preact_module_l.__h=function(e,t,o){if(!e||!n)throw new Error("Hook can only be invoked from render methods.");g&&g(e,t,o)};var O=function(n,e){return{get:function(){var t="get"+n+e;k&&k.indexOf(t)<0&&(k.push(t),console.warn("getting vnode."+n+" is deprecated, "+e))},set:function(){var t="set"+n+e;k&&k.indexOf(t)<0&&(k.push(t),console.warn("setting vnode."+n+" is not allowed, "+e))}}},I={nodeName:O("nodeName","use vnode.type"),attributes:O("attributes","use vnode.props"),children:O("children","use vnode.props.children")},M=Object.create({},I);preact_module_l.vnode=function(n){var e=n.props;if(null!==n.type&&null!=e&&("__source"in e||"__self"in e)){var t=n.props={};for(var o in e){var r=e[o];"__source"===o?n.__source=r:"__self"===o?n.__self=r:t[o]=r}}n.__proto__=M,c&&c(n)},preact_module_l.diffed=function(e){var t,o=e.type,i=e.__;if(e.__k&&e.__k.forEach(function(n){if("object"==typeof n&&n&&void 0===n.type){var t=Object.keys(n).join(",");throw new Error("Objects are not valid as a child. Encountered an object with the keys {"+t+"}.\n\n"+debug_module_f(e))}}),e.__c===T&&(_=0),"string"==typeof o&&(debug_module_y(o)||"p"===o||"a"===o||"button"===o)){var s=debug_module_h(i);if(""!==s&&debug_module_y(o))"table"===o&&"td"!==s&&debug_module_y(s)?(console.log(s,i.__e),console.error("Improper nesting of table. Your <table> should not have a table-node parent."+debug_module_w(e)+"\n\n"+debug_module_f(e))):"thead"!==o&&"tfoot"!==o&&"tbody"!==o||"table"===s?"tr"===o&&"thead"!==s&&"tfoot"!==s&&"tbody"!==s?console.error("Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot> parent."+debug_module_w(e)+"\n\n"+debug_module_f(e)):"td"===o&&"tr"!==s?console.error("Improper nesting of table. Your <td> should have a <tr> parent."+debug_module_w(e)+"\n\n"+debug_module_f(e)):"th"===o&&"tr"!==s&&console.error("Improper nesting of table. Your <th> should have a <tr>."+debug_module_w(e)+"\n\n"+debug_module_f(e)):console.error("Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent."+debug_module_w(e)+"\n\n"+debug_module_f(e));else if("p"===o){var c=debug_module_p(e).filter(function(n){return debug_module_m.test(n)});c.length&&console.error("Improper nesting of paragraph. Your <p> should not have "+c.join(", ")+"as child-elements."+debug_module_w(e)+"\n\n"+debug_module_f(e))}else"a"!==o&&"button"!==o||-1!==debug_module_p(e).indexOf(o)&&console.error("Improper nesting of interactive content. Your <"+o+"> should not have other "+("a"===o?"anchor":"button")+" tags as child-elements."+debug_module_w(e)+"\n\n"+debug_module_f(e))}if(n=!1,r&&r(e),null!=e.__k)for(var l=[],u=0;u<e.__k.length;u++){var d=e.__k[u];if(d&&null!=d.key){var v=d.key;if(-1!==l.indexOf(v)){console.error('Following component has two or more children with the same key attribute: "'+v+'". This may cause glitches and misbehavior in rendering process. Component: \n\n'+debug_module_w(e)+"\n\n"+debug_module_f(e));break}l.push(v)}}if(null!=e.__c&&null!=e.__c.__H){var b=e.__c.__H.__;if(b)for(var g=0;g<b.length;g+=1){var E=b[g];if(E.__H)for(var k=0;k<E.__H.length;k++)if((t=E.__H[k])!=t){var O=debug_module_a(e);throw new Error("Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index "+g+" in component "+O+" was called with NaN.")}}}}}();
  54  
  55  ;// CONCATENATED MODULE: ./node_modules/preact/hooks/dist/hooks.module.js
  56  var hooks_module_t,hooks_module_r,hooks_module_u,hooks_module_i,hooks_module_o=0,hooks_module_f=[],hooks_module_c=preact_module_l,hooks_module_e=hooks_module_c.__b,hooks_module_a=hooks_module_c.__r,hooks_module_v=hooks_module_c.diffed,hooks_module_l=hooks_module_c.__c,hooks_module_m=hooks_module_c.unmount,hooks_module_s=hooks_module_c.__;function hooks_module_d(n,t){hooks_module_c.__h&&hooks_module_c.__h(hooks_module_r,n,hooks_module_o||t),hooks_module_o=0;var u=hooks_module_r.__H||(hooks_module_r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function hooks_module_h(n){return hooks_module_o=1,hooks_module_p(hooks_module_D,n)}function hooks_module_p(n,u,i){var o=hooks_module_d(hooks_module_t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):hooks_module_D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=hooks_module_r,!hooks_module_r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};hooks_module_r.u=!0;var c=hooks_module_r.shouldComponentUpdate,e=hooks_module_r.componentWillUpdate;hooks_module_r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},hooks_module_r.shouldComponentUpdate=f}return o.__N||o.__}function hooks_module_y(n,u){var i=hooks_module_d(hooks_module_t++,3);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.i=u,hooks_module_r.__H.__h.push(i))}function hooks_module_(n,u){var i=hooks_module_d(hooks_module_t++,4);!hooks_module_c.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.i=u,hooks_module_r.__h.push(i))}function hooks_module_A(n){return hooks_module_o=5,hooks_module_T(function(){return{current:n}},[])}function hooks_module_F(n,t,r){hooks_module_o=6,hooks_module_(function(){return"function"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function hooks_module_T(n,r){var u=hooks_module_d(hooks_module_t++,7);return hooks_module_C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function hooks_module_q(n,t){return hooks_module_o=8,hooks_module_T(function(){return n},t)}function hooks_module_x(n){var u=hooks_module_r.context[n.__c],i=hooks_module_d(hooks_module_t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(hooks_module_r)),u.props.value):n.__}function hooks_module_P(n,t){hooks_module_c.useDebugValue&&hooks_module_c.useDebugValue(t?t(n):n)}function hooks_module_b(n){var u=hooks_module_d(hooks_module_t++,10),i=hooks_module_h();return u.__=n,hooks_module_r.componentDidCatch||(hooks_module_r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function hooks_module_g(){var n=hooks_module_d(hooks_module_t++,11);if(!n.__){for(var u=hooks_module_r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__="P"+i[0]+"-"+i[1]++}return n.__}function hooks_module_j(){for(var n;n=hooks_module_f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(hooks_module_z),n.__H.__h.forEach(hooks_module_B),n.__H.__h=[]}catch(t){n.__H.__h=[],hooks_module_c.__e(t,n.__v)}}hooks_module_c.__b=function(n){hooks_module_r=null,hooks_module_e&&hooks_module_e(n)},hooks_module_c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),hooks_module_s&&hooks_module_s(n,t)},hooks_module_c.__r=function(n){hooks_module_a&&hooks_module_a(n),hooks_module_t=0;var i=(hooks_module_r=n.__c).__H;i&&(hooks_module_u===hooks_module_r?(i.__h=[],hooks_module_r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(hooks_module_z),i.__h.forEach(hooks_module_B),i.__h=[],hooks_module_t=0)),hooks_module_u=hooks_module_r},hooks_module_c.diffed=function(n){hooks_module_v&&hooks_module_v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==hooks_module_f.push(t)&&hooks_module_i===hooks_module_c.requestAnimationFrame||((hooks_module_i=hooks_module_c.requestAnimationFrame)||hooks_module_w)(hooks_module_j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),hooks_module_u=hooks_module_r=null},hooks_module_c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(hooks_module_z),n.__h=n.__h.filter(function(n){return!n.__||hooks_module_B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],hooks_module_c.__e(r,n.__v)}}),hooks_module_l&&hooks_module_l(n,t)},hooks_module_c.unmount=function(n){hooks_module_m&&hooks_module_m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{hooks_module_z(n)}catch(n){t=n}}),r.__H=void 0,t&&hooks_module_c.__e(t,r.__v))};var hooks_module_k="function"==typeof requestAnimationFrame;function hooks_module_w(n){var t,r=function(){clearTimeout(u),hooks_module_k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);hooks_module_k&&(t=requestAnimationFrame(r))}function hooks_module_z(n){var t=hooks_module_r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),hooks_module_r=t}function hooks_module_B(n){var t=hooks_module_r;n.__c=n.__(),hooks_module_r=t}function hooks_module_C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function hooks_module_D(n,t){return"function"==typeof t?t(n):t}
  57  
  58  ;// CONCATENATED MODULE: ./node_modules/@preact/signals-core/dist/signals-core.module.js
  59  var signals_core_module_i=Symbol.for("preact-signals");function signals_core_module_t(){if(!(signals_core_module_s>1)){var i,t=!1;while(void 0!==signals_core_module_h){var r=signals_core_module_h;signals_core_module_h=void 0;signals_core_module_f++;while(void 0!==r){var o=r.o;r.o=void 0;r.f&=-3;if(!(8&r.f)&&signals_core_module_c(r))try{r.c()}catch(r){if(!t){i=r;t=!0}}r=o}}signals_core_module_f=0;signals_core_module_s--;if(t)throw i}else signals_core_module_s--}function signals_core_module_r(i){if(signals_core_module_s>0)return i();signals_core_module_s++;try{return i()}finally{signals_core_module_t()}}var signals_core_module_o=void 0;function signals_core_module_n(i){var t=signals_core_module_o;signals_core_module_o=void 0;try{return i()}finally{signals_core_module_o=t}}var signals_core_module_h=void 0,signals_core_module_s=0,signals_core_module_f=0,signals_core_module_v=0;function signals_core_module_e(i){if(void 0!==signals_core_module_o){var t=i.n;if(void 0===t||t.t!==signals_core_module_o){t={i:0,S:i,p:signals_core_module_o.s,n:void 0,t:signals_core_module_o,e:void 0,x:void 0,r:t};if(void 0!==signals_core_module_o.s)signals_core_module_o.s.n=t;signals_core_module_o.s=t;i.n=t;if(32&signals_core_module_o.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=signals_core_module_o.s;t.n=void 0;signals_core_module_o.s.n=t;signals_core_module_o.s=t}return t}}}function signals_core_module_u(i){this.v=i;this.i=0;this.n=void 0;this.t=void 0}signals_core_module_u.prototype.brand=signals_core_module_i;signals_core_module_u.prototype.h=function(){return!0};signals_core_module_u.prototype.S=function(i){if(this.t!==i&&void 0===i.e){i.x=this.t;if(void 0!==this.t)this.t.e=i;this.t=i}};signals_core_module_u.prototype.U=function(i){if(void 0!==this.t){var t=i.e,r=i.x;if(void 0!==t){t.x=r;i.e=void 0}if(void 0!==r){r.e=t;i.x=void 0}if(i===this.t)this.t=r}};signals_core_module_u.prototype.subscribe=function(i){var t=this;return signals_core_module_E(function(){var r=t.value,n=signals_core_module_o;signals_core_module_o=void 0;try{i(r)}finally{signals_core_module_o=n}})};signals_core_module_u.prototype.valueOf=function(){return this.value};signals_core_module_u.prototype.toString=function(){return this.value+""};signals_core_module_u.prototype.toJSON=function(){return this.value};signals_core_module_u.prototype.peek=function(){var i=signals_core_module_o;signals_core_module_o=void 0;try{return this.value}finally{signals_core_module_o=i}};Object.defineProperty(signals_core_module_u.prototype,"value",{get:function(){var i=signals_core_module_e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(signals_core_module_f>100)throw new Error("Cycle detected");this.v=i;this.i++;signals_core_module_v++;signals_core_module_s++;try{for(var r=this.t;void 0!==r;r=r.x)r.t.N()}finally{signals_core_module_t()}}}});function signals_core_module_d(i){return new signals_core_module_u(i)}function signals_core_module_c(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function signals_core_module_a(i){for(var t=i.s;void 0!==t;t=t.n){var r=t.S.n;if(void 0!==r)t.r=r;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function signals_core_module_l(i){var t=i.s,r=void 0;while(void 0!==t){var o=t.p;if(-1===t.i){t.S.U(t);if(void 0!==o)o.n=t.n;if(void 0!==t.n)t.n.p=o}else r=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=o}i.s=r}function signals_core_module_y(i){signals_core_module_u.call(this,void 0);this.x=i;this.s=void 0;this.g=signals_core_module_v-1;this.f=4}(signals_core_module_y.prototype=new signals_core_module_u).h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===signals_core_module_v)return!0;this.g=signals_core_module_v;this.f|=1;if(this.i>0&&!signals_core_module_c(this)){this.f&=-2;return!0}var i=signals_core_module_o;try{signals_core_module_a(this);signals_core_module_o=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}signals_core_module_o=i;signals_core_module_l(this);this.f&=-2;return!0};signals_core_module_y.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}signals_core_module_u.prototype.S.call(this,i)};signals_core_module_y.prototype.U=function(i){if(void 0!==this.t){signals_core_module_u.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};signals_core_module_y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(signals_core_module_y.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var i=signals_core_module_e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function signals_core_module_w(i){return new signals_core_module_y(i)}function signals_core_module_(i){var r=i.u;i.u=void 0;if("function"==typeof r){signals_core_module_s++;var n=signals_core_module_o;signals_core_module_o=void 0;try{r()}catch(t){i.f&=-2;i.f|=8;signals_core_module_g(i);throw t}finally{signals_core_module_o=n;signals_core_module_t()}}}function signals_core_module_g(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;signals_core_module_(i)}function signals_core_module_p(i){if(signals_core_module_o!==this)throw new Error("Out-of-order effect");signals_core_module_l(this);signals_core_module_o=i;this.f&=-2;if(8&this.f)signals_core_module_g(this);signals_core_module_t()}function signals_core_module_b(i){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32}signals_core_module_b.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if("function"==typeof t)this.u=t}finally{i()}};signals_core_module_b.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1;this.f&=-9;signals_core_module_(this);signals_core_module_a(this);signals_core_module_s++;var i=signals_core_module_o;signals_core_module_o=this;return signals_core_module_p.bind(this,i)};signals_core_module_b.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=signals_core_module_h;signals_core_module_h=this}};signals_core_module_b.prototype.d=function(){this.f|=8;if(!(1&this.f))signals_core_module_g(this)};function signals_core_module_E(i){var t=new signals_core_module_b(i);try{t.c()}catch(i){t.d();throw i}return t.d.bind(t)}
  60  ;// CONCATENATED MODULE: ./node_modules/@preact/signals/dist/signals.module.js
  61  var signals_module_v,signals_module_s;function signals_module_l(n,i){preact_module_l[n]=i.bind(null,preact_module_l[n]||function(){})}function signals_module_d(n){if(signals_module_s)signals_module_s();signals_module_s=n&&n.S()}function signals_module_p(n){var r=this,f=n.data,o=useSignal(f);o.value=f;var e=hooks_module_T(function(){var n=r.__v;while(n=n.__)if(n.__c){n.__c.__$f|=4;break}r.__$u.c=function(){var n;if(!preact_module_t(e.peek())&&3===(null==(n=r.base)?void 0:n.nodeType))r.base.data=e.peek();else{r.__$f|=1;r.setState({})}};return signals_core_module_w(function(){var n=o.value.value;return 0===n?0:!0===n?"":n||""})},[]);return e.value}signals_module_p.displayName="_st";Object.defineProperties(signals_core_module_u.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:signals_module_p},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});signals_module_l("__b",function(n,r){if("string"==typeof r.type){var i,t=r.props;for(var f in t)if("children"!==f){var o=t[f];if(o instanceof signals_core_module_u){if(!i)r.__np=i={};i[f]=o;t[f]=o.peek()}}}n(r)});signals_module_l("__r",function(n,r){signals_module_d();var i,t=r.__c;if(t){t.__$f&=-2;if(void 0===(i=t.__$u))t.__$u=i=function(n){var r;signals_core_module_E(function(){r=this});r.c=function(){t.__$f|=1;t.setState({})};return r}()}signals_module_v=t;signals_module_d(i);n(r)});signals_module_l("__e",function(n,r,i,t){signals_module_d();signals_module_v=void 0;n(r,i,t)});signals_module_l("diffed",function(n,r){signals_module_d();signals_module_v=void 0;var i;if("string"==typeof r.type&&(i=r.__e)){var t=r.__np,f=r.props;if(t){var o=i.U;if(o)for(var e in o){var u=o[e];if(void 0!==u&&!(e in t)){u.d();o[e]=void 0}}else i.U=o={};for(var a in t){var c=o[a],s=t[a];if(void 0===c){c=signals_module_(i,a,s,f);o[a]=c}else c.o(s,f)}}}n(r)});function signals_module_(n,r,i,t){var f=r in n&&void 0===n.ownerSVGElement,o=signals_core_module_d(i);return{o:function(n,r){o.value=n;t=r},d:signals_core_module_E(function(){var i=o.value.value;if(t[r]!==i){t[r]=i;if(f)n[r]=i;else if(i)n.setAttribute(r,i);else n.removeAttribute(r)}})}}signals_module_l("unmount",function(n,r){if("string"==typeof r.type){var i=r.__e;if(i){var t=i.U;if(t){i.U=void 0;for(var f in t){var o=t[f];if(o)o.d()}}}}else{var e=r.__c;if(e){var u=e.__$u;if(u){e.__$u=void 0;u.d()}}}n(r)});signals_module_l("__h",function(n,r,i,t){if(t<3||9===t)r.__$f|=2;n(r,i,t)});k.prototype.shouldComponentUpdate=function(n,r){var i=this.__$u;if(!(i&&void 0!==i.s||4&this.__$f))return!0;if(3&this.__$f)return!0;for(var t in r)return!0;for(var f in n)if("__source"!==f&&n[f]!==this.props[f])return!0;for(var o in this.props)if(!(o in n))return!0;return!1};function useSignal(n){return hooks_module_T(function(){return signals_core_module_d(n)},[])}function useComputed(n){var r=f(n);r.current=n;signals_module_v.__$f|=4;return t(function(){return u(function(){return r.current()})},[])}function useSignalEffect(n){var r=f(n);r.current=n;o(function(){return c(function(){return r.current()})},[])}
  62  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/namespaces.js
  63  const namespaceStack = [];
  64  const getNamespace = () => namespaceStack.slice(-1)[0];
  65  const setNamespace = namespace => {
  66    namespaceStack.push(namespace);
  67  };
  68  const resetNamespace = () => {
  69    namespaceStack.pop();
  70  };
  71  
  72  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/scopes.js
  73  /**
  74   * External dependencies
  75   */
  76  
  77  /**
  78   * Internal dependencies
  79   */
  80  
  81  // Store stacks for the current scope and the default namespaces and export APIs
  82  // to interact with them.
  83  const scopeStack = [];
  84  const getScope = () => scopeStack.slice(-1)[0];
  85  const setScope = scope => {
  86    scopeStack.push(scope);
  87  };
  88  const resetScope = () => {
  89    scopeStack.pop();
  90  };
  91  
  92  // Wrap the element props to prevent modifications.
  93  const immutableMap = new WeakMap();
  94  const immutableError = () => {
  95    throw new Error('Please use `data-wp-bind` to modify the attributes of an element.');
  96  };
  97  const immutableHandlers = {
  98    get(target, key, receiver) {
  99      const value = Reflect.get(target, key, receiver);
 100      return !!value && typeof value === 'object' ? deepImmutable(value) : value;
 101    },
 102    set: immutableError,
 103    deleteProperty: immutableError
 104  };
 105  const deepImmutable = target => {
 106    if (!immutableMap.has(target)) {
 107      immutableMap.set(target, new Proxy(target, immutableHandlers));
 108    }
 109    return immutableMap.get(target);
 110  };
 111  
 112  /**
 113   * Retrieves the context inherited by the element evaluating a function from the
 114   * store. The returned value depends on the element and the namespace where the
 115   * function calling `getContext()` exists.
 116   *
 117   * @param namespace Store namespace. By default, the namespace where the calling
 118   *                  function exists is used.
 119   * @return The context content.
 120   */
 121  const getContext = namespace => {
 122    const scope = getScope();
 123    if (true) {
 124      if (!scope) {
 125        throw Error('Cannot call `getContext()` 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)`.');
 126      }
 127    }
 128    return scope.context[namespace || getNamespace()];
 129  };
 130  
 131  /**
 132   * Retrieves a representation of the element where a function from the store
 133   * is being evalutated. Such representation is read-only, and contains a
 134   * reference to the DOM element, its props and a local reactive state.
 135   *
 136   * @return Element representation.
 137   */
 138  const getElement = () => {
 139    const scope = getScope();
 140    if (true) {
 141      if (!scope) {
 142        throw Error('Cannot call `getElement()` 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)`.');
 143      }
 144    }
 145    const {
 146      ref,
 147      attributes
 148    } = scope;
 149    return Object.freeze({
 150      ref: ref.current,
 151      attributes: deepImmutable(attributes)
 152    });
 153  };
 154  
 155  /**
 156   * Retrieves the part of the inherited context defined and updated from the
 157   * server.
 158   *
 159   * The object returned is read-only, and includes the context defined in PHP
 160   * with `wp_interactivity_data_wp_context()`, including the corresponding
 161   * inherited properties. When `actions.navigate()` is called, this object is
 162   * updated to reflect the changes in the new visited page, without affecting the
 163   * context returned by `getContext()`. Directives can subscribe to those changes
 164   * to update the context if needed.
 165   *
 166   * @example
 167   * ```js
 168   *  store('...', {
 169   *    callbacks: {
 170   *      updateServerContext() {
 171   *        const context = getContext();
 172   *        const serverContext = getServerContext();
 173   *        // Override some property with the new value that came from the server.
 174   *        context.overridableProp = serverContext.overridableProp;
 175   *      },
 176   *    },
 177   *  });
 178   * ```
 179   *
 180   * @param namespace Store namespace. By default, the namespace where the calling
 181   *                  function exists is used.
 182   * @return The server context content.
 183   */
 184  const getServerContext = namespace => {
 185    const scope = getScope();
 186    if (true) {
 187      if (!scope) {
 188        throw Error('Cannot call `getServerContext()` 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)`.');
 189      }
 190    }
 191    return scope.serverContext[namespace || getNamespace()];
 192  };
 193  
 194  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/utils.js
 195  /**
 196   * External dependencies
 197   */
 198  
 199  
 200  
 201  /**
 202   * Internal dependencies
 203   */
 204  
 205  
 206  /**
 207   * Executes a callback function after the next frame is rendered.
 208   *
 209   * @param callback The callback function to be executed.
 210   * @return A promise that resolves after the callback function is executed.
 211   */
 212  const afterNextFrame = callback => {
 213    return new Promise(resolve => {
 214      const done = () => {
 215        clearTimeout(timeout);
 216        window.cancelAnimationFrame(raf);
 217        setTimeout(() => {
 218          callback();
 219          resolve();
 220        });
 221      };
 222      const timeout = setTimeout(done, 100);
 223      const raf = window.requestAnimationFrame(done);
 224    });
 225  };
 226  
 227  /**
 228   * Returns a promise that resolves after yielding to main.
 229   *
 230   * @return Promise
 231   */
 232  const splitTask = () => {
 233    return new Promise(resolve => {
 234      // TODO: Use scheduler.yield() when available.
 235      setTimeout(resolve, 0);
 236    });
 237  };
 238  
 239  /**
 240   * Creates a Flusher object that can be used to flush computed values and notify listeners.
 241   *
 242   * Using the mangled properties:
 243   * this.c: this._callback
 244   * this.x: this._compute
 245   * https://github.com/preactjs/signals/blob/main/mangle.json
 246   *
 247   * @param compute The function that computes the value to be flushed.
 248   * @param notify  The function that notifies listeners when the value is flushed.
 249   * @return The Flusher object with `flush` and `dispose` properties.
 250   */
 251  function createFlusher(compute, notify) {
 252    let flush = () => undefined;
 253    const dispose = signals_core_module_E(function () {
 254      flush = this.c.bind(this);
 255      this.x = compute;
 256      this.c = notify;
 257      return compute();
 258    });
 259    return {
 260      flush,
 261      dispose
 262    };
 263  }
 264  
 265  /**
 266   * Custom hook that executes a callback function whenever a signal is triggered.
 267   * Version of `useSignalEffect` with a `useEffect`-like execution. This hook
 268   * implementation comes from this PR, but we added short-cirtuiting to avoid
 269   * infinite loops: https://github.com/preactjs/signals/pull/290
 270   *
 271   * @param callback The callback function to be executed.
 272   */
 273  function utils_useSignalEffect(callback) {
 274    hooks_module_y(() => {
 275      let eff = null;
 276      let isExecuting = false;
 277      const notify = async () => {
 278        if (eff && !isExecuting) {
 279          isExecuting = true;
 280          await afterNextFrame(eff.flush);
 281          isExecuting = false;
 282        }
 283      };
 284      eff = createFlusher(callback, notify);
 285      return eff.dispose;
 286    }, []);
 287  }
 288  
 289  /**
 290   * Returns the passed function wrapped with the current scope so it is
 291   * accessible whenever the function runs. This is primarily to make the scope
 292   * available inside hook callbacks.
 293   *
 294   * Asyncronous functions should use generators that yield promises instead of awaiting them.
 295   * See the documentation for details: https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#the-store
 296   *
 297   * @param func The passed function.
 298   * @return The wrapped function.
 299   */
 300  
 301  function withScope(func) {
 302    const scope = getScope();
 303    const ns = getNamespace();
 304    if (func?.constructor?.name === 'GeneratorFunction') {
 305      return async (...args) => {
 306        const gen = func(...args);
 307        let value;
 308        let it;
 309        while (true) {
 310          setNamespace(ns);
 311          setScope(scope);
 312          try {
 313            it = gen.next(value);
 314          } finally {
 315            resetScope();
 316            resetNamespace();
 317          }
 318          try {
 319            value = await it.value;
 320          } catch (e) {
 321            setNamespace(ns);
 322            setScope(scope);
 323            gen.throw(e);
 324          } finally {
 325            resetScope();
 326            resetNamespace();
 327          }
 328          if (it.done) {
 329            break;
 330          }
 331        }
 332        return value;
 333      };
 334    }
 335    return (...args) => {
 336      setNamespace(ns);
 337      setScope(scope);
 338      try {
 339        return func(...args);
 340      } finally {
 341        resetNamespace();
 342        resetScope();
 343      }
 344    };
 345  }
 346  
 347  /**
 348   * Accepts a function that contains imperative code which runs whenever any of
 349   * the accessed _reactive_ properties (e.g., values from the global state or the
 350   * context) is modified.
 351   *
 352   * This hook makes the element's scope available so functions like
 353   * `getElement()` and `getContext()` can be used inside the passed callback.
 354   *
 355   * @param callback The hook callback.
 356   */
 357  function useWatch(callback) {
 358    utils_useSignalEffect(withScope(callback));
 359  }
 360  
 361  /**
 362   * Accepts a function that contains imperative code which runs only after the
 363   * element's first render, mainly useful for intialization logic.
 364   *
 365   * This hook makes the element's scope available so functions like
 366   * `getElement()` and `getContext()` can be used inside the passed callback.
 367   *
 368   * @param callback The hook callback.
 369   */
 370  function useInit(callback) {
 371    hooks_module_y(withScope(callback), []);
 372  }
 373  
 374  /**
 375   * Accepts a function that contains imperative, possibly effectful code. The
 376   * effects run after browser paint, without blocking it.
 377   *
 378   * This hook is equivalent to Preact's `useEffect` and makes the element's scope
 379   * available so functions like `getElement()` and `getContext()` can be used
 380   * inside the passed callback.
 381   *
 382   * @param callback Imperative function that can return a cleanup
 383   *                 function.
 384   * @param inputs   If present, effect will only activate if the
 385   *                 values in the list change (using `===`).
 386   */
 387  function useEffect(callback, inputs) {
 388    hooks_module_y(withScope(callback), inputs);
 389  }
 390  
 391  /**
 392   * Accepts a function that contains imperative, possibly effectful code. Use
 393   * this to read layout from the DOM and synchronously re-render.
 394   *
 395   * This hook is equivalent to Preact's `useLayoutEffect` and makes the element's
 396   * scope available so functions like `getElement()` and `getContext()` can be
 397   * used inside the passed callback.
 398   *
 399   * @param callback Imperative function that can return a cleanup
 400   *                 function.
 401   * @param inputs   If present, effect will only activate if the
 402   *                 values in the list change (using `===`).
 403   */
 404  function useLayoutEffect(callback, inputs) {
 405    hooks_module_(withScope(callback), inputs);
 406  }
 407  
 408  /**
 409   * Returns a memoized version of the callback that only changes if one of the
 410   * inputs has changed (using `===`).
 411   *
 412   * This hook is equivalent to Preact's `useCallback` and makes the element's
 413   * scope available so functions like `getElement()` and `getContext()` can be
 414   * used inside the passed callback.
 415   *
 416   * @param callback Callback function.
 417   * @param inputs   If present, the callback will only be updated if the
 418   *                 values in the list change (using `===`).
 419   *
 420   * @return The callback function.
 421   */
 422  function useCallback(callback, inputs) {
 423    return hooks_module_q(withScope(callback), inputs);
 424  }
 425  
 426  /**
 427   * Pass a factory function and an array of inputs. `useMemo` will only recompute
 428   * the memoized value when one of the inputs has changed.
 429   *
 430   * This hook is equivalent to Preact's `useMemo` and makes the element's scope
 431   * available so functions like `getElement()` and `getContext()` can be used
 432   * inside the passed factory function.
 433   *
 434   * @param factory Factory function that returns that value for memoization.
 435   * @param inputs  If present, the factory will only be run to recompute if
 436   *                the values in the list change (using `===`).
 437   *
 438   * @return The memoized value.
 439   */
 440  function useMemo(factory, inputs) {
 441    return hooks_module_T(withScope(factory), inputs);
 442  }
 443  
 444  /**
 445   * Creates a root fragment by replacing a node or an array of nodes in a parent element.
 446   * For wrapperless hydration.
 447   * See https://gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c
 448   *
 449   * @param parent      The parent element where the nodes will be replaced.
 450   * @param replaceNode The node or array of nodes to replace in the parent element.
 451   * @return The created root fragment.
 452   */
 453  const createRootFragment = (parent, replaceNode) => {
 454    replaceNode = [].concat(replaceNode);
 455    const sibling = replaceNode[replaceNode.length - 1].nextSibling;
 456    function insert(child, root) {
 457      parent.insertBefore(child, root || sibling);
 458    }
 459    return parent.__k = {
 460      nodeType: 1,
 461      parentNode: parent,
 462      firstChild: replaceNode[0],
 463      childNodes: replaceNode,
 464      insertBefore: insert,
 465      appendChild: insert,
 466      removeChild(c) {
 467        parent.removeChild(c);
 468      }
 469    };
 470  };
 471  
 472  /**
 473   * Transforms a kebab-case string to camelCase.
 474   *
 475   * @param str The kebab-case string to transform to camelCase.
 476   * @return The transformed camelCase string.
 477   */
 478  function kebabToCamelCase(str) {
 479    return str.replace(/^-+|-+$/g, '').toLowerCase().replace(/-([a-z])/g, function (_match, group1) {
 480      return group1.toUpperCase();
 481    });
 482  }
 483  const logged = new Set();
 484  
 485  /**
 486   * Shows a warning with `message` if environment is not `production`.
 487   *
 488   * Based on the `@wordpress/warning` package.
 489   *
 490   * @param message Message to show in the warning.
 491   */
 492  const warn = message => {
 493    if (true) {
 494      if (logged.has(message)) {
 495        return;
 496      }
 497  
 498      // eslint-disable-next-line no-console
 499      console.warn(message);
 500  
 501      // Throwing an error and catching it immediately to improve debugging
 502      // A consumer can use 'pause on caught exceptions'
 503      try {
 504        throw Error(message);
 505      } catch (e) {
 506        // Do nothing.
 507      }
 508      logged.add(message);
 509    }
 510  };
 511  
 512  /**
 513   * Checks if the passed `candidate` is a plain object with just the `Object`
 514   * prototype.
 515   *
 516   * @param candidate The item to check.
 517   * @return Whether `candidate` is a plain object.
 518   */
 519  const isPlainObject = candidate => Boolean(candidate && typeof candidate === 'object' && candidate.constructor === Object);
 520  
 521  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/registry.js
 522  /**
 523   * Proxies for each object.
 524   */
 525  const objToProxy = new WeakMap();
 526  const proxyToObj = new WeakMap();
 527  
 528  /**
 529   * Namespaces for each created proxy.
 530   */
 531  const proxyToNs = new WeakMap();
 532  
 533  /**
 534   * Object types that can be proxied.
 535   */
 536  const supported = new Set([Object, Array]);
 537  
 538  /**
 539   * Returns a proxy to the passed object with the given handlers, assigning the
 540   * specified namespace to it. If a proxy for the passed object was created
 541   * before, that proxy is returned.
 542   *
 543   * @param namespace The namespace that will be associated to this proxy.
 544   * @param obj       The object to proxify.
 545   * @param handlers  Handlers that the proxy will use.
 546   *
 547   * @throws Error if the object cannot be proxified. Use {@link shouldProxy} to
 548   *         check if a proxy can be created for a specific object.
 549   *
 550   * @return The created proxy.
 551   */
 552  const createProxy = (namespace, obj, handlers) => {
 553    if (!shouldProxy(obj)) {
 554      throw Error('This object cannot be proxified.');
 555    }
 556    if (!objToProxy.has(obj)) {
 557      const proxy = new Proxy(obj, handlers);
 558      objToProxy.set(obj, proxy);
 559      proxyToObj.set(proxy, obj);
 560      proxyToNs.set(proxy, namespace);
 561    }
 562    return objToProxy.get(obj);
 563  };
 564  
 565  /**
 566   * Returns the proxy for the given object. If there is no associated proxy, the
 567   * function returns `undefined`.
 568   *
 569   * @param obj Object from which to know the proxy.
 570   * @return Associated proxy or `undefined`.
 571   */
 572  const getProxyFromObject = obj => objToProxy.get(obj);
 573  
 574  /**
 575   * Gets the namespace associated with the given proxy.
 576   *
 577   * Proxies have a namespace assigned upon creation. See {@link createProxy}.
 578   *
 579   * @param proxy Proxy.
 580   * @return Namespace.
 581   */
 582  const getNamespaceFromProxy = proxy => proxyToNs.get(proxy);
 583  
 584  /**
 585   * Checks if a given object can be proxied.
 586   *
 587   * @param candidate Object to know whether it can be proxied.
 588   * @return True if the passed instance can be proxied.
 589   */
 590  const shouldProxy = candidate => {
 591    if (typeof candidate !== 'object' || candidate === null) {
 592      return false;
 593    }
 594    return !proxyToNs.has(candidate) && supported.has(candidate.constructor);
 595  };
 596  
 597  /**
 598   * Returns the target object for the passed proxy. If the passed object is not a registered proxy, the
 599   * function returns `undefined`.
 600   *
 601   * @param proxy Proxy from which to know the target.
 602   * @return The target object or `undefined`.
 603   */
 604  const getObjectFromProxy = proxy => proxyToObj.get(proxy);
 605  
 606  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/signals.js
 607  /**
 608   * External dependencies
 609   */
 610  
 611  
 612  /**
 613   * Internal dependencies
 614   */
 615  
 616  
 617  
 618  
 619  
 620  /**
 621   * Identifier for property computeds not associated to any scope.
 622   */
 623  const NO_SCOPE = {};
 624  
 625  /**
 626   * Structure that manages reactivity for a property in a state object. It uses
 627   * signals to keep track of property value or getter modifications.
 628   */
 629  class PropSignal {
 630    /**
 631     * Proxy that holds the property this PropSignal is associated with.
 632     */
 633  
 634    /**
 635     * Relation of computeds by scope. These computeds are read-only signals
 636     * that depend on whether the property is a value or a getter and,
 637     * therefore, can return different values depending on the scope in which
 638     * the getter is accessed.
 639     */
 640  
 641    /**
 642     * Signal with the value assigned to the related property.
 643     */
 644  
 645    /**
 646     * Signal with the getter assigned to the related property.
 647     */
 648  
 649    /**
 650     * Structure that manages reactivity for a property in a state object, using
 651     * signals to keep track of property value or getter modifications.
 652     *
 653     * @param owner Proxy that holds the property this instance is associated
 654     *              with.
 655     */
 656    constructor(owner) {
 657      this.owner = owner;
 658      this.computedsByScope = new WeakMap();
 659    }
 660  
 661    /**
 662     * Changes the internal value. If a getter was set before, it is set to
 663     * `undefined`.
 664     *
 665     * @param value New value.
 666     */
 667    setValue(value) {
 668      this.update({
 669        value
 670      });
 671    }
 672  
 673    /**
 674     * Changes the internal getter. If a value was set before, it is set to
 675     * `undefined`.
 676     *
 677     * @param getter New getter.
 678     */
 679    setGetter(getter) {
 680      this.update({
 681        get: getter
 682      });
 683    }
 684  
 685    /**
 686     * Returns the computed that holds the result of evaluating the prop in the
 687     * current scope.
 688     *
 689     * These computeds are read-only signals that depend on whether the property
 690     * is a value or a getter and, therefore, can return different values
 691     * depending on the scope in which the getter is accessed.
 692     *
 693     * @return Computed that depends on the scope.
 694     */
 695    getComputed() {
 696      const scope = getScope() || NO_SCOPE;
 697      if (!this.valueSignal && !this.getterSignal) {
 698        this.update({});
 699      }
 700      if (!this.computedsByScope.has(scope)) {
 701        const callback = () => {
 702          const getter = this.getterSignal?.value;
 703          return getter ? getter.call(this.owner) : this.valueSignal?.value;
 704        };
 705        setNamespace(getNamespaceFromProxy(this.owner));
 706        this.computedsByScope.set(scope, signals_core_module_w(withScope(callback)));
 707        resetNamespace();
 708      }
 709      return this.computedsByScope.get(scope);
 710    }
 711  
 712    /**
 713     *  Update the internal signals for the value and the getter of the
 714     *  corresponding prop.
 715     *
 716     * @param param0
 717     * @param param0.get   New getter.
 718     * @param param0.value New value.
 719     */
 720    update({
 721      get,
 722      value
 723    }) {
 724      if (!this.valueSignal) {
 725        this.valueSignal = signals_core_module_d(value);
 726        this.getterSignal = signals_core_module_d(get);
 727      } else if (value !== this.valueSignal.peek() || get !== this.getterSignal.peek()) {
 728        signals_core_module_r(() => {
 729          this.valueSignal.value = value;
 730          this.getterSignal.value = get;
 731        });
 732      }
 733    }
 734  }
 735  
 736  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/state.js
 737  /**
 738   * External dependencies
 739   */
 740  
 741  
 742  /**
 743   * Internal dependencies
 744   */
 745  
 746  
 747  
 748  
 749  
 750  /**
 751   * Set of built-in symbols.
 752   */
 753  const wellKnownSymbols = new Set(Object.getOwnPropertyNames(Symbol).map(key => Symbol[key]).filter(value => typeof value === 'symbol'));
 754  
 755  /**
 756   * Relates each proxy with a map of {@link PropSignal} instances, representing
 757   * the proxy's accessed properties.
 758   */
 759  const proxyToProps = new WeakMap();
 760  
 761  /**
 762   *  Checks wether a {@link PropSignal | `PropSignal`} instance exists for the
 763   *  given property in the passed proxy.
 764   *
 765   * @param proxy Proxy of a state object or array.
 766   * @param key   The property key.
 767   * @return `true` when it exists; false otherwise.
 768   */
 769  const hasPropSignal = (proxy, key) => proxyToProps.has(proxy) && proxyToProps.get(proxy).has(key);
 770  const readOnlyProxies = new WeakSet();
 771  
 772  /**
 773   * Returns the {@link PropSignal | `PropSignal`} instance associated with the
 774   * specified prop in the passed proxy.
 775   *
 776   * The `PropSignal` instance is generated if it doesn't exist yet, using the
 777   * `initial` parameter to initialize the internal signals.
 778   *
 779   * @param proxy   Proxy of a state object or array.
 780   * @param key     The property key.
 781   * @param initial Initial data for the `PropSignal` instance.
 782   * @return The `PropSignal` instance.
 783   */
 784  const getPropSignal = (proxy, key, initial) => {
 785    if (!proxyToProps.has(proxy)) {
 786      proxyToProps.set(proxy, new Map());
 787    }
 788    key = typeof key === 'number' ? `$key}` : key;
 789    const props = proxyToProps.get(proxy);
 790    if (!props.has(key)) {
 791      const ns = getNamespaceFromProxy(proxy);
 792      const prop = new PropSignal(proxy);
 793      props.set(key, prop);
 794      if (initial) {
 795        const {
 796          get,
 797          value
 798        } = initial;
 799        if (get) {
 800          prop.setGetter(get);
 801        } else {
 802          const readOnly = readOnlyProxies.has(proxy);
 803          prop.setValue(shouldProxy(value) ? proxifyState(ns, value, {
 804            readOnly
 805          }) : value);
 806        }
 807      }
 808    }
 809    return props.get(key);
 810  };
 811  
 812  /**
 813   * Relates each proxied object (i.e., the original object) with a signal that
 814   * tracks changes in the number of properties.
 815   */
 816  const objToIterable = new WeakMap();
 817  
 818  /**
 819   * When this flag is `true`, it avoids any signal subscription, overriding state
 820   * props' "reactive" behavior.
 821   */
 822  let peeking = false;
 823  
 824  /**
 825   * Handlers for reactive objects and arrays in the state.
 826   */
 827  const stateHandlers = {
 828    get(target, key, receiver) {
 829      /*
 830       * The property should not be reactive for the following cases:
 831       * 1. While using the `peek` function to read the property.
 832       * 2. The property exists but comes from the Object or Array prototypes.
 833       * 3. The property key is a known symbol.
 834       */
 835      if (peeking || !target.hasOwnProperty(key) && key in target || typeof key === 'symbol' && wellKnownSymbols.has(key)) {
 836        return Reflect.get(target, key, receiver);
 837      }
 838  
 839      // At this point, the property should be reactive.
 840      const desc = Object.getOwnPropertyDescriptor(target, key);
 841      const prop = getPropSignal(receiver, key, desc);
 842      const result = prop.getComputed().value;
 843  
 844      /*
 845       * Check if the property is a synchronous function. If it is, set the
 846       * default namespace. Synchronous functions always run in the proper scope,
 847       * which is set by the Directives component.
 848       */
 849      if (typeof result === 'function') {
 850        const ns = getNamespaceFromProxy(receiver);
 851        return (...args) => {
 852          setNamespace(ns);
 853          try {
 854            return result.call(receiver, ...args);
 855          } finally {
 856            resetNamespace();
 857          }
 858        };
 859      }
 860      return result;
 861    },
 862    set(target, key, value, receiver) {
 863      if (readOnlyProxies.has(receiver)) {
 864        return false;
 865      }
 866      setNamespace(getNamespaceFromProxy(receiver));
 867      try {
 868        return Reflect.set(target, key, value, receiver);
 869      } finally {
 870        resetNamespace();
 871      }
 872    },
 873    defineProperty(target, key, desc) {
 874      if (readOnlyProxies.has(getProxyFromObject(target))) {
 875        return false;
 876      }
 877      const isNew = !(key in target);
 878      const result = Reflect.defineProperty(target, key, desc);
 879      if (result) {
 880        const receiver = getProxyFromObject(target);
 881        const prop = getPropSignal(receiver, key);
 882        const {
 883          get,
 884          value
 885        } = desc;
 886        if (get) {
 887          prop.setGetter(get);
 888        } else {
 889          const ns = getNamespaceFromProxy(receiver);
 890          prop.setValue(shouldProxy(value) ? proxifyState(ns, value) : value);
 891        }
 892        if (isNew && objToIterable.has(target)) {
 893          objToIterable.get(target).value++;
 894        }
 895  
 896        /*
 897         * Modify the `length` property value only if the related
 898         * `PropSignal` exists, which means that there are subscriptions to
 899         * this property.
 900         */
 901        if (Array.isArray(target) && proxyToProps.get(receiver)?.has('length')) {
 902          const length = getPropSignal(receiver, 'length');
 903          length.setValue(target.length);
 904        }
 905      }
 906      return result;
 907    },
 908    deleteProperty(target, key) {
 909      if (readOnlyProxies.has(getProxyFromObject(target))) {
 910        return false;
 911      }
 912      const result = Reflect.deleteProperty(target, key);
 913      if (result) {
 914        const prop = getPropSignal(getProxyFromObject(target), key);
 915        prop.setValue(undefined);
 916        if (objToIterable.has(target)) {
 917          objToIterable.get(target).value++;
 918        }
 919      }
 920      return result;
 921    },
 922    ownKeys(target) {
 923      if (!objToIterable.has(target)) {
 924        objToIterable.set(target, signals_core_module_d(0));
 925      }
 926      /*
 927       *This subscribes to the signal while preventing the minifier from
 928       * deleting this line in production.
 929       */
 930      objToIterable._ = objToIterable.get(target).value;
 931      return Reflect.ownKeys(target);
 932    }
 933  };
 934  
 935  /**
 936   * Returns the proxy associated with the given state object, creating it if it
 937   * does not exist.
 938   *
 939   * @param namespace        The namespace that will be associated to this proxy.
 940   * @param obj              The object to proxify.
 941   * @param options          Options.
 942   * @param options.readOnly Read-only.
 943   *
 944   * @throws Error if the object cannot be proxified. Use {@link shouldProxy} to
 945   *         check if a proxy can be created for a specific object.
 946   *
 947   * @return The associated proxy.
 948   */
 949  const proxifyState = (namespace, obj, options) => {
 950    const proxy = createProxy(namespace, obj, stateHandlers);
 951    if (options?.readOnly) {
 952      readOnlyProxies.add(proxy);
 953    }
 954    return proxy;
 955  };
 956  
 957  /**
 958   * Reads the value of the specified property without subscribing to it.
 959   *
 960   * @param obj The object to read the property from.
 961   * @param key The property key.
 962   * @return The property value.
 963   */
 964  const peek = (obj, key) => {
 965    peeking = true;
 966    try {
 967      return obj[key];
 968    } finally {
 969      peeking = false;
 970    }
 971  };
 972  
 973  /**
 974   * Internal recursive implementation for {@link deepMerge | `deepMerge`}.
 975   *
 976   * @param target   The target object.
 977   * @param source   The source object containing new values and props.
 978   * @param override Whether existing props should be overwritten or not (`true`
 979   *                 by default).
 980   */
 981  const deepMergeRecursive = (target, source, override = true) => {
 982    if (isPlainObject(target) && isPlainObject(source)) {
 983      let hasNewKeys = false;
 984      for (const key in source) {
 985        const isNew = !(key in target);
 986        hasNewKeys = hasNewKeys || isNew;
 987        const desc = Object.getOwnPropertyDescriptor(source, key);
 988        if (typeof desc?.get === 'function' || typeof desc?.set === 'function') {
 989          if (override || isNew) {
 990            Object.defineProperty(target, key, {
 991              ...desc,
 992              configurable: true,
 993              enumerable: true
 994            });
 995            const proxy = getProxyFromObject(target);
 996            if (desc?.get && proxy && hasPropSignal(proxy, key)) {
 997              const propSignal = getPropSignal(proxy, key);
 998              propSignal.setGetter(desc.get);
 999            }
1000          }
1001        } else if (isPlainObject(source[key])) {
1002          if (isNew) {
1003            target[key] = {};
1004          }
1005          deepMergeRecursive(target[key], source[key], override);
1006        } else if (override || isNew) {
1007          Object.defineProperty(target, key, desc);
1008          const proxy = getProxyFromObject(target);
1009          if (desc?.value && proxy && hasPropSignal(proxy, key)) {
1010            const propSignal = getPropSignal(proxy, key);
1011            propSignal.setValue(desc.value);
1012          }
1013        }
1014      }
1015      if (hasNewKeys && objToIterable.has(target)) {
1016        objToIterable.get(target).value++;
1017      }
1018    }
1019  };
1020  
1021  /**
1022   * Recursively update prop values inside the passed `target` and nested plain
1023   * objects, using the values present in `source`. References to plain objects
1024   * are kept, only updating props containing primitives or arrays. Arrays are
1025   * replaced instead of merged or concatenated.
1026   *
1027   * If the `override` parameter is set to `false`, then all values in `target`
1028   * are preserved, and only new properties from `source` are added.
1029   *
1030   * @param target   The target object.
1031   * @param source   The source object containing new values and props.
1032   * @param override Whether existing props should be overwritten or not (`true`
1033   *                 by default).
1034   */
1035  const deepMerge = (target, source, override = true) => signals_core_module_r(() => deepMergeRecursive(getObjectFromProxy(target) || target, source, override));
1036  
1037  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/store.js
1038  /**
1039   * Internal dependencies
1040   */
1041  
1042  /**
1043   * External dependencies
1044   */
1045  
1046  
1047  
1048  /**
1049   * Identifies the store proxies handling the root objects of each store.
1050   */
1051  const storeRoots = new WeakSet();
1052  
1053  /**
1054   * Handlers for store proxies.
1055   */
1056  const storeHandlers = {
1057    get: (target, key, receiver) => {
1058      const result = Reflect.get(target, key);
1059      const ns = getNamespaceFromProxy(receiver);
1060  
1061      /*
1062       * Check if the proxy is the store root and no key with that name exist. In
1063       * that case, return an empty object for the requested key.
1064       */
1065      if (typeof result === 'undefined' && storeRoots.has(receiver)) {
1066        const obj = {};
1067        Reflect.set(target, key, obj);
1068        return proxifyStore(ns, obj, false);
1069      }
1070  
1071      /*
1072       * Check if the property is a function. If it is, add the store
1073       * namespace to the stack and wrap the function with the current scope.
1074       * The `withScope` util handles both synchronous functions and generator
1075       * functions.
1076       */
1077      if (typeof result === 'function') {
1078        setNamespace(ns);
1079        const scoped = withScope(result);
1080        resetNamespace();
1081        return scoped;
1082      }
1083  
1084      // Check if the property is an object. If it is, proxyify it.
1085      if (isPlainObject(result) && shouldProxy(result)) {
1086        return proxifyStore(ns, result, false);
1087      }
1088      return result;
1089    }
1090  };
1091  
1092  /**
1093   * Returns the proxy associated with the given store object, creating it if it
1094   * does not exist.
1095   *
1096   * @param namespace The namespace that will be associated to this proxy.
1097   * @param obj       The object to proxify.
1098   *
1099   * @param isRoot    Whether the passed object is the store root object.
1100   * @throws Error if the object cannot be proxified. Use {@link shouldProxy} to
1101   *         check if a proxy can be created for a specific object.
1102   *
1103   * @return The associated proxy.
1104   */
1105  const proxifyStore = (namespace, obj, isRoot = true) => {
1106    const proxy = createProxy(namespace, obj, storeHandlers);
1107    if (proxy && isRoot) {
1108      storeRoots.add(proxy);
1109    }
1110    return proxy;
1111  };
1112  
1113  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/context.js
1114  const contextObjectToProxy = new WeakMap();
1115  const contextObjectToFallback = new WeakMap();
1116  const contextProxies = new WeakSet();
1117  const descriptor = Reflect.getOwnPropertyDescriptor;
1118  
1119  // TODO: Use the proxy registry to avoid multiple proxies on the same object.
1120  const contextHandlers = {
1121    get: (target, key) => {
1122      const fallback = contextObjectToFallback.get(target);
1123      // Always subscribe to prop changes in the current context.
1124      const currentProp = target[key];
1125  
1126      /*
1127       * Return the value from `target` if it exists, or from `fallback`
1128       * otherwise. This way, in the case the property doesn't exist either in
1129       * `target` or `fallback`, it also subscribes to changes in the parent
1130       * context.
1131       */
1132      return key in target ? currentProp : fallback[key];
1133    },
1134    set: (target, key, value) => {
1135      const fallback = contextObjectToFallback.get(target);
1136  
1137      // If the property exists in the current context, modify it. Otherwise,
1138      // add it to the current context.
1139      const obj = key in target || !(key in fallback) ? target : fallback;
1140      obj[key] = value;
1141      return true;
1142    },
1143    ownKeys: target => [...new Set([...Object.keys(contextObjectToFallback.get(target)), ...Object.keys(target)])],
1144    getOwnPropertyDescriptor: (target, key) => descriptor(target, key) || descriptor(contextObjectToFallback.get(target), key)
1145  };
1146  
1147  /**
1148   * Wrap a context object with a proxy to reproduce the context stack. The proxy
1149   * uses the passed `inherited` context as a fallback to look up for properties
1150   * that don't exist in the given context. Also, updated properties are modified
1151   * where they are defined, or added to the main context when they don't exist.
1152   *
1153   * @param current   Current context.
1154   * @param inherited Inherited context, used as fallback.
1155   *
1156   * @return The wrapped context object.
1157   */
1158  const proxifyContext = (current, inherited = {}) => {
1159    if (contextProxies.has(current)) {
1160      throw Error('This object cannot be proxified.');
1161    }
1162    // Update the fallback object reference when it changes.
1163    contextObjectToFallback.set(current, inherited);
1164    if (!contextObjectToProxy.has(current)) {
1165      const proxy = new Proxy(current, contextHandlers);
1166      contextObjectToProxy.set(current, proxy);
1167      contextProxies.add(proxy);
1168    }
1169    return contextObjectToProxy.get(current);
1170  };
1171  
1172  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/proxies/index.js
1173  /**
1174   * Internal dependencies
1175   */
1176  
1177  
1178  
1179  
1180  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/store.js
1181  /**
1182   * Internal dependencies
1183   */
1184  
1185  /**
1186   * External dependencies
1187   */
1188  
1189  
1190  const stores = new Map();
1191  const rawStores = new Map();
1192  const storeLocks = new Map();
1193  const storeConfigs = new Map();
1194  const serverStates = new Map();
1195  
1196  /**
1197   * Get the defined config for the store with the passed namespace.
1198   *
1199   * @param namespace Store's namespace from which to retrieve the config.
1200   * @return Defined config for the given namespace.
1201   */
1202  const getConfig = namespace => storeConfigs.get(namespace || getNamespace()) || {};
1203  
1204  /**
1205   * Get the part of the state defined and updated from the server.
1206   *
1207   * The object returned is read-only, and includes the state defined in PHP with
1208   * `wp_interactivity_state()`. When using `actions.navigate()`, this object is
1209   * updated to reflect the changes in its properites, without affecting the state
1210   * returned by `store()`. Directives can subscribe to those changes to update
1211   * the state if needed.
1212   *
1213   * @example
1214   * ```js
1215   *  const { state } = store('myStore', {
1216   *    callbacks: {
1217   *      updateServerState() {
1218   *        const serverState = getServerState();
1219   *        // Override some property with the new value that came from the server.
1220   *        state.overridableProp = serverState.overridableProp;
1221   *      },
1222   *    },
1223   *  });
1224   * ```
1225   *
1226   * @param namespace Store's namespace from which to retrieve the server state.
1227   * @return The server state for the given namespace.
1228   */
1229  const getServerState = namespace => {
1230    const ns = namespace || getNamespace();
1231    if (!serverStates.has(ns)) {
1232      serverStates.set(ns, proxifyState(ns, {}, {
1233        readOnly: true
1234      }));
1235    }
1236    return serverStates.get(ns);
1237  };
1238  const universalUnlock = 'I acknowledge that using a private store means my plugin will inevitably break on the next store release.';
1239  
1240  /**
1241   * Extends the Interactivity API global store adding the passed properties to
1242   * the given namespace. It also returns stable references to the namespace
1243   * content.
1244   *
1245   * These props typically consist of `state`, which is the reactive part of the
1246   * store ― which means that any directive referencing a state property will be
1247   * re-rendered anytime it changes ― and function properties like `actions` and
1248   * `callbacks`, mostly used for event handlers. These props can then be
1249   * referenced by any directive to make the HTML interactive.
1250   *
1251   * @example
1252   * ```js
1253   *  const { state } = store( 'counter', {
1254   *    state: {
1255   *      value: 0,
1256   *      get double() { return state.value * 2; },
1257   *    },
1258   *    actions: {
1259   *      increment() {
1260   *        state.value += 1;
1261   *      },
1262   *    },
1263   *  } );
1264   * ```
1265   *
1266   * The code from the example above allows blocks to subscribe and interact with
1267   * the store by using directives in the HTML, e.g.:
1268   *
1269   * ```html
1270   * <div data-wp-interactive="counter">
1271   *   <button
1272   *     data-wp-text="state.double"
1273   *     data-wp-on--click="actions.increment"
1274   *   >
1275   *     0
1276   *   </button>
1277   * </div>
1278   * ```
1279   * @param namespace The store namespace to interact with.
1280   * @param storePart Properties to add to the store namespace.
1281   * @param options   Options for the given namespace.
1282   *
1283   * @return A reference to the namespace content.
1284   */
1285  
1286  function store(namespace, {
1287    state = {},
1288    ...block
1289  } = {}, {
1290    lock = false
1291  } = {}) {
1292    if (!stores.has(namespace)) {
1293      // Lock the store if the passed lock is different from the universal
1294      // unlock. Once the lock is set (either false, true, or a given string),
1295      // it cannot change.
1296      if (lock !== universalUnlock) {
1297        storeLocks.set(namespace, lock);
1298      }
1299      const rawStore = {
1300        state: proxifyState(namespace, isPlainObject(state) ? state : {}),
1301        ...block
1302      };
1303      const proxifiedStore = proxifyStore(namespace, rawStore);
1304      rawStores.set(namespace, rawStore);
1305      stores.set(namespace, proxifiedStore);
1306    } else {
1307      // Lock the store if it wasn't locked yet and the passed lock is
1308      // different from the universal unlock. If no lock is given, the store
1309      // will be public and won't accept any lock from now on.
1310      if (lock !== universalUnlock && !storeLocks.has(namespace)) {
1311        storeLocks.set(namespace, lock);
1312      } else {
1313        const storeLock = storeLocks.get(namespace);
1314        const isLockValid = lock === universalUnlock || lock !== true && lock === storeLock;
1315        if (!isLockValid) {
1316          if (!storeLock) {
1317            throw Error('Cannot lock a public store');
1318          } else {
1319            throw Error('Cannot unlock a private store with an invalid lock code');
1320          }
1321        }
1322      }
1323      const target = rawStores.get(namespace);
1324      deepMerge(target, block);
1325      deepMerge(target.state, state);
1326    }
1327    return stores.get(namespace);
1328  }
1329  const parseServerData = (dom = document) => {
1330    var _dom$getElementById;
1331    const jsonDataScriptTag = // Preferred Script Module data passing form
1332    (_dom$getElementById = dom.getElementById('wp-script-module-data-@wordpress/interactivity')) !== null && _dom$getElementById !== void 0 ? _dom$getElementById :
1333    // Legacy form
1334    dom.getElementById('wp-interactivity-data');
1335    if (jsonDataScriptTag?.textContent) {
1336      try {
1337        return JSON.parse(jsonDataScriptTag.textContent);
1338      } catch {}
1339    }
1340    return {};
1341  };
1342  const populateServerData = data => {
1343    if (isPlainObject(data?.state)) {
1344      Object.entries(data.state).forEach(([namespace, state]) => {
1345        const st = store(namespace, {}, {
1346          lock: universalUnlock
1347        });
1348        deepMerge(st.state, state, false);
1349        deepMerge(getServerState(namespace), state);
1350      });
1351    }
1352    if (isPlainObject(data?.config)) {
1353      Object.entries(data.config).forEach(([namespace, config]) => {
1354        storeConfigs.set(namespace, config);
1355      });
1356    }
1357  };
1358  
1359  // Parse and populate the initial state and config.
1360  const data = parseServerData();
1361  populateServerData(data);
1362  
1363  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/hooks.js
1364  // eslint-disable-next-line eslint-comments/disable-enable-pair
1365  /* eslint-disable react-hooks/exhaustive-deps */
1366  
1367  /**
1368   * External dependencies
1369   */
1370  
1371  
1372  /**
1373   * Internal dependencies
1374   */
1375  
1376  
1377  
1378  // Main context.
1379  const context = G({
1380    client: {},
1381    server: {}
1382  });
1383  
1384  // WordPress Directives.
1385  const directiveCallbacks = {};
1386  const directivePriorities = {};
1387  
1388  /**
1389   * Register a new directive type in the Interactivity API runtime.
1390   *
1391   * @example
1392   * ```js
1393   * directive(
1394   *   'alert', // Name without the `data-wp-` prefix.
1395   *   ( { directives: { alert }, element, evaluate } ) => {
1396   *     const defaultEntry = alert.find( entry => entry.suffix === 'default' );
1397   *     element.props.onclick = () => { alert( evaluate( defaultEntry ) ); }
1398   *   }
1399   * )
1400   * ```
1401   *
1402   * The previous code registers a custom directive type for displaying an alert
1403   * message whenever an element using it is clicked. The message text is obtained
1404   * from the store under the inherited namespace, using `evaluate`.
1405   *
1406   * When the HTML is processed by the Interactivity API, any element containing
1407   * the `data-wp-alert` directive will have the `onclick` event handler, e.g.,
1408   *
1409   * ```html
1410   * <div data-wp-interactive="messages">
1411   *   <button data-wp-alert="state.alert">Click me!</button>
1412   * </div>
1413   * ```
1414   * Note that, in the previous example, the directive callback gets the path
1415   * value (`state.alert`) from the directive entry with suffix `default`. A
1416   * custom suffix can also be specified by appending `--` to the directive
1417   * attribute, followed by the suffix, like in the following HTML snippet:
1418   *
1419   * ```html
1420   * <div data-wp-interactive="myblock">
1421   *   <button
1422   *     data-wp-color--text="state.text"
1423   *     data-wp-color--background="state.background"
1424   *   >Click me!</button>
1425   * </div>
1426   * ```
1427   *
1428   * This could be an hypothetical implementation of the custom directive used in
1429   * the snippet above.
1430   *
1431   * @example
1432   * ```js
1433   * directive(
1434   *   'color', // Name without prefix and suffix.
1435   *   ( { directives: { color: colors }, ref, evaluate } ) =>
1436   *     colors.forEach( ( color ) => {
1437   *       if ( color.suffix = 'text' ) {
1438   *         ref.style.setProperty(
1439   *           'color',
1440   *           evaluate( color.text )
1441   *         );
1442   *       }
1443   *       if ( color.suffix = 'background' ) {
1444   *         ref.style.setProperty(
1445   *           'background-color',
1446   *           evaluate( color.background )
1447   *         );
1448   *       }
1449   *     } );
1450   *   }
1451   * )
1452   * ```
1453   *
1454   * @param name             Directive name, without the `data-wp-` prefix.
1455   * @param callback         Function that runs the directive logic.
1456   * @param options          Options object.
1457   * @param options.priority Option to control the directive execution order. The
1458   *                         lesser, the highest priority. Default is `10`.
1459   */
1460  const directive = (name, callback, {
1461    priority = 10
1462  } = {}) => {
1463    directiveCallbacks[name] = callback;
1464    directivePriorities[name] = priority;
1465  };
1466  
1467  // Resolve the path to some property of the store object.
1468  const resolve = (path, namespace) => {
1469    if (!namespace) {
1470      warn(`Namespace missing for "$path}". The value for that path won't be resolved.`);
1471      return;
1472    }
1473    let resolvedStore = stores.get(namespace);
1474    if (typeof resolvedStore === 'undefined') {
1475      resolvedStore = store(namespace, undefined, {
1476        lock: universalUnlock
1477      });
1478    }
1479    const current = {
1480      ...resolvedStore,
1481      context: getScope().context[namespace]
1482    };
1483    try {
1484      // TODO: Support lazy/dynamically initialized stores
1485      return path.split('.').reduce((acc, key) => acc[key], current);
1486    } catch (e) {}
1487  };
1488  
1489  // Generate the evaluate function.
1490  const getEvaluate = ({
1491    scope
1492  }) => (entry, ...args) => {
1493    let {
1494      value: path,
1495      namespace
1496    } = entry;
1497    if (typeof path !== 'string') {
1498      throw new Error('The `value` prop should be a string path');
1499    }
1500    // If path starts with !, remove it and save a flag.
1501    const hasNegationOperator = path[0] === '!' && !!(path = path.slice(1));
1502    setScope(scope);
1503    const value = resolve(path, namespace);
1504    const result = typeof value === 'function' ? value(...args) : value;
1505    resetScope();
1506    return hasNegationOperator ? !result : result;
1507  };
1508  
1509  // Separate directives by priority. The resulting array contains objects
1510  // of directives grouped by same priority, and sorted in ascending order.
1511  const getPriorityLevels = directives => {
1512    const byPriority = Object.keys(directives).reduce((obj, name) => {
1513      if (directiveCallbacks[name]) {
1514        const priority = directivePriorities[name];
1515        (obj[priority] = obj[priority] || []).push(name);
1516      }
1517      return obj;
1518    }, {});
1519    return Object.entries(byPriority).sort(([p1], [p2]) => parseInt(p1) - parseInt(p2)).map(([, arr]) => arr);
1520  };
1521  
1522  // Component that wraps each priority level of directives of an element.
1523  const Directives = ({
1524    directives,
1525    priorityLevels: [currentPriorityLevel, ...nextPriorityLevels],
1526    element,
1527    originalProps,
1528    previousScope
1529  }) => {
1530    // Initialize the scope of this element. These scopes are different per each
1531    // level because each level has a different context, but they share the same
1532    // element ref, state and props.
1533    const scope = hooks_module_A({}).current;
1534    scope.evaluate = hooks_module_q(getEvaluate({
1535      scope
1536    }), []);
1537    const {
1538      client,
1539      server
1540    } = hooks_module_x(context);
1541    scope.context = client;
1542    scope.serverContext = server;
1543    /* eslint-disable react-hooks/rules-of-hooks */
1544    scope.ref = previousScope?.ref || hooks_module_A(null);
1545    /* eslint-enable react-hooks/rules-of-hooks */
1546  
1547    // Create a fresh copy of the vnode element and add the props to the scope,
1548    // named as attributes (HTML Attributes).
1549    element = E(element, {
1550      ref: scope.ref
1551    });
1552    scope.attributes = element.props;
1553  
1554    // Recursively render the wrapper for the next priority level.
1555    const children = nextPriorityLevels.length > 0 ? _(Directives, {
1556      directives,
1557      priorityLevels: nextPriorityLevels,
1558      element,
1559      originalProps,
1560      previousScope: scope
1561    }) : element;
1562    const props = {
1563      ...originalProps,
1564      children
1565    };
1566    const directiveArgs = {
1567      directives,
1568      props,
1569      element,
1570      context,
1571      evaluate: scope.evaluate
1572    };
1573    setScope(scope);
1574    for (const directiveName of currentPriorityLevel) {
1575      const wrapper = directiveCallbacks[directiveName]?.(directiveArgs);
1576      if (wrapper !== undefined) {
1577        props.children = wrapper;
1578      }
1579    }
1580    resetScope();
1581    return props.children;
1582  };
1583  
1584  // Preact Options Hook called each time a vnode is created.
1585  const old = preact_module_l.vnode;
1586  preact_module_l.vnode = vnode => {
1587    if (vnode.props.__directives) {
1588      const props = vnode.props;
1589      const directives = props.__directives;
1590      if (directives.key) {
1591        vnode.key = directives.key.find(({
1592          suffix
1593        }) => suffix === 'default').value;
1594      }
1595      delete props.__directives;
1596      const priorityLevels = getPriorityLevels(directives);
1597      if (priorityLevels.length > 0) {
1598        vnode.props = {
1599          directives,
1600          priorityLevels,
1601          originalProps: props,
1602          type: vnode.type,
1603          element: _(vnode.type, props),
1604          top: true
1605        };
1606        vnode.type = Directives;
1607      }
1608    }
1609    if (old) {
1610      old(vnode);
1611    }
1612  };
1613  
1614  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/directives.js
1615  // eslint-disable-next-line eslint-comments/disable-enable-pair
1616  /* eslint-disable react-hooks/exhaustive-deps */
1617  
1618  /**
1619   * External dependencies
1620   */
1621  
1622  
1623  
1624  /**
1625   * Internal dependencies
1626   */
1627  
1628  
1629  
1630  
1631  
1632  /**
1633   * Recursively clone the passed object.
1634   *
1635   * @param source Source object.
1636   * @return Cloned object.
1637   */
1638  function deepClone(source) {
1639    if (isPlainObject(source)) {
1640      return Object.fromEntries(Object.entries(source).map(([key, value]) => [key, deepClone(value)]));
1641    }
1642    if (Array.isArray(source)) {
1643      return source.map(i => deepClone(i));
1644    }
1645    return source;
1646  }
1647  const newRule = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g;
1648  const ruleClean = /\/\*[^]*?\*\/|  +/g;
1649  const ruleNewline = /\n+/g;
1650  const empty = ' ';
1651  
1652  /**
1653   * Convert a css style string into a object.
1654   *
1655   * Made by Cristian Bote (@cristianbote) for Goober.
1656   * https://unpkg.com/browse/goober@2.1.13/src/core/astish.js
1657   *
1658   * @param val CSS string.
1659   * @return CSS object.
1660   */
1661  const cssStringToObject = val => {
1662    const tree = [{}];
1663    let block, left;
1664    while (block = newRule.exec(val.replace(ruleClean, ''))) {
1665      if (block[4]) {
1666        tree.shift();
1667      } else if (block[3]) {
1668        left = block[3].replace(ruleNewline, empty).trim();
1669        tree.unshift(tree[0][left] = tree[0][left] || {});
1670      } else {
1671        tree[0][block[1]] = block[2].replace(ruleNewline, empty).trim();
1672      }
1673    }
1674    return tree[0];
1675  };
1676  
1677  /**
1678   * Creates a directive that adds an event listener to the global window or
1679   * document object.
1680   *
1681   * @param type 'window' or 'document'
1682   */
1683  const getGlobalEventDirective = type => {
1684    return ({
1685      directives,
1686      evaluate
1687    }) => {
1688      directives[`on-$type}`].filter(({
1689        suffix
1690      }) => suffix !== 'default').forEach(entry => {
1691        const eventName = entry.suffix.split('--', 1)[0];
1692        useInit(() => {
1693          const cb = event => evaluate(entry, event);
1694          const globalVar = type === 'window' ? window : document;
1695          globalVar.addEventListener(eventName, cb);
1696          return () => globalVar.removeEventListener(eventName, cb);
1697        });
1698      });
1699    };
1700  };
1701  
1702  /**
1703   * Creates a directive that adds an async event listener to the global window or
1704   * document object.
1705   *
1706   * @param type 'window' or 'document'
1707   */
1708  const getGlobalAsyncEventDirective = type => {
1709    return ({
1710      directives,
1711      evaluate
1712    }) => {
1713      directives[`on-async-$type}`].filter(({
1714        suffix
1715      }) => suffix !== 'default').forEach(entry => {
1716        const eventName = entry.suffix.split('--', 1)[0];
1717        useInit(() => {
1718          const cb = async event => {
1719            await splitTask();
1720            evaluate(entry, event);
1721          };
1722          const globalVar = type === 'window' ? window : document;
1723          globalVar.addEventListener(eventName, cb, {
1724            passive: true
1725          });
1726          return () => globalVar.removeEventListener(eventName, cb);
1727        });
1728      });
1729    };
1730  };
1731  /* harmony default export */ const directives = (() => {
1732    // data-wp-context
1733    directive('context', ({
1734      directives: {
1735        context
1736      },
1737      props: {
1738        children
1739      },
1740      context: inheritedContext
1741    }) => {
1742      const {
1743        Provider
1744      } = inheritedContext;
1745      const defaultEntry = context.find(({
1746        suffix
1747      }) => suffix === 'default');
1748      const {
1749        client: inheritedClient,
1750        server: inheritedServer
1751      } = hooks_module_x(inheritedContext);
1752      const ns = defaultEntry.namespace;
1753      const client = hooks_module_A(proxifyState(ns, {}));
1754      const server = hooks_module_A(proxifyState(ns, {}, {
1755        readOnly: true
1756      }));
1757  
1758      // No change should be made if `defaultEntry` does not exist.
1759      const contextStack = hooks_module_T(() => {
1760        const result = {
1761          client: {
1762            ...inheritedClient
1763          },
1764          server: {
1765            ...inheritedServer
1766          }
1767        };
1768        if (defaultEntry) {
1769          const {
1770            namespace,
1771            value
1772          } = defaultEntry;
1773          // Check that the value is a JSON object. Send a console warning if not.
1774          if (!isPlainObject(value)) {
1775            warn(`The value of data-wp-context in "$namespace}" store must be a valid stringified JSON object.`);
1776          }
1777          deepMerge(client.current, deepClone(value), false);
1778          deepMerge(server.current, deepClone(value));
1779          result.client[namespace] = proxifyContext(client.current, inheritedClient[namespace]);
1780          result.server[namespace] = proxifyContext(server.current, inheritedServer[namespace]);
1781        }
1782        return result;
1783      }, [defaultEntry, inheritedClient, inheritedServer]);
1784      return _(Provider, {
1785        value: contextStack
1786      }, children);
1787    }, {
1788      priority: 5
1789    });
1790  
1791    // data-wp-watch--[name]
1792    directive('watch', ({
1793      directives: {
1794        watch
1795      },
1796      evaluate
1797    }) => {
1798      watch.forEach(entry => {
1799        useWatch(() => {
1800          let start;
1801          if (false) {}
1802          const result = evaluate(entry);
1803          if (false) {}
1804          return result;
1805        });
1806      });
1807    });
1808  
1809    // data-wp-init--[name]
1810    directive('init', ({
1811      directives: {
1812        init
1813      },
1814      evaluate
1815    }) => {
1816      init.forEach(entry => {
1817        // TODO: Replace with useEffect to prevent unneeded scopes.
1818        useInit(() => {
1819          let start;
1820          if (false) {}
1821          const result = evaluate(entry);
1822          if (false) {}
1823          return result;
1824        });
1825      });
1826    });
1827  
1828    // data-wp-on--[event]
1829    directive('on', ({
1830      directives: {
1831        on
1832      },
1833      element,
1834      evaluate
1835    }) => {
1836      const events = new Map();
1837      on.filter(({
1838        suffix
1839      }) => suffix !== 'default').forEach(entry => {
1840        const event = entry.suffix.split('--')[0];
1841        if (!events.has(event)) {
1842          events.set(event, new Set());
1843        }
1844        events.get(event).add(entry);
1845      });
1846      events.forEach((entries, eventType) => {
1847        const existingHandler = element.props[`on$eventType}`];
1848        element.props[`on$eventType}`] = event => {
1849          entries.forEach(entry => {
1850            if (existingHandler) {
1851              existingHandler(event);
1852            }
1853            let start;
1854            if (false) {}
1855            evaluate(entry, event);
1856            if (false) {}
1857          });
1858        };
1859      });
1860    });
1861  
1862    // data-wp-on-async--[event]
1863    directive('on-async', ({
1864      directives: {
1865        'on-async': onAsync
1866      },
1867      element,
1868      evaluate
1869    }) => {
1870      const events = new Map();
1871      onAsync.filter(({
1872        suffix
1873      }) => suffix !== 'default').forEach(entry => {
1874        const event = entry.suffix.split('--')[0];
1875        if (!events.has(event)) {
1876          events.set(event, new Set());
1877        }
1878        events.get(event).add(entry);
1879      });
1880      events.forEach((entries, eventType) => {
1881        const existingHandler = element.props[`on$eventType}`];
1882        element.props[`on$eventType}`] = event => {
1883          if (existingHandler) {
1884            existingHandler(event);
1885          }
1886          entries.forEach(async entry => {
1887            await splitTask();
1888            evaluate(entry, event);
1889          });
1890        };
1891      });
1892    });
1893  
1894    // data-wp-on-window--[event]
1895    directive('on-window', getGlobalEventDirective('window'));
1896    // data-wp-on-document--[event]
1897    directive('on-document', getGlobalEventDirective('document'));
1898  
1899    // data-wp-on-async-window--[event]
1900    directive('on-async-window', getGlobalAsyncEventDirective('window'));
1901    // data-wp-on-async-document--[event]
1902    directive('on-async-document', getGlobalAsyncEventDirective('document'));
1903  
1904    // data-wp-class--[classname]
1905    directive('class', ({
1906      directives: {
1907        class: classNames
1908      },
1909      element,
1910      evaluate
1911    }) => {
1912      classNames.filter(({
1913        suffix
1914      }) => suffix !== 'default').forEach(entry => {
1915        const className = entry.suffix;
1916        const result = evaluate(entry);
1917        const currentClass = element.props.class || '';
1918        const classFinder = new RegExp(`(^|\\s)$className}(\\s|$)`, 'g');
1919        if (!result) {
1920          element.props.class = currentClass.replace(classFinder, ' ').trim();
1921        } else if (!classFinder.test(currentClass)) {
1922          element.props.class = currentClass ? `$currentClass} $className}` : className;
1923        }
1924        useInit(() => {
1925          /*
1926           * This seems necessary because Preact doesn't change the class
1927           * names on the hydration, so we have to do it manually. It doesn't
1928           * need deps because it only needs to do it the first time.
1929           */
1930          if (!result) {
1931            element.ref.current.classList.remove(className);
1932          } else {
1933            element.ref.current.classList.add(className);
1934          }
1935        });
1936      });
1937    });
1938  
1939    // data-wp-style--[style-prop]
1940    directive('style', ({
1941      directives: {
1942        style
1943      },
1944      element,
1945      evaluate
1946    }) => {
1947      style.filter(({
1948        suffix
1949      }) => suffix !== 'default').forEach(entry => {
1950        const styleProp = entry.suffix;
1951        const result = evaluate(entry);
1952        element.props.style = element.props.style || {};
1953        if (typeof element.props.style === 'string') {
1954          element.props.style = cssStringToObject(element.props.style);
1955        }
1956        if (!result) {
1957          delete element.props.style[styleProp];
1958        } else {
1959          element.props.style[styleProp] = result;
1960        }
1961        useInit(() => {
1962          /*
1963           * This seems necessary because Preact doesn't change the styles on
1964           * the hydration, so we have to do it manually. It doesn't need deps
1965           * because it only needs to do it the first time.
1966           */
1967          if (!result) {
1968            element.ref.current.style.removeProperty(styleProp);
1969          } else {
1970            element.ref.current.style[styleProp] = result;
1971          }
1972        });
1973      });
1974    });
1975  
1976    // data-wp-bind--[attribute]
1977    directive('bind', ({
1978      directives: {
1979        bind
1980      },
1981      element,
1982      evaluate
1983    }) => {
1984      bind.filter(({
1985        suffix
1986      }) => suffix !== 'default').forEach(entry => {
1987        const attribute = entry.suffix;
1988        const result = evaluate(entry);
1989        element.props[attribute] = result;
1990  
1991        /*
1992         * This is necessary because Preact doesn't change the attributes on the
1993         * hydration, so we have to do it manually. It only needs to do it the
1994         * first time. After that, Preact will handle the changes.
1995         */
1996        useInit(() => {
1997          const el = element.ref.current;
1998  
1999          /*
2000           * We set the value directly to the corresponding HTMLElement instance
2001           * property excluding the following special cases. We follow Preact's
2002           * logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L110-L129
2003           */
2004          if (attribute === 'style') {
2005            if (typeof result === 'string') {
2006              el.style.cssText = result;
2007            }
2008            return;
2009          } else if (attribute !== 'width' && attribute !== 'height' && attribute !== 'href' && attribute !== 'list' && attribute !== 'form' &&
2010          /*
2011           * The value for `tabindex` follows the parsing rules for an
2012           * integer. If that fails, or if the attribute isn't present, then
2013           * the browsers should "follow platform conventions to determine if
2014           * the element should be considered as a focusable area",
2015           * practically meaning that most elements get a default of `-1` (not
2016           * focusable), but several also get a default of `0` (focusable in
2017           * order after all elements with a positive `tabindex` value).
2018           *
2019           * @see https://html.spec.whatwg.org/#tabindex-value
2020           */
2021          attribute !== 'tabIndex' && attribute !== 'download' && attribute !== 'rowSpan' && attribute !== 'colSpan' && attribute !== 'role' && attribute in el) {
2022            try {
2023              el[attribute] = result === null || result === undefined ? '' : result;
2024              return;
2025            } catch (err) {}
2026          }
2027          /*
2028           * aria- and data- attributes have no boolean representation.
2029           * A `false` value is different from the attribute not being
2030           * present, so we can't remove it.
2031           * We follow Preact's logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136
2032           */
2033          if (result !== null && result !== undefined && (result !== false || attribute[4] === '-')) {
2034            el.setAttribute(attribute, result);
2035          } else {
2036            el.removeAttribute(attribute);
2037          }
2038        });
2039      });
2040    });
2041  
2042    // data-wp-ignore
2043    directive('ignore', ({
2044      element: {
2045        type: Type,
2046        props: {
2047          innerHTML,
2048          ...rest
2049        }
2050      }
2051    }) => {
2052      // Preserve the initial inner HTML.
2053      const cached = hooks_module_T(() => innerHTML, []);
2054      return _(Type, {
2055        dangerouslySetInnerHTML: {
2056          __html: cached
2057        },
2058        ...rest
2059      });
2060    });
2061  
2062    // data-wp-text
2063    directive('text', ({
2064      directives: {
2065        text
2066      },
2067      element,
2068      evaluate
2069    }) => {
2070      const entry = text.find(({
2071        suffix
2072      }) => suffix === 'default');
2073      if (!entry) {
2074        element.props.children = null;
2075        return;
2076      }
2077      try {
2078        const result = evaluate(entry);
2079        element.props.children = typeof result === 'object' ? null : result.toString();
2080      } catch (e) {
2081        element.props.children = null;
2082      }
2083    });
2084  
2085    // data-wp-run
2086    directive('run', ({
2087      directives: {
2088        run
2089      },
2090      evaluate
2091    }) => {
2092      run.forEach(entry => evaluate(entry));
2093    });
2094  
2095    // data-wp-each--[item]
2096    directive('each', ({
2097      directives: {
2098        each,
2099        'each-key': eachKey
2100      },
2101      context: inheritedContext,
2102      element,
2103      evaluate
2104    }) => {
2105      if (element.type !== 'template') {
2106        return;
2107      }
2108      const {
2109        Provider
2110      } = inheritedContext;
2111      const inheritedValue = hooks_module_x(inheritedContext);
2112      const [entry] = each;
2113      const {
2114        namespace,
2115        suffix
2116      } = entry;
2117      const list = evaluate(entry);
2118      return list.map(item => {
2119        const itemProp = suffix === 'default' ? 'item' : kebabToCamelCase(suffix);
2120        const itemContext = proxifyContext(proxifyState(namespace, {}), inheritedValue.client[namespace]);
2121        const mergedContext = {
2122          client: {
2123            ...inheritedValue.client,
2124            [namespace]: itemContext
2125          },
2126          server: {
2127            ...inheritedValue.server
2128          }
2129        };
2130  
2131        // Set the item after proxifying the context.
2132        mergedContext.client[namespace][itemProp] = item;
2133        const scope = {
2134          ...getScope(),
2135          context: mergedContext.client,
2136          serverContext: mergedContext.server
2137        };
2138        const key = eachKey ? getEvaluate({
2139          scope
2140        })(eachKey[0]) : item;
2141        return _(Provider, {
2142          value: mergedContext,
2143          key
2144        }, element.props.content);
2145      });
2146    }, {
2147      priority: 20
2148    });
2149    directive('each-child', () => null, {
2150      priority: 1
2151    });
2152  });
2153  
2154  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/constants.js
2155  const directivePrefix = 'wp';
2156  
2157  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/vdom.js
2158  /**
2159   * External dependencies
2160   */
2161  
2162  /**
2163   * Internal dependencies
2164   */
2165  
2166  
2167  const ignoreAttr = `data-$directivePrefix}-ignore`;
2168  const islandAttr = `data-$directivePrefix}-interactive`;
2169  const fullPrefix = `data-$directivePrefix}-`;
2170  const namespaces = [];
2171  const currentNamespace = () => {
2172    var _namespaces;
2173    return (_namespaces = namespaces[namespaces.length - 1]) !== null && _namespaces !== void 0 ? _namespaces : null;
2174  };
2175  const isObject = item => Boolean(item && typeof item === 'object' && item.constructor === Object);
2176  
2177  // Regular expression for directive parsing.
2178  const directiveParser = new RegExp(`^data-$directivePrefix}-` +
2179  // ${p} must be a prefix string, like 'wp'.
2180  // Match alphanumeric characters including hyphen-separated
2181  // segments. It excludes underscore intentionally to prevent confusion.
2182  // E.g., "custom-directive".
2183  '([a-z0-9]+(?:-[a-z0-9]+)*)' +
2184  // (Optional) Match '--' followed by any alphanumeric charachters. It
2185  // excludes underscore intentionally to prevent confusion, but it can
2186  // contain multiple hyphens. E.g., "--custom-prefix--with-more-info".
2187  '(?:--([a-z0-9_-]+))?$', 'i' // Case insensitive.
2188  );
2189  
2190  // Regular expression for reference parsing. It can contain a namespace before
2191  // the reference, separated by `::`, like `some-namespace::state.somePath`.
2192  // Namespaces can contain any alphanumeric characters, hyphens, underscores or
2193  // forward slashes. References don't have any restrictions.
2194  const nsPathRegExp = /^([\w_\/-]+)::(.+)$/;
2195  const hydratedIslands = new WeakSet();
2196  
2197  /**
2198   * Recursive function that transforms a DOM tree into vDOM.
2199   *
2200   * @param root The root element or node to start traversing on.
2201   * @return The resulting vDOM tree.
2202   */
2203  function toVdom(root) {
2204    const treeWalker = document.createTreeWalker(root, 205 // TEXT + CDATA_SECTION + COMMENT + PROCESSING_INSTRUCTION + ELEMENT
2205    );
2206    function walk(node) {
2207      const {
2208        nodeType
2209      } = node;
2210  
2211      // TEXT_NODE (3)
2212      if (nodeType === 3) {
2213        return [node.data];
2214      }
2215  
2216      // CDATA_SECTION_NODE (4)
2217      if (nodeType === 4) {
2218        var _nodeValue;
2219        const next = treeWalker.nextSibling();
2220        node.replaceWith(new window.Text((_nodeValue = node.nodeValue) !== null && _nodeValue !== void 0 ? _nodeValue : ''));
2221        return [node.nodeValue, next];
2222      }
2223  
2224      // COMMENT_NODE (8) || PROCESSING_INSTRUCTION_NODE (7)
2225      if (nodeType === 8 || nodeType === 7) {
2226        const next = treeWalker.nextSibling();
2227        node.remove();
2228        return [null, next];
2229      }
2230      const elementNode = node;
2231      const {
2232        attributes
2233      } = elementNode;
2234      const localName = elementNode.localName;
2235      const props = {};
2236      const children = [];
2237      const directives = [];
2238      let ignore = false;
2239      let island = false;
2240      for (let i = 0; i < attributes.length; i++) {
2241        const attributeName = attributes[i].name;
2242        const attributeValue = attributes[i].value;
2243        if (attributeName[fullPrefix.length] && attributeName.slice(0, fullPrefix.length) === fullPrefix) {
2244          if (attributeName === ignoreAttr) {
2245            ignore = true;
2246          } else {
2247            var _regexResult$, _regexResult$2;
2248            const regexResult = nsPathRegExp.exec(attributeValue);
2249            const namespace = (_regexResult$ = regexResult?.[1]) !== null && _regexResult$ !== void 0 ? _regexResult$ : null;
2250            let value = (_regexResult$2 = regexResult?.[2]) !== null && _regexResult$2 !== void 0 ? _regexResult$2 : attributeValue;
2251            try {
2252              const parsedValue = JSON.parse(value);
2253              value = isObject(parsedValue) ? parsedValue : value;
2254            } catch {}
2255            if (attributeName === islandAttr) {
2256              island = true;
2257              const islandNamespace =
2258              // eslint-disable-next-line no-nested-ternary
2259              typeof value === 'string' ? value : typeof value?.namespace === 'string' ? value.namespace : null;
2260              namespaces.push(islandNamespace);
2261            } else {
2262              directives.push([attributeName, namespace, value]);
2263            }
2264          }
2265        } else if (attributeName === 'ref') {
2266          continue;
2267        }
2268        props[attributeName] = attributeValue;
2269      }
2270      if (ignore && !island) {
2271        return [_(localName, {
2272          ...props,
2273          innerHTML: elementNode.innerHTML,
2274          __directives: {
2275            ignore: true
2276          }
2277        })];
2278      }
2279      if (island) {
2280        hydratedIslands.add(elementNode);
2281      }
2282      if (directives.length) {
2283        props.__directives = directives.reduce((obj, [name, ns, value]) => {
2284          const directiveMatch = directiveParser.exec(name);
2285          if (directiveMatch === null) {
2286            warn(`Found malformed directive name: $name}.`);
2287            return obj;
2288          }
2289          const prefix = directiveMatch[1] || '';
2290          const suffix = directiveMatch[2] || 'default';
2291          obj[prefix] = obj[prefix] || [];
2292          obj[prefix].push({
2293            namespace: ns !== null && ns !== void 0 ? ns : currentNamespace(),
2294            value,
2295            suffix
2296          });
2297          return obj;
2298        }, {});
2299      }
2300  
2301      // @ts-expect-error Fixed in upcoming preact release https://github.com/preactjs/preact/pull/4334
2302      if (localName === 'template') {
2303        props.content = [...elementNode.content.childNodes].map(childNode => toVdom(childNode));
2304      } else {
2305        let child = treeWalker.firstChild();
2306        if (child) {
2307          while (child) {
2308            const [vnode, nextChild] = walk(child);
2309            if (vnode) {
2310              children.push(vnode);
2311            }
2312            child = nextChild || treeWalker.nextSibling();
2313          }
2314          treeWalker.parentNode();
2315        }
2316      }
2317  
2318      // Restore previous namespace.
2319      if (island) {
2320        namespaces.pop();
2321      }
2322      return [_(localName, props, children)];
2323    }
2324    return walk(treeWalker.currentNode);
2325  }
2326  
2327  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/init.js
2328  /**
2329   * External dependencies
2330   */
2331  
2332  /**
2333   * Internal dependencies
2334   */
2335  
2336  
2337  
2338  
2339  // Keep the same root fragment for each interactive region node.
2340  const regionRootFragments = new WeakMap();
2341  const getRegionRootFragment = region => {
2342    if (!region.parentElement) {
2343      throw Error('The passed region should be an element with a parent.');
2344    }
2345    if (!regionRootFragments.has(region)) {
2346      regionRootFragments.set(region, createRootFragment(region.parentElement, region));
2347    }
2348    return regionRootFragments.get(region);
2349  };
2350  
2351  // Initial vDOM regions associated with its DOM element.
2352  const initialVdom = new WeakMap();
2353  
2354  // Initialize the router with the initial DOM.
2355  const init = async () => {
2356    const nodes = document.querySelectorAll(`[data-$directivePrefix}-interactive]`);
2357    for (const node of nodes) {
2358      if (!hydratedIslands.has(node)) {
2359        await splitTask();
2360        const fragment = getRegionRootFragment(node);
2361        const vdom = toVdom(node);
2362        initialVdom.set(node, vdom);
2363        await splitTask();
2364        D(vdom, fragment);
2365      }
2366    }
2367  };
2368  
2369  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/index.js
2370  /**
2371   * External dependencies
2372   */
2373  
2374  
2375  
2376  /**
2377   * Internal dependencies
2378   */
2379  
2380  
2381  
2382  
2383  
2384  
2385  
2386  
2387  
2388  
2389  
2390  
2391  const requiredConsent = 'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.';
2392  const privateApis = lock => {
2393    if (lock === requiredConsent) {
2394      return {
2395        directivePrefix: directivePrefix,
2396        getRegionRootFragment: getRegionRootFragment,
2397        initialVdom: initialVdom,
2398        toVdom: toVdom,
2399        directive: directive,
2400        getNamespace: getNamespace,
2401        h: _,
2402        cloneElement: E,
2403        render: B,
2404        proxifyState: proxifyState,
2405        parseServerData: parseServerData,
2406        populateServerData: populateServerData,
2407        batch: signals_core_module_r
2408      };
2409    }
2410    throw new Error('Forbidden access.');
2411  };
2412  directives();
2413  init();
2414  
2415  ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/debug.js
2416  /**
2417   * External dependencies
2418   */
2419  
2420  
2421  
2422  var __webpack_exports__getConfig = __webpack_exports__.zj;
2423  var __webpack_exports__getContext = __webpack_exports__.SD;
2424  var __webpack_exports__getElement = __webpack_exports__.V6;
2425  var __webpack_exports__getServerContext = __webpack_exports__.$K;
2426  var __webpack_exports__getServerState = __webpack_exports__.vT;
2427  var __webpack_exports__privateApis = __webpack_exports__.jb;
2428  var __webpack_exports__splitTask = __webpack_exports__.yT;
2429  var __webpack_exports__store = __webpack_exports__.M_;
2430  var __webpack_exports__useCallback = __webpack_exports__.hb;
2431  var __webpack_exports__useEffect = __webpack_exports__.vJ;
2432  var __webpack_exports__useInit = __webpack_exports__.ip;
2433  var __webpack_exports__useLayoutEffect = __webpack_exports__.Nf;
2434  var __webpack_exports__useMemo = __webpack_exports__.Kr;
2435  var __webpack_exports__useRef = __webpack_exports__.li;
2436  var __webpack_exports__useState = __webpack_exports__.J0;
2437  var __webpack_exports__useWatch = __webpack_exports__.FH;
2438  var __webpack_exports__withScope = __webpack_exports__.v4;
2439  export { __webpack_exports__getConfig as getConfig, __webpack_exports__getContext as getContext, __webpack_exports__getElement as getElement, __webpack_exports__getServerContext as getServerContext, __webpack_exports__getServerState as getServerState, __webpack_exports__privateApis as privateApis, __webpack_exports__splitTask as splitTask, __webpack_exports__store as store, __webpack_exports__useCallback as useCallback, __webpack_exports__useEffect as useEffect, __webpack_exports__useInit as useInit, __webpack_exports__useLayoutEffect as useLayoutEffect, __webpack_exports__useMemo as useMemo, __webpack_exports__useRef as useRef, __webpack_exports__useState as useState, __webpack_exports__useWatch as useWatch, __webpack_exports__withScope as withScope };


Generated : Tue Sep 24 08:20:01 2024 Cross-referenced by PHPXref