|
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 jb: () => (/* reexport */ privateApis), |
|
31 yT: () => (/* reexport */ splitTask), |
|
32 M_: () => (/* reexport */ store), |
|
33 hb: () => (/* reexport */ useCallback), |
|
34 vJ: () => (/* reexport */ useEffect), |
|
35 ip: () => (/* reexport */ useInit), |
|
36 Nf: () => (/* reexport */ useLayoutEffect), |
|
37 Kr: () => (/* reexport */ useMemo), |
|
38 li: () => (/* reexport */ hooks_module_F), |
|
39 J0: () => (/* reexport */ hooks_module_p), |
|
40 FH: () => (/* reexport */ useWatch), |
|
41 v4: () => (/* reexport */ withScope) |
|
42 }); |
|
43 |
|
44 ;// CONCATENATED MODULE: ./node_modules/preact/dist/preact.module.js |
|
45 var preact_module_n,preact_module_l,preact_module_u,preact_module_t,i,preact_module_o,r,preact_module_f,preact_module_e,preact_module_c,s,a,h={},p=[],v=/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){var l=n.parentNode;l&&l.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 k(n){return n.children}function b(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,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?(e&&!e.isConnected&&(e=x(v)),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++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g(null,i,null,null,null):y(i)?g(k,{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)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(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?s>e-r?a+=f-r:a--:f<r?f==r-1&&(a=f-r):a=0,f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V(o,o,!1),u[r]=null,s--);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&&(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||v.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=preact_module_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&&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,u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=preact_module_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,p,v,w,_,g,m,x,C,M,P,$,I,H,L=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 L)try{if(m=u.props,x=(a=L.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:("prototype"in L&&L.prototype.render?u.__c=h=new L(m,C):(u.__c=h=new b(m,C),h.constructor=L,h.render=q),x&&x.sub(h),h.props=m,h.state||(h.state={}),h.context=C,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),null==h.__s&&(h.__s=h.state),null!=L.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,L.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)null==L.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==L.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,C),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,C)||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.forEach(function(n){n&&(n.__=u)}),M=0;M<h._sb.length;M++)h.__h.push(h._sb[M]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,C),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_)})}if(h.context=C,h.props=m,h.__P=n,h.__e=!1,P=preact_module_l.__r,$=0,"prototype"in L&&L.prototype.render){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),I=0;I<h._sb.length;I++)h.__h.push(h._sb[I]);h._sb=[]}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++$<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),p||null==h.getSnapshotBeforeUpdate||(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(H=null!=a&&a.type===k&&null==a.key?a.props.children:a)?H:[H],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){u.__v=null,c||null!=r?(u.__e=e,u.__u|=c?160:32,r[r.indexOf(e)]=null):(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(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1}if(null===b)m===k||e&&l.data===k||(l.data=k);else{if(r=r&&preact_module_n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A(l,s,null,d,o)}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A(l,s,g,m[s],o))}return l}function N(n,u,t){try{"function"==typeof n?n(u):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||null==n.__e||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=_(k,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.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.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}preact_module_n=p.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},b.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))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},b.prototype.render=k,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,preact_module_e=0,preact_module_c=F(!1),s=F(!0),a=0; |
|
46 |
|
47 ;// CONCATENATED MODULE: ./node_modules/preact/devtools/dist/devtools.module.js |
|
48 function devtools_module_t(o,e){return n.__a&&n.__a(e),o}"undefined"!=typeof window&&window.__PREACT_DEVTOOLS__&&window.__PREACT_DEVTOOLS__.attachPreact("10.22.0",preact_module_l,{Fragment:k,Component:b}); |
|
49 |
|
50 ;// CONCATENATED MODULE: ./node_modules/preact/debug/dist/debug.module.js |
|
51 var debug_module_o={};function debug_module_r(){debug_module_o={}}function debug_module_a(e){return e.type===k?"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!=k}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_p="function"==typeof WeakMap;function debug_module_d(n){var e=[];return n.__k?(n.__k.forEach(function(n){n&&"function"==typeof n.type?e.push.apply(e,debug_module_d(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=b.prototype.setState;function debug_module_y(n){return"table"===n||"tfoot"===n||"tbody"===n||"thead"===n||"td"===n||"tr"===n||"th"===n}b.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=b.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+">":" />")}b.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)},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_p?{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++:T=1,T>=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},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 I=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))}}},j={nodeName:I("nodeName","use vnode.type"),attributes:I("attributes","use vnode.props"),children:I("children","use vnode.props.children")},O=Object.create({},j);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__=O,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)"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_d(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_d(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 p=e.__k[u];if(p&&null!=p.key){var v=p.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 I=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 "+I+" was called with NaN.")}}}}}(); |
|
52 |
|
53 ;// CONCATENATED MODULE: ./node_modules/preact/hooks/dist/hooks.module.js |
|
54 var hooks_module_t,hooks_module_r,hooks_module_u,hooks_module_i,hooks_module_o=0,hooks_module_f=[],hooks_module_c=[],hooks_module_e=preact_module_l,hooks_module_a=hooks_module_e.__b,hooks_module_v=hooks_module_e.__r,hooks_module_l=hooks_module_e.diffed,hooks_module_m=hooks_module_e.__c,hooks_module_s=hooks_module_e.unmount,hooks_module_d=hooks_module_e.__;function hooks_module_h(n,t){hooks_module_e.__h&&hooks_module_e.__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({__V:hooks_module_c}),u.__[n]}function hooks_module_p(n){return hooks_module_o=1,hooks_module_y(hooks_module_D,n)}function hooks_module_y(n,u,i){var o=hooks_module_h(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_(n,u){var i=hooks_module_h(hooks_module_t++,3);!hooks_module_e.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.i=u,hooks_module_r.__H.__h.push(i))}function hooks_module_A(n,u){var i=hooks_module_h(hooks_module_t++,4);!hooks_module_e.__s&&hooks_module_C(i.__H,u)&&(i.__=n,i.i=u,hooks_module_r.__h.push(i))}function hooks_module_F(n){return hooks_module_o=5,hooks_module_q(function(){return{current:n}},[])}function hooks_module_T(n,t,r){hooks_module_o=6,hooks_module_A(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_q(n,r){var u=hooks_module_h(hooks_module_t++,7);return hooks_module_C(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function hooks_module_x(n,t){return hooks_module_o=8,hooks_module_q(function(){return n},t)}function hooks_module_P(n){var u=hooks_module_r.context[n.__c],i=hooks_module_h(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_V(n,t){hooks_module_e.useDebugValue&&hooks_module_e.useDebugValue(t?t(n):n)}function hooks_module_b(n){var u=hooks_module_h(hooks_module_t++,10),i=hooks_module_p();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_h(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_e.__e(t,n.__v)}}hooks_module_e.__b=function(n){hooks_module_r=null,hooks_module_a&&hooks_module_a(n)},hooks_module_e.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),hooks_module_d&&hooks_module_d(n,t)},hooks_module_e.__r=function(n){hooks_module_v&&hooks_module_v(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.__V=hooks_module_c,n.__N=n.i=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_e.diffed=function(n){hooks_module_l&&hooks_module_l(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==hooks_module_f.push(t)&&hooks_module_i===hooks_module_e.requestAnimationFrame||((hooks_module_i=hooks_module_e.requestAnimationFrame)||hooks_module_w)(hooks_module_j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==hooks_module_c&&(n.__=n.__V),n.i=void 0,n.__V=hooks_module_c})),hooks_module_u=hooks_module_r=null},hooks_module_e.__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_e.__e(r,n.__v)}}),hooks_module_m&&hooks_module_m(n,t)},hooks_module_e.unmount=function(n){hooks_module_s&&hooks_module_s(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_e.__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} |
|
55 |
|
56 ;// CONCATENATED MODULE: ./node_modules/@preact/signals-core/dist/signals-core.module.js |
|
57 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)} |
|
58 ;// CONCATENATED MODULE: ./node_modules/@preact/signals/dist/signals.module.js |
|
59 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_q(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)});b.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_q(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()})},[])} |
|
60 ;// CONCATENATED MODULE: ./node_modules/deepsignal/dist/deepsignal.module.js |
|
61 var deepsignal_module_a=new WeakMap,deepsignal_module_o=new WeakMap,deepsignal_module_s=new WeakMap,deepsignal_module_u=new WeakSet,deepsignal_module_c=new WeakMap,deepsignal_module_f=/^\$/,deepsignal_module_i=Object.getOwnPropertyDescriptor,deepsignal_module_l=!1,deepsignal_module_g=function(e){if(!deepsignal_module_k(e))throw new Error("This object can't be observed.");return deepsignal_module_o.has(e)||deepsignal_module_o.set(e,deepsignal_module_v(e,deepsignal_module_d)),deepsignal_module_o.get(e)},deepsignal_module_p=function(e,t){deepsignal_module_l=!0;var r=e[t];try{deepsignal_module_l=!1}catch(e){}return r};function deepsignal_module_h(e){return deepsignal_module_u.add(e),e}var deepsignal_module_v=function(e,t){var r=new Proxy(e,t);return deepsignal_module_u.add(r),r},deepsignal_module_y=function(){throw new Error("Don't mutate the signals directly.")},deepsignal_module_w=function(e){return function(t,u,c){var g;if(deepsignal_module_l)return Reflect.get(t,u,c);var p=e||"$"===u[0];if(!e&&p&&Array.isArray(t)){if("$"===u)return deepsignal_module_s.has(t)||deepsignal_module_s.set(t,deepsignal_module_v(t,deepsignal_module_m)),deepsignal_module_s.get(t);p="$length"===u}deepsignal_module_a.has(c)||deepsignal_module_a.set(c,new Map);var h=deepsignal_module_a.get(c),y=p?u.replace(deepsignal_module_f,""):u;if(h.has(y)||"function"!=typeof(null==(g=deepsignal_module_i(t,y))?void 0:g.get)){var w=Reflect.get(t,y,c);if(p&&"function"==typeof w)return;if("symbol"==typeof y&&deepsignal_module_b.has(y))return w;h.has(y)||(deepsignal_module_k(w)&&(deepsignal_module_o.has(w)||deepsignal_module_o.set(w,deepsignal_module_v(w,deepsignal_module_d)),w=deepsignal_module_o.get(w)),h.set(y,signals_core_module_d(w)))}else h.set(y,signals_core_module_w(function(){return Reflect.get(t,y,c)}));return p?h.get(y):h.get(y).value}},deepsignal_module_d={get:deepsignal_module_w(!1),set:function(e,n,s,u){var l;if("function"==typeof(null==(l=deepsignal_module_i(e,n))?void 0:l.set))return Reflect.set(e,n,s,u);deepsignal_module_a.has(u)||deepsignal_module_a.set(u,new Map);var g=deepsignal_module_a.get(u);if("$"===n[0]){s instanceof signals_core_module_u||deepsignal_module_y();var p=n.replace(deepsignal_module_f,"");return g.set(p,s),Reflect.set(e,p,s.peek(),u)}var h=s;deepsignal_module_k(s)&&(deepsignal_module_o.has(s)||deepsignal_module_o.set(s,deepsignal_module_v(s,deepsignal_module_d)),h=deepsignal_module_o.get(s));var w=!(n in e),m=Reflect.set(e,n,s,u);return g.has(n)?g.get(n).value=h:g.set(n,signals_core_module_d(h)),w&&deepsignal_module_c.has(e)&&deepsignal_module_c.get(e).value++,Array.isArray(e)&&g.has("length")&&(g.get("length").value=e.length),m},deleteProperty:function(e,t){"$"===t[0]&&deepsignal_module_y();var r=deepsignal_module_a.get(deepsignal_module_o.get(e)),n=Reflect.deleteProperty(e,t);return r&&r.has(t)&&(r.get(t).value=void 0),deepsignal_module_c.has(e)&&deepsignal_module_c.get(e).value++,n},ownKeys:function(e){return deepsignal_module_c.has(e)||deepsignal_module_c.set(e,signals_core_module_d(0)),deepsignal_module_c._=deepsignal_module_c.get(e).value,Reflect.ownKeys(e)}},deepsignal_module_m={get:deepsignal_module_w(!0),set:deepsignal_module_y,deleteProperty:deepsignal_module_y},deepsignal_module_b=new Set(Object.getOwnPropertyNames(Symbol).map(function(e){return Symbol[e]}).filter(function(e){return"symbol"==typeof e})),R=new Set([Object,Array]),deepsignal_module_k=function(e){return"object"==typeof e&&null!==e&&R.has(e.constructor)&&!deepsignal_module_u.has(e)},deepsignal_module_M=function(t){return e(function(){return deepsignal_module_g(t)},[])}; |
|
62 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/store.js |
|
63 /** |
|
64 * External dependencies |
|
65 */ |
|
66 |
|
67 |
|
68 |
|
69 /** |
|
70 * Internal dependencies |
|
71 */ |
|
72 |
|
73 const isObject = item => Boolean(item && typeof item === 'object' && item.constructor === Object); |
|
74 const deepMerge = (target, source) => { |
|
75 if (isObject(target) && isObject(source)) { |
|
76 for (const key in source) { |
|
77 const getter = Object.getOwnPropertyDescriptor(source, key)?.get; |
|
78 if (typeof getter === 'function') { |
|
79 Object.defineProperty(target, key, { |
|
80 get: getter |
|
81 }); |
|
82 } else if (isObject(source[key])) { |
|
83 if (!target[key]) { |
|
84 target[key] = {}; |
|
85 } |
|
86 deepMerge(target[key], source[key]); |
|
87 } else { |
|
88 try { |
|
89 target[key] = source[key]; |
|
90 } catch (e) { |
|
91 // Assignemnts fail for properties that are only getters. |
|
92 // When that's the case, the assignment is simply ignored. |
|
93 } |
|
94 } |
|
95 } |
|
96 } |
|
97 }; |
|
98 const stores = new Map(); |
|
99 const rawStores = new Map(); |
|
100 const storeLocks = new Map(); |
|
101 const storeConfigs = new Map(); |
|
102 const objToProxy = new WeakMap(); |
|
103 const proxyToNs = new WeakMap(); |
|
104 const scopeToGetters = new WeakMap(); |
|
105 const proxify = (obj, ns) => { |
|
106 if (!objToProxy.has(obj)) { |
|
107 const proxy = new Proxy(obj, handlers); |
|
108 objToProxy.set(obj, proxy); |
|
109 proxyToNs.set(proxy, ns); |
|
110 } |
|
111 return objToProxy.get(obj); |
|
112 }; |
|
113 const handlers = { |
|
114 get: (target, key, receiver) => { |
|
115 const ns = proxyToNs.get(receiver); |
|
116 |
|
117 // Check if the property is a getter and we are inside an scope. If that is |
|
118 // the case, we clone the getter to avoid overwriting the scoped |
|
119 // dependencies of the computed each time that getter runs. |
|
120 const getter = Object.getOwnPropertyDescriptor(target, key)?.get; |
|
121 if (getter) { |
|
122 const scope = getScope(); |
|
123 if (scope) { |
|
124 const getters = scopeToGetters.get(scope) || scopeToGetters.set(scope, new Map()).get(scope); |
|
125 if (!getters.has(getter)) { |
|
126 getters.set(getter, signals_core_module_w(() => { |
|
127 setNamespace(ns); |
|
128 setScope(scope); |
|
129 try { |
|
130 return getter.call(target); |
|
131 } finally { |
|
132 resetScope(); |
|
133 resetNamespace(); |
|
134 } |
|
135 })); |
|
136 } |
|
137 return getters.get(getter).value; |
|
138 } |
|
139 } |
|
140 const result = Reflect.get(target, key); |
|
141 |
|
142 // Check if the proxy is the store root and no key with that name exist. In |
|
143 // that case, return an empty object for the requested key. |
|
144 if (typeof result === 'undefined' && receiver === stores.get(ns)) { |
|
145 const obj = {}; |
|
146 Reflect.set(target, key, obj); |
|
147 return proxify(obj, ns); |
|
148 } |
|
149 |
|
150 // Check if the property is a generator. If it is, we turn it into an |
|
151 // asynchronous function where we restore the default namespace and scope |
|
152 // each time it awaits/yields. |
|
153 if (result?.constructor?.name === 'GeneratorFunction') { |
|
154 return async (...args) => { |
|
155 const scope = getScope(); |
|
156 const gen = result(...args); |
|
157 let value; |
|
158 let it; |
|
159 while (true) { |
|
160 setNamespace(ns); |
|
161 setScope(scope); |
|
162 try { |
|
163 it = gen.next(value); |
|
164 } finally { |
|
165 resetScope(); |
|
166 resetNamespace(); |
|
167 } |
|
168 try { |
|
169 value = await it.value; |
|
170 } catch (e) { |
|
171 setNamespace(ns); |
|
172 setScope(scope); |
|
173 gen.throw(e); |
|
174 } finally { |
|
175 resetScope(); |
|
176 resetNamespace(); |
|
177 } |
|
178 if (it.done) { |
|
179 break; |
|
180 } |
|
181 } |
|
182 return value; |
|
183 }; |
|
184 } |
|
185 |
|
186 // Check if the property is a synchronous function. If it is, set the |
|
187 // default namespace. Synchronous functions always run in the proper scope, |
|
188 // which is set by the Directives component. |
|
189 if (typeof result === 'function') { |
|
190 return (...args) => { |
|
191 setNamespace(ns); |
|
192 try { |
|
193 return result(...args); |
|
194 } finally { |
|
195 resetNamespace(); |
|
196 } |
|
197 }; |
|
198 } |
|
199 |
|
200 // Check if the property is an object. If it is, proxyify it. |
|
201 if (isObject(result)) { |
|
202 return proxify(result, ns); |
|
203 } |
|
204 return result; |
|
205 }, |
|
206 // Prevents passing the current proxy as the receiver to the deepSignal. |
|
207 set(target, key, value) { |
|
208 return Reflect.set(target, key, value); |
|
209 } |
|
210 }; |
|
211 |
|
212 /** |
|
213 * Get the defined config for the store with the passed namespace. |
|
214 * |
|
215 * @param namespace Store's namespace from which to retrieve the config. |
|
216 * @return Defined config for the given namespace. |
|
217 */ |
|
218 const getConfig = namespace => storeConfigs.get(namespace || getNamespace()) || {}; |
|
219 const universalUnlock = 'I acknowledge that using a private store means my plugin will inevitably break on the next store release.'; |
|
220 |
|
221 /** |
|
222 * Extends the Interactivity API global store adding the passed properties to |
|
223 * the given namespace. It also returns stable references to the namespace |
|
224 * content. |
|
225 * |
|
226 * These props typically consist of `state`, which is the reactive part of the |
|
227 * store ― which means that any directive referencing a state property will be |
|
228 * re-rendered anytime it changes ― and function properties like `actions` and |
|
229 * `callbacks`, mostly used for event handlers. These props can then be |
|
230 * referenced by any directive to make the HTML interactive. |
|
231 * |
|
232 * @example |
|
233 * ```js |
|
234 * const { state } = store( 'counter', { |
|
235 * state: { |
|
236 * value: 0, |
|
237 * get double() { return state.value * 2; }, |
|
238 * }, |
|
239 * actions: { |
|
240 * increment() { |
|
241 * state.value += 1; |
|
242 * }, |
|
243 * }, |
|
244 * } ); |
|
245 * ``` |
|
246 * |
|
247 * The code from the example above allows blocks to subscribe and interact with |
|
248 * the store by using directives in the HTML, e.g.: |
|
249 * |
|
250 * ```html |
|
251 * <div data-wp-interactive="counter"> |
|
252 * <button |
|
253 * data-wp-text="state.double" |
|
254 * data-wp-on--click="actions.increment" |
|
255 * > |
|
256 * 0 |
|
257 * </button> |
|
258 * </div> |
|
259 * ``` |
|
260 * @param namespace The store namespace to interact with. |
|
261 * @param storePart Properties to add to the store namespace. |
|
262 * @param options Options for the given namespace. |
|
263 * |
|
264 * @return A reference to the namespace content. |
|
265 */ |
|
266 |
|
267 function store(namespace, { |
|
268 state = {}, |
|
269 ...block |
|
270 } = {}, { |
|
271 lock = false |
|
272 } = {}) { |
|
273 if (!stores.has(namespace)) { |
|
274 // Lock the store if the passed lock is different from the universal |
|
275 // unlock. Once the lock is set (either false, true, or a given string), |
|
276 // it cannot change. |
|
277 if (lock !== universalUnlock) { |
|
278 storeLocks.set(namespace, lock); |
|
279 } |
|
280 const rawStore = { |
|
281 state: deepsignal_module_g(isObject(state) ? state : {}), |
|
282 ...block |
|
283 }; |
|
284 const proxiedStore = new Proxy(rawStore, handlers); |
|
285 rawStores.set(namespace, rawStore); |
|
286 stores.set(namespace, proxiedStore); |
|
287 proxyToNs.set(proxiedStore, namespace); |
|
288 } else { |
|
289 // Lock the store if it wasn't locked yet and the passed lock is |
|
290 // different from the universal unlock. If no lock is given, the store |
|
291 // will be public and won't accept any lock from now on. |
|
292 if (lock !== universalUnlock && !storeLocks.has(namespace)) { |
|
293 storeLocks.set(namespace, lock); |
|
294 } else { |
|
295 const storeLock = storeLocks.get(namespace); |
|
296 const isLockValid = lock === universalUnlock || lock !== true && lock === storeLock; |
|
297 if (!isLockValid) { |
|
298 if (!storeLock) { |
|
299 throw Error('Cannot lock a public store'); |
|
300 } else { |
|
301 throw Error('Cannot unlock a private store with an invalid lock code'); |
|
302 } |
|
303 } |
|
304 } |
|
305 const target = rawStores.get(namespace); |
|
306 deepMerge(target, block); |
|
307 deepMerge(target.state, state); |
|
308 } |
|
309 return stores.get(namespace); |
|
310 } |
|
311 const parseInitialData = (dom = document) => { |
|
312 var _dom$getElementById; |
|
313 const jsonDataScriptTag = // Preferred Script Module data passing form |
|
314 (_dom$getElementById = dom.getElementById('wp-script-module-data-@wordpress/interactivity')) !== null && _dom$getElementById !== void 0 ? _dom$getElementById : |
|
315 // Legacy form |
|
316 dom.getElementById('wp-interactivity-data'); |
|
317 if (jsonDataScriptTag?.textContent) { |
|
318 try { |
|
319 return JSON.parse(jsonDataScriptTag.textContent); |
|
320 } catch {} |
|
321 } |
|
322 return {}; |
|
323 }; |
|
324 const populateInitialData = data => { |
|
325 if (isObject(data?.state)) { |
|
326 Object.entries(data.state).forEach(([namespace, state]) => { |
|
327 store(namespace, { |
|
328 state |
|
329 }, { |
|
330 lock: universalUnlock |
|
331 }); |
|
332 }); |
|
333 } |
|
334 if (isObject(data?.config)) { |
|
335 Object.entries(data.config).forEach(([namespace, config]) => { |
|
336 storeConfigs.set(namespace, config); |
|
337 }); |
|
338 } |
|
339 }; |
|
340 |
|
341 // Parse and populate the initial state and config. |
|
342 const data = parseInitialData(); |
|
343 populateInitialData(data); |
|
344 |
|
345 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/hooks.js |
|
346 // eslint-disable-next-line eslint-comments/disable-enable-pair |
|
347 /* eslint-disable react-hooks/exhaustive-deps */ |
|
348 |
|
349 /** |
|
350 * External dependencies |
|
351 */ |
|
352 |
|
353 |
|
354 /** |
|
355 * Internal dependencies |
|
356 */ |
|
357 |
|
358 |
|
359 // Main context. |
|
360 const context = G({}); |
|
361 |
|
362 // Wrap the element props to prevent modifications. |
|
363 const immutableMap = new WeakMap(); |
|
364 const immutableError = () => { |
|
365 throw new Error('Please use `data-wp-bind` to modify the attributes of an element.'); |
|
366 }; |
|
367 const immutableHandlers = { |
|
368 get(target, key, receiver) { |
|
369 const value = Reflect.get(target, key, receiver); |
|
370 return !!value && typeof value === 'object' ? deepImmutable(value) : value; |
|
371 }, |
|
372 set: immutableError, |
|
373 deleteProperty: immutableError |
|
374 }; |
|
375 const deepImmutable = target => { |
|
376 if (!immutableMap.has(target)) { |
|
377 immutableMap.set(target, new Proxy(target, immutableHandlers)); |
|
378 } |
|
379 return immutableMap.get(target); |
|
380 }; |
|
381 |
|
382 // Store stacks for the current scope and the default namespaces and export APIs |
|
383 // to interact with them. |
|
384 const scopeStack = []; |
|
385 const namespaceStack = []; |
|
386 |
|
387 /** |
|
388 * Retrieves the context inherited by the element evaluating a function from the |
|
389 * store. The returned value depends on the element and the namespace where the |
|
390 * function calling `getContext()` exists. |
|
391 * |
|
392 * @param namespace Store namespace. By default, the namespace where the calling |
|
393 * function exists is used. |
|
394 * @return The context content. |
|
395 */ |
|
396 const getContext = namespace => getScope()?.context[namespace || getNamespace()]; |
|
397 |
|
398 /** |
|
399 * Retrieves a representation of the element where a function from the store |
|
400 * is being evalutated. Such representation is read-only, and contains a |
|
401 * reference to the DOM element, its props and a local reactive state. |
|
402 * |
|
403 * @return Element representation. |
|
404 */ |
|
405 const getElement = () => { |
|
406 if (!getScope()) { |
|
407 throw Error('Cannot call `getElement()` outside getters and actions used by directives.'); |
|
408 } |
|
409 const { |
|
410 ref, |
|
411 attributes |
|
412 } = getScope(); |
|
413 return Object.freeze({ |
|
414 ref: ref.current, |
|
415 attributes: deepImmutable(attributes) |
|
416 }); |
|
417 }; |
|
418 const getScope = () => scopeStack.slice(-1)[0]; |
|
419 const setScope = scope => { |
|
420 scopeStack.push(scope); |
|
421 }; |
|
422 const resetScope = () => { |
|
423 scopeStack.pop(); |
|
424 }; |
|
425 const getNamespace = () => namespaceStack.slice(-1)[0]; |
|
426 const setNamespace = namespace => { |
|
427 namespaceStack.push(namespace); |
|
428 }; |
|
429 const resetNamespace = () => { |
|
430 namespaceStack.pop(); |
|
431 }; |
|
432 |
|
433 // WordPress Directives. |
|
434 const directiveCallbacks = {}; |
|
435 const directivePriorities = {}; |
|
436 |
|
437 /** |
|
438 * Register a new directive type in the Interactivity API runtime. |
|
439 * |
|
440 * @example |
|
441 * ```js |
|
442 * directive( |
|
443 * 'alert', // Name without the `data-wp-` prefix. |
|
444 * ( { directives: { alert }, element, evaluate } ) => { |
|
445 * const defaultEntry = alert.find( entry => entry.suffix === 'default' ); |
|
446 * element.props.onclick = () => { alert( evaluate( defaultEntry ) ); } |
|
447 * } |
|
448 * ) |
|
449 * ``` |
|
450 * |
|
451 * The previous code registers a custom directive type for displaying an alert |
|
452 * message whenever an element using it is clicked. The message text is obtained |
|
453 * from the store under the inherited namespace, using `evaluate`. |
|
454 * |
|
455 * When the HTML is processed by the Interactivity API, any element containing |
|
456 * the `data-wp-alert` directive will have the `onclick` event handler, e.g., |
|
457 * |
|
458 * ```html |
|
459 * <div data-wp-interactive="messages"> |
|
460 * <button data-wp-alert="state.alert">Click me!</button> |
|
461 * </div> |
|
462 * ``` |
|
463 * Note that, in the previous example, the directive callback gets the path |
|
464 * value (`state.alert`) from the directive entry with suffix `default`. A |
|
465 * custom suffix can also be specified by appending `--` to the directive |
|
466 * attribute, followed by the suffix, like in the following HTML snippet: |
|
467 * |
|
468 * ```html |
|
469 * <div data-wp-interactive="myblock"> |
|
470 * <button |
|
471 * data-wp-color--text="state.text" |
|
472 * data-wp-color--background="state.background" |
|
473 * >Click me!</button> |
|
474 * </div> |
|
475 * ``` |
|
476 * |
|
477 * This could be an hypothetical implementation of the custom directive used in |
|
478 * the snippet above. |
|
479 * |
|
480 * @example |
|
481 * ```js |
|
482 * directive( |
|
483 * 'color', // Name without prefix and suffix. |
|
484 * ( { directives: { color }, ref, evaluate } ) => |
|
485 * colors.forEach( ( color ) => { |
|
486 * if ( color.suffix = 'text' ) { |
|
487 * ref.style.setProperty( |
|
488 * 'color', |
|
489 * evaluate( color.text ) |
|
490 * ); |
|
491 * } |
|
492 * if ( color.suffix = 'background' ) { |
|
493 * ref.style.setProperty( |
|
494 * 'background-color', |
|
495 * evaluate( color.background ) |
|
496 * ); |
|
497 * } |
|
498 * } ); |
|
499 * } |
|
500 * ) |
|
501 * ``` |
|
502 * |
|
503 * @param name Directive name, without the `data-wp-` prefix. |
|
504 * @param callback Function that runs the directive logic. |
|
505 * @param options Options object. |
|
506 * @param options.priority Option to control the directive execution order. The |
|
507 * lesser, the highest priority. Default is `10`. |
|
508 */ |
|
509 const directive = (name, callback, { |
|
510 priority = 10 |
|
511 } = {}) => { |
|
512 directiveCallbacks[name] = callback; |
|
513 directivePriorities[name] = priority; |
|
514 }; |
|
515 |
|
516 // Resolve the path to some property of the store object. |
|
517 const resolve = (path, namespace) => { |
|
518 if (!namespace) { |
|
519 warn(`Namespace missing for "${path}". The value for that path won't be resolved.`); |
|
520 return; |
|
521 } |
|
522 let resolvedStore = stores.get(namespace); |
|
523 if (typeof resolvedStore === 'undefined') { |
|
524 resolvedStore = store(namespace, undefined, { |
|
525 lock: universalUnlock |
|
526 }); |
|
527 } |
|
528 const current = { |
|
529 ...resolvedStore, |
|
530 context: getScope().context[namespace] |
|
531 }; |
|
532 try { |
|
533 // TODO: Support lazy/dynamically initialized stores |
|
534 return path.split('.').reduce((acc, key) => acc[key], current); |
|
535 } catch (e) {} |
|
536 }; |
|
537 |
|
538 // Generate the evaluate function. |
|
539 const getEvaluate = ({ |
|
540 scope |
|
541 }) => (entry, ...args) => { |
|
542 let { |
|
543 value: path, |
|
544 namespace |
|
545 } = entry; |
|
546 if (typeof path !== 'string') { |
|
547 throw new Error('The `value` prop should be a string path'); |
|
548 } |
|
549 // If path starts with !, remove it and save a flag. |
|
550 const hasNegationOperator = path[0] === '!' && !!(path = path.slice(1)); |
|
551 setScope(scope); |
|
552 const value = resolve(path, namespace); |
|
553 const result = typeof value === 'function' ? value(...args) : value; |
|
554 resetScope(); |
|
555 return hasNegationOperator ? !result : result; |
|
556 }; |
|
557 |
|
558 // Separate directives by priority. The resulting array contains objects |
|
559 // of directives grouped by same priority, and sorted in ascending order. |
|
560 const getPriorityLevels = directives => { |
|
561 const byPriority = Object.keys(directives).reduce((obj, name) => { |
|
562 if (directiveCallbacks[name]) { |
|
563 const priority = directivePriorities[name]; |
|
564 (obj[priority] = obj[priority] || []).push(name); |
|
565 } |
|
566 return obj; |
|
567 }, {}); |
|
568 return Object.entries(byPriority).sort(([p1], [p2]) => parseInt(p1) - parseInt(p2)).map(([, arr]) => arr); |
|
569 }; |
|
570 |
|
571 // Component that wraps each priority level of directives of an element. |
|
572 const Directives = ({ |
|
573 directives, |
|
574 priorityLevels: [currentPriorityLevel, ...nextPriorityLevels], |
|
575 element, |
|
576 originalProps, |
|
577 previousScope |
|
578 }) => { |
|
579 // Initialize the scope of this element. These scopes are different per each |
|
580 // level because each level has a different context, but they share the same |
|
581 // element ref, state and props. |
|
582 const scope = hooks_module_F({}).current; |
|
583 scope.evaluate = hooks_module_x(getEvaluate({ |
|
584 scope |
|
585 }), []); |
|
586 scope.context = hooks_module_P(context); |
|
587 /* eslint-disable react-hooks/rules-of-hooks */ |
|
588 scope.ref = previousScope?.ref || hooks_module_F(null); |
|
589 /* eslint-enable react-hooks/rules-of-hooks */ |
|
590 |
|
591 // Create a fresh copy of the vnode element and add the props to the scope, |
|
592 // named as attributes (HTML Attributes). |
|
593 element = E(element, { |
|
594 ref: scope.ref |
|
595 }); |
|
596 scope.attributes = element.props; |
|
597 |
|
598 // Recursively render the wrapper for the next priority level. |
|
599 const children = nextPriorityLevels.length > 0 ? _(Directives, { |
|
600 directives, |
|
601 priorityLevels: nextPriorityLevels, |
|
602 element, |
|
603 originalProps, |
|
604 previousScope: scope |
|
605 }) : element; |
|
606 const props = { |
|
607 ...originalProps, |
|
608 children |
|
609 }; |
|
610 const directiveArgs = { |
|
611 directives, |
|
612 props, |
|
613 element, |
|
614 context, |
|
615 evaluate: scope.evaluate |
|
616 }; |
|
617 setScope(scope); |
|
618 for (const directiveName of currentPriorityLevel) { |
|
619 const wrapper = directiveCallbacks[directiveName]?.(directiveArgs); |
|
620 if (wrapper !== undefined) { |
|
621 props.children = wrapper; |
|
622 } |
|
623 } |
|
624 resetScope(); |
|
625 return props.children; |
|
626 }; |
|
627 |
|
628 // Preact Options Hook called each time a vnode is created. |
|
629 const old = preact_module_l.vnode; |
|
630 preact_module_l.vnode = vnode => { |
|
631 if (vnode.props.__directives) { |
|
632 const props = vnode.props; |
|
633 const directives = props.__directives; |
|
634 if (directives.key) { |
|
635 vnode.key = directives.key.find(({ |
|
636 suffix |
|
637 }) => suffix === 'default').value; |
|
638 } |
|
639 delete props.__directives; |
|
640 const priorityLevels = getPriorityLevels(directives); |
|
641 if (priorityLevels.length > 0) { |
|
642 vnode.props = { |
|
643 directives, |
|
644 priorityLevels, |
|
645 originalProps: props, |
|
646 type: vnode.type, |
|
647 element: _(vnode.type, props), |
|
648 top: true |
|
649 }; |
|
650 vnode.type = Directives; |
|
651 } |
|
652 } |
|
653 if (old) { |
|
654 old(vnode); |
|
655 } |
|
656 }; |
|
657 |
|
658 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/utils.js |
|
659 /** |
|
660 * External dependencies |
|
661 */ |
|
662 |
|
663 |
|
664 |
|
665 /** |
|
666 * Internal dependencies |
|
667 */ |
|
668 |
|
669 /** |
|
670 * Executes a callback function after the next frame is rendered. |
|
671 * |
|
672 * @param callback The callback function to be executed. |
|
673 * @return A promise that resolves after the callback function is executed. |
|
674 */ |
|
675 const afterNextFrame = callback => { |
|
676 return new Promise(resolve => { |
|
677 const done = () => { |
|
678 clearTimeout(timeout); |
|
679 window.cancelAnimationFrame(raf); |
|
680 setTimeout(() => { |
|
681 callback(); |
|
682 resolve(); |
|
683 }); |
|
684 }; |
|
685 const timeout = setTimeout(done, 100); |
|
686 const raf = window.requestAnimationFrame(done); |
|
687 }); |
|
688 }; |
|
689 |
|
690 /** |
|
691 * Returns a promise that resolves after yielding to main. |
|
692 * |
|
693 * @return Promise |
|
694 */ |
|
695 const splitTask = () => { |
|
696 return new Promise(resolve => { |
|
697 // TODO: Use scheduler.yield() when available. |
|
698 setTimeout(resolve, 0); |
|
699 }); |
|
700 }; |
|
701 |
|
702 /** |
|
703 * Creates a Flusher object that can be used to flush computed values and notify listeners. |
|
704 * |
|
705 * Using the mangled properties: |
|
706 * this.c: this._callback |
|
707 * this.x: this._compute |
|
708 * https://github.com/preactjs/signals/blob/main/mangle.json |
|
709 * |
|
710 * @param compute The function that computes the value to be flushed. |
|
711 * @param notify The function that notifies listeners when the value is flushed. |
|
712 * @return The Flusher object with `flush` and `dispose` properties. |
|
713 */ |
|
714 function createFlusher(compute, notify) { |
|
715 let flush = () => undefined; |
|
716 const dispose = signals_core_module_E(function () { |
|
717 flush = this.c.bind(this); |
|
718 this.x = compute; |
|
719 this.c = notify; |
|
720 return compute(); |
|
721 }); |
|
722 return { |
|
723 flush, |
|
724 dispose |
|
725 }; |
|
726 } |
|
727 |
|
728 /** |
|
729 * Custom hook that executes a callback function whenever a signal is triggered. |
|
730 * Version of `useSignalEffect` with a `useEffect`-like execution. This hook |
|
731 * implementation comes from this PR, but we added short-cirtuiting to avoid |
|
732 * infinite loops: https://github.com/preactjs/signals/pull/290 |
|
733 * |
|
734 * @param callback The callback function to be executed. |
|
735 */ |
|
736 function utils_useSignalEffect(callback) { |
|
737 hooks_module_(() => { |
|
738 let eff = null; |
|
739 let isExecuting = false; |
|
740 const notify = async () => { |
|
741 if (eff && !isExecuting) { |
|
742 isExecuting = true; |
|
743 await afterNextFrame(eff.flush); |
|
744 isExecuting = false; |
|
745 } |
|
746 }; |
|
747 eff = createFlusher(callback, notify); |
|
748 return eff.dispose; |
|
749 }, []); |
|
750 } |
|
751 |
|
752 /** |
|
753 * Returns the passed function wrapped with the current scope so it is |
|
754 * accessible whenever the function runs. This is primarily to make the scope |
|
755 * available inside hook callbacks. |
|
756 * |
|
757 * Asyncronous functions should use generators that yield promises instead of awaiting them. |
|
758 * See the documentation for details: https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#the-store |
|
759 * |
|
760 * @param func The passed function. |
|
761 * @return The wrapped function. |
|
762 */ |
|
763 |
|
764 function withScope(func) { |
|
765 const scope = getScope(); |
|
766 const ns = getNamespace(); |
|
767 if (func?.constructor?.name === 'GeneratorFunction') { |
|
768 return async (...args) => { |
|
769 const gen = func(...args); |
|
770 let value; |
|
771 let it; |
|
772 while (true) { |
|
773 setNamespace(ns); |
|
774 setScope(scope); |
|
775 try { |
|
776 it = gen.next(value); |
|
777 } finally { |
|
778 resetNamespace(); |
|
779 resetScope(); |
|
780 } |
|
781 try { |
|
782 value = await it.value; |
|
783 } catch (e) { |
|
784 gen.throw(e); |
|
785 } |
|
786 if (it.done) { |
|
787 break; |
|
788 } |
|
789 } |
|
790 return value; |
|
791 }; |
|
792 } |
|
793 return (...args) => { |
|
794 setNamespace(ns); |
|
795 setScope(scope); |
|
796 try { |
|
797 return func(...args); |
|
798 } finally { |
|
799 resetNamespace(); |
|
800 resetScope(); |
|
801 } |
|
802 }; |
|
803 } |
|
804 |
|
805 /** |
|
806 * Accepts a function that contains imperative code which runs whenever any of |
|
807 * the accessed _reactive_ properties (e.g., values from the global state or the |
|
808 * context) is modified. |
|
809 * |
|
810 * This hook makes the element's scope available so functions like |
|
811 * `getElement()` and `getContext()` can be used inside the passed callback. |
|
812 * |
|
813 * @param callback The hook callback. |
|
814 */ |
|
815 function useWatch(callback) { |
|
816 utils_useSignalEffect(withScope(callback)); |
|
817 } |
|
818 |
|
819 /** |
|
820 * Accepts a function that contains imperative code which runs only after the |
|
821 * element's first render, mainly useful for intialization logic. |
|
822 * |
|
823 * This hook makes the element's scope available so functions like |
|
824 * `getElement()` and `getContext()` can be used inside the passed callback. |
|
825 * |
|
826 * @param callback The hook callback. |
|
827 */ |
|
828 function useInit(callback) { |
|
829 hooks_module_(withScope(callback), []); |
|
830 } |
|
831 |
|
832 /** |
|
833 * Accepts a function that contains imperative, possibly effectful code. The |
|
834 * effects run after browser paint, without blocking it. |
|
835 * |
|
836 * This hook is equivalent to Preact's `useEffect` and makes the element's scope |
|
837 * available so functions like `getElement()` and `getContext()` can be used |
|
838 * inside the passed callback. |
|
839 * |
|
840 * @param callback Imperative function that can return a cleanup |
|
841 * function. |
|
842 * @param inputs If present, effect will only activate if the |
|
843 * values in the list change (using `===`). |
|
844 */ |
|
845 function useEffect(callback, inputs) { |
|
846 hooks_module_(withScope(callback), inputs); |
|
847 } |
|
848 |
|
849 /** |
|
850 * Accepts a function that contains imperative, possibly effectful code. Use |
|
851 * this to read layout from the DOM and synchronously re-render. |
|
852 * |
|
853 * This hook is equivalent to Preact's `useLayoutEffect` and makes the element's |
|
854 * scope available so functions like `getElement()` and `getContext()` can be |
|
855 * used inside the passed callback. |
|
856 * |
|
857 * @param callback Imperative function that can return a cleanup |
|
858 * function. |
|
859 * @param inputs If present, effect will only activate if the |
|
860 * values in the list change (using `===`). |
|
861 */ |
|
862 function useLayoutEffect(callback, inputs) { |
|
863 hooks_module_A(withScope(callback), inputs); |
|
864 } |
|
865 |
|
866 /** |
|
867 * Returns a memoized version of the callback that only changes if one of the |
|
868 * inputs has changed (using `===`). |
|
869 * |
|
870 * This hook is equivalent to Preact's `useCallback` and makes the element's |
|
871 * scope available so functions like `getElement()` and `getContext()` can be |
|
872 * used inside the passed callback. |
|
873 * |
|
874 * @param callback Callback function. |
|
875 * @param inputs If present, the callback will only be updated if the |
|
876 * values in the list change (using `===`). |
|
877 * |
|
878 * @return The callback function. |
|
879 */ |
|
880 function useCallback(callback, inputs) { |
|
881 return hooks_module_x(withScope(callback), inputs); |
|
882 } |
|
883 |
|
884 /** |
|
885 * Pass a factory function and an array of inputs. `useMemo` will only recompute |
|
886 * the memoized value when one of the inputs has changed. |
|
887 * |
|
888 * This hook is equivalent to Preact's `useMemo` and makes the element's scope |
|
889 * available so functions like `getElement()` and `getContext()` can be used |
|
890 * inside the passed factory function. |
|
891 * |
|
892 * @param factory Factory function that returns that value for memoization. |
|
893 * @param inputs If present, the factory will only be run to recompute if |
|
894 * the values in the list change (using `===`). |
|
895 * |
|
896 * @return The memoized value. |
|
897 */ |
|
898 function useMemo(factory, inputs) { |
|
899 return hooks_module_q(withScope(factory), inputs); |
|
900 } |
|
901 |
|
902 /** |
|
903 * Creates a root fragment by replacing a node or an array of nodes in a parent element. |
|
904 * For wrapperless hydration. |
|
905 * See https://gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c |
|
906 * |
|
907 * @param parent The parent element where the nodes will be replaced. |
|
908 * @param replaceNode The node or array of nodes to replace in the parent element. |
|
909 * @return The created root fragment. |
|
910 */ |
|
911 const createRootFragment = (parent, replaceNode) => { |
|
912 replaceNode = [].concat(replaceNode); |
|
913 const sibling = replaceNode[replaceNode.length - 1].nextSibling; |
|
914 function insert(child, root) { |
|
915 parent.insertBefore(child, root || sibling); |
|
916 } |
|
917 return parent.__k = { |
|
918 nodeType: 1, |
|
919 parentNode: parent, |
|
920 firstChild: replaceNode[0], |
|
921 childNodes: replaceNode, |
|
922 insertBefore: insert, |
|
923 appendChild: insert, |
|
924 removeChild(c) { |
|
925 parent.removeChild(c); |
|
926 } |
|
927 }; |
|
928 }; |
|
929 |
|
930 /** |
|
931 * Transforms a kebab-case string to camelCase. |
|
932 * |
|
933 * @param str The kebab-case string to transform to camelCase. |
|
934 * @return The transformed camelCase string. |
|
935 */ |
|
936 function kebabToCamelCase(str) { |
|
937 return str.replace(/^-+|-+$/g, '').toLowerCase().replace(/-([a-z])/g, function (_match, group1) { |
|
938 return group1.toUpperCase(); |
|
939 }); |
|
940 } |
|
941 const logged = new Set(); |
|
942 |
|
943 /** |
|
944 * Shows a warning with `message` if environment is not `production`. |
|
945 * |
|
946 * Based on the `@wordpress/warning` package. |
|
947 * |
|
948 * @param message Message to show in the warning. |
|
949 */ |
|
950 const warn = message => { |
|
951 if (true) { |
|
952 if (logged.has(message)) { |
|
953 return; |
|
954 } |
|
955 |
|
956 // eslint-disable-next-line no-console |
|
957 console.warn(message); |
|
958 |
|
959 // Throwing an error and catching it immediately to improve debugging |
|
960 // A consumer can use 'pause on caught exceptions' |
|
961 try { |
|
962 throw Error(message); |
|
963 } catch (e) { |
|
964 // Do nothing. |
|
965 } |
|
966 logged.add(message); |
|
967 } |
|
968 }; |
|
969 |
|
970 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/directives.js |
|
971 // eslint-disable-next-line eslint-comments/disable-enable-pair |
|
972 /* eslint-disable react-hooks/exhaustive-deps */ |
|
973 |
|
974 /** |
|
975 * External dependencies |
|
976 */ |
|
977 |
|
978 |
|
979 |
|
980 |
|
981 /** |
|
982 * Internal dependencies |
|
983 */ |
|
984 |
|
985 |
|
986 |
|
987 // Assigned objects should be ignored during proxification. |
|
988 const contextAssignedObjects = new WeakMap(); |
|
989 |
|
990 // Store the context proxy and fallback for each object in the context. |
|
991 const contextObjectToProxy = new WeakMap(); |
|
992 const contextProxyToObject = new WeakMap(); |
|
993 const contextObjectToFallback = new WeakMap(); |
|
994 const isPlainObject = item => Boolean(item && typeof item === 'object' && item.constructor === Object); |
|
995 const descriptor = Reflect.getOwnPropertyDescriptor; |
|
996 |
|
997 /** |
|
998 * Wrap a context object with a proxy to reproduce the context stack. The proxy |
|
999 * uses the passed `inherited` context as a fallback to look up for properties |
|
1000 * that don't exist in the given context. Also, updated properties are modified |
|
1001 * where they are defined, or added to the main context when they don't exist. |
|
1002 * |
|
1003 * By default, all plain objects inside the context are wrapped, unless it is |
|
1004 * listed in the `ignore` option. |
|
1005 * |
|
1006 * @param current Current context. |
|
1007 * @param inherited Inherited context, used as fallback. |
|
1008 * |
|
1009 * @return The wrapped context object. |
|
1010 */ |
|
1011 const proxifyContext = (current, inherited = {}) => { |
|
1012 // Update the fallback object reference when it changes. |
|
1013 contextObjectToFallback.set(current, inherited); |
|
1014 if (!contextObjectToProxy.has(current)) { |
|
1015 const proxy = new Proxy(current, { |
|
1016 get: (target, k) => { |
|
1017 const fallback = contextObjectToFallback.get(current); |
|
1018 // Always subscribe to prop changes in the current context. |
|
1019 const currentProp = target[k]; |
|
1020 |
|
1021 // Return the inherited prop when missing in target. |
|
1022 if (!(k in target) && k in fallback) { |
|
1023 return fallback[k]; |
|
1024 } |
|
1025 |
|
1026 // Proxify plain objects that were not directly assigned. |
|
1027 if (k in target && !contextAssignedObjects.get(target)?.has(k) && isPlainObject(deepsignal_module_p(target, k))) { |
|
1028 return proxifyContext(currentProp, fallback[k]); |
|
1029 } |
|
1030 |
|
1031 // Return the stored proxy for `currentProp` when it exists. |
|
1032 if (contextObjectToProxy.has(currentProp)) { |
|
1033 return contextObjectToProxy.get(currentProp); |
|
1034 } |
|
1035 |
|
1036 /* |
|
1037 * For other cases, return the value from target, also |
|
1038 * subscribing to changes in the parent context when the current |
|
1039 * prop is not defined. |
|
1040 */ |
|
1041 return k in target ? currentProp : fallback[k]; |
|
1042 }, |
|
1043 set: (target, k, value) => { |
|
1044 const fallback = contextObjectToFallback.get(current); |
|
1045 const obj = k in target || !(k in fallback) ? target : fallback; |
|
1046 |
|
1047 /* |
|
1048 * Assigned object values should not be proxified so they point |
|
1049 * to the original object and don't inherit unexpected |
|
1050 * properties. |
|
1051 */ |
|
1052 if (value && typeof value === 'object') { |
|
1053 if (!contextAssignedObjects.has(obj)) { |
|
1054 contextAssignedObjects.set(obj, new Set()); |
|
1055 } |
|
1056 contextAssignedObjects.get(obj).add(k); |
|
1057 } |
|
1058 |
|
1059 /* |
|
1060 * When the value is a proxy, it's because it comes from the |
|
1061 * context, so the inner value is assigned instead. |
|
1062 */ |
|
1063 if (contextProxyToObject.has(value)) { |
|
1064 const innerValue = contextProxyToObject.get(value); |
|
1065 obj[k] = innerValue; |
|
1066 } else { |
|
1067 obj[k] = value; |
|
1068 } |
|
1069 return true; |
|
1070 }, |
|
1071 ownKeys: target => [...new Set([...Object.keys(contextObjectToFallback.get(current)), ...Object.keys(target)])], |
|
1072 getOwnPropertyDescriptor: (target, k) => descriptor(target, k) || descriptor(contextObjectToFallback.get(current), k) |
|
1073 }); |
|
1074 contextObjectToProxy.set(current, proxy); |
|
1075 contextProxyToObject.set(proxy, current); |
|
1076 } |
|
1077 return contextObjectToProxy.get(current); |
|
1078 }; |
|
1079 |
|
1080 /** |
|
1081 * Recursively update values within a deepSignal object. |
|
1082 * |
|
1083 * @param target A deepSignal instance. |
|
1084 * @param source Object with properties to update in `target`. |
|
1085 */ |
|
1086 const updateSignals = (target, source) => { |
|
1087 for (const k in source) { |
|
1088 if (isPlainObject(deepsignal_module_p(target, k)) && isPlainObject(deepsignal_module_p(source, k))) { |
|
1089 updateSignals(target[`$${k}`].peek(), source[k]); |
|
1090 } else { |
|
1091 target[k] = source[k]; |
|
1092 } |
|
1093 } |
|
1094 }; |
|
1095 |
|
1096 /** |
|
1097 * Recursively clone the passed object. |
|
1098 * |
|
1099 * @param source Source object. |
|
1100 * @return Cloned object. |
|
1101 */ |
|
1102 function deepClone(source) { |
|
1103 if (isPlainObject(source)) { |
|
1104 return Object.fromEntries(Object.entries(source).map(([key, value]) => [key, deepClone(value)])); |
|
1105 } |
|
1106 if (Array.isArray(source)) { |
|
1107 return source.map(i => deepClone(i)); |
|
1108 } |
|
1109 return source; |
|
1110 } |
|
1111 const newRule = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g; |
|
1112 const ruleClean = /\/\*[^]*?\*\/| +/g; |
|
1113 const ruleNewline = /\n+/g; |
|
1114 const empty = ' '; |
|
1115 |
|
1116 /** |
|
1117 * Convert a css style string into a object. |
|
1118 * |
|
1119 * Made by Cristian Bote (@cristianbote) for Goober. |
|
1120 * https://unpkg.com/browse/goober@2.1.13/src/core/astish.js |
|
1121 * |
|
1122 * @param val CSS string. |
|
1123 * @return CSS object. |
|
1124 */ |
|
1125 const cssStringToObject = val => { |
|
1126 const tree = [{}]; |
|
1127 let block, left; |
|
1128 while (block = newRule.exec(val.replace(ruleClean, ''))) { |
|
1129 if (block[4]) { |
|
1130 tree.shift(); |
|
1131 } else if (block[3]) { |
|
1132 left = block[3].replace(ruleNewline, empty).trim(); |
|
1133 tree.unshift(tree[0][left] = tree[0][left] || {}); |
|
1134 } else { |
|
1135 tree[0][block[1]] = block[2].replace(ruleNewline, empty).trim(); |
|
1136 } |
|
1137 } |
|
1138 return tree[0]; |
|
1139 }; |
|
1140 |
|
1141 /** |
|
1142 * Creates a directive that adds an event listener to the global window or |
|
1143 * document object. |
|
1144 * |
|
1145 * @param type 'window' or 'document' |
|
1146 */ |
|
1147 const getGlobalEventDirective = type => { |
|
1148 return ({ |
|
1149 directives, |
|
1150 evaluate |
|
1151 }) => { |
|
1152 directives[`on-${type}`].filter(({ |
|
1153 suffix |
|
1154 }) => suffix !== 'default').forEach(entry => { |
|
1155 const eventName = entry.suffix.split('--', 1)[0]; |
|
1156 useInit(() => { |
|
1157 const cb = event => evaluate(entry, event); |
|
1158 const globalVar = type === 'window' ? window : document; |
|
1159 globalVar.addEventListener(eventName, cb); |
|
1160 return () => globalVar.removeEventListener(eventName, cb); |
|
1161 }); |
|
1162 }); |
|
1163 }; |
|
1164 }; |
|
1165 |
|
1166 /** |
|
1167 * Creates a directive that adds an async event listener to the global window or |
|
1168 * document object. |
|
1169 * |
|
1170 * @param type 'window' or 'document' |
|
1171 */ |
|
1172 const getGlobalAsyncEventDirective = type => { |
|
1173 return ({ |
|
1174 directives, |
|
1175 evaluate |
|
1176 }) => { |
|
1177 directives[`on-async-${type}`].filter(({ |
|
1178 suffix |
|
1179 }) => suffix !== 'default').forEach(entry => { |
|
1180 const eventName = entry.suffix.split('--', 1)[0]; |
|
1181 useInit(() => { |
|
1182 const cb = async event => { |
|
1183 await splitTask(); |
|
1184 evaluate(entry, event); |
|
1185 }; |
|
1186 const globalVar = type === 'window' ? window : document; |
|
1187 globalVar.addEventListener(eventName, cb, { |
|
1188 passive: true |
|
1189 }); |
|
1190 return () => globalVar.removeEventListener(eventName, cb); |
|
1191 }); |
|
1192 }); |
|
1193 }; |
|
1194 }; |
|
1195 /* harmony default export */ const directives = (() => { |
|
1196 // data-wp-context |
|
1197 directive('context', |
|
1198 // @ts-ignore-next-line |
|
1199 ({ |
|
1200 directives: { |
|
1201 context |
|
1202 }, |
|
1203 props: { |
|
1204 children |
|
1205 }, |
|
1206 context: inheritedContext |
|
1207 }) => { |
|
1208 const { |
|
1209 Provider |
|
1210 } = inheritedContext; |
|
1211 const inheritedValue = hooks_module_P(inheritedContext); |
|
1212 const currentValue = hooks_module_F(deepsignal_module_g({})); |
|
1213 const defaultEntry = context.find(({ |
|
1214 suffix |
|
1215 }) => suffix === 'default'); |
|
1216 |
|
1217 // No change should be made if `defaultEntry` does not exist. |
|
1218 const contextStack = hooks_module_q(() => { |
|
1219 if (defaultEntry) { |
|
1220 const { |
|
1221 namespace, |
|
1222 value |
|
1223 } = defaultEntry; |
|
1224 // Check that the value is a JSON object. Send a console warning if not. |
|
1225 if (!isPlainObject(value)) { |
|
1226 warn(`The value of data-wp-context in "${namespace}" store must be a valid stringified JSON object.`); |
|
1227 } |
|
1228 updateSignals(currentValue.current, { |
|
1229 [namespace]: deepClone(value) |
|
1230 }); |
|
1231 } |
|
1232 return proxifyContext(currentValue.current, inheritedValue); |
|
1233 }, [defaultEntry, inheritedValue]); |
|
1234 return _(Provider, { |
|
1235 value: contextStack |
|
1236 }, children); |
|
1237 }, { |
|
1238 priority: 5 |
|
1239 }); |
|
1240 |
|
1241 // data-wp-watch--[name] |
|
1242 directive('watch', ({ |
|
1243 directives: { |
|
1244 watch |
|
1245 }, |
|
1246 evaluate |
|
1247 }) => { |
|
1248 watch.forEach(entry => { |
|
1249 useWatch(() => evaluate(entry)); |
|
1250 }); |
|
1251 }); |
|
1252 |
|
1253 // data-wp-init--[name] |
|
1254 directive('init', ({ |
|
1255 directives: { |
|
1256 init |
|
1257 }, |
|
1258 evaluate |
|
1259 }) => { |
|
1260 init.forEach(entry => { |
|
1261 // TODO: Replace with useEffect to prevent unneeded scopes. |
|
1262 useInit(() => evaluate(entry)); |
|
1263 }); |
|
1264 }); |
|
1265 |
|
1266 // data-wp-on--[event] |
|
1267 directive('on', ({ |
|
1268 directives: { |
|
1269 on |
|
1270 }, |
|
1271 element, |
|
1272 evaluate |
|
1273 }) => { |
|
1274 const events = new Map(); |
|
1275 on.filter(({ |
|
1276 suffix |
|
1277 }) => suffix !== 'default').forEach(entry => { |
|
1278 const event = entry.suffix.split('--')[0]; |
|
1279 if (!events.has(event)) { |
|
1280 events.set(event, new Set()); |
|
1281 } |
|
1282 events.get(event).add(entry); |
|
1283 }); |
|
1284 events.forEach((entries, eventType) => { |
|
1285 const existingHandler = element.props[`on${eventType}`]; |
|
1286 element.props[`on${eventType}`] = event => { |
|
1287 entries.forEach(entry => { |
|
1288 if (existingHandler) { |
|
1289 existingHandler(event); |
|
1290 } |
|
1291 evaluate(entry, event); |
|
1292 }); |
|
1293 }; |
|
1294 }); |
|
1295 }); |
|
1296 |
|
1297 // data-wp-on-async--[event] |
|
1298 directive('on-async', ({ |
|
1299 directives: { |
|
1300 'on-async': onAsync |
|
1301 }, |
|
1302 element, |
|
1303 evaluate |
|
1304 }) => { |
|
1305 const events = new Map(); |
|
1306 onAsync.filter(({ |
|
1307 suffix |
|
1308 }) => suffix !== 'default').forEach(entry => { |
|
1309 const event = entry.suffix.split('--')[0]; |
|
1310 if (!events.has(event)) { |
|
1311 events.set(event, new Set()); |
|
1312 } |
|
1313 events.get(event).add(entry); |
|
1314 }); |
|
1315 events.forEach((entries, eventType) => { |
|
1316 const existingHandler = element.props[`on${eventType}`]; |
|
1317 element.props[`on${eventType}`] = event => { |
|
1318 if (existingHandler) { |
|
1319 existingHandler(event); |
|
1320 } |
|
1321 entries.forEach(async entry => { |
|
1322 await splitTask(); |
|
1323 evaluate(entry, event); |
|
1324 }); |
|
1325 }; |
|
1326 }); |
|
1327 }); |
|
1328 |
|
1329 // data-wp-on-window--[event] |
|
1330 directive('on-window', getGlobalEventDirective('window')); |
|
1331 // data-wp-on-document--[event] |
|
1332 directive('on-document', getGlobalEventDirective('document')); |
|
1333 |
|
1334 // data-wp-on-async-window--[event] |
|
1335 directive('on-async-window', getGlobalAsyncEventDirective('window')); |
|
1336 // data-wp-on-async-document--[event] |
|
1337 directive('on-async-document', getGlobalAsyncEventDirective('document')); |
|
1338 |
|
1339 // data-wp-class--[classname] |
|
1340 directive('class', ({ |
|
1341 directives: { |
|
1342 class: classNames |
|
1343 }, |
|
1344 element, |
|
1345 evaluate |
|
1346 }) => { |
|
1347 classNames.filter(({ |
|
1348 suffix |
|
1349 }) => suffix !== 'default').forEach(entry => { |
|
1350 const className = entry.suffix; |
|
1351 const result = evaluate(entry); |
|
1352 const currentClass = element.props.class || ''; |
|
1353 const classFinder = new RegExp(`(^|\\s)${className}(\\s|$)`, 'g'); |
|
1354 if (!result) { |
|
1355 element.props.class = currentClass.replace(classFinder, ' ').trim(); |
|
1356 } else if (!classFinder.test(currentClass)) { |
|
1357 element.props.class = currentClass ? `${currentClass} ${className}` : className; |
|
1358 } |
|
1359 useInit(() => { |
|
1360 /* |
|
1361 * This seems necessary because Preact doesn't change the class |
|
1362 * names on the hydration, so we have to do it manually. It doesn't |
|
1363 * need deps because it only needs to do it the first time. |
|
1364 */ |
|
1365 if (!result) { |
|
1366 element.ref.current.classList.remove(className); |
|
1367 } else { |
|
1368 element.ref.current.classList.add(className); |
|
1369 } |
|
1370 }); |
|
1371 }); |
|
1372 }); |
|
1373 |
|
1374 // data-wp-style--[style-prop] |
|
1375 directive('style', ({ |
|
1376 directives: { |
|
1377 style |
|
1378 }, |
|
1379 element, |
|
1380 evaluate |
|
1381 }) => { |
|
1382 style.filter(({ |
|
1383 suffix |
|
1384 }) => suffix !== 'default').forEach(entry => { |
|
1385 const styleProp = entry.suffix; |
|
1386 const result = evaluate(entry); |
|
1387 element.props.style = element.props.style || {}; |
|
1388 if (typeof element.props.style === 'string') { |
|
1389 element.props.style = cssStringToObject(element.props.style); |
|
1390 } |
|
1391 if (!result) { |
|
1392 delete element.props.style[styleProp]; |
|
1393 } else { |
|
1394 element.props.style[styleProp] = result; |
|
1395 } |
|
1396 useInit(() => { |
|
1397 /* |
|
1398 * This seems necessary because Preact doesn't change the styles on |
|
1399 * the hydration, so we have to do it manually. It doesn't need deps |
|
1400 * because it only needs to do it the first time. |
|
1401 */ |
|
1402 if (!result) { |
|
1403 element.ref.current.style.removeProperty(styleProp); |
|
1404 } else { |
|
1405 element.ref.current.style[styleProp] = result; |
|
1406 } |
|
1407 }); |
|
1408 }); |
|
1409 }); |
|
1410 |
|
1411 // data-wp-bind--[attribute] |
|
1412 directive('bind', ({ |
|
1413 directives: { |
|
1414 bind |
|
1415 }, |
|
1416 element, |
|
1417 evaluate |
|
1418 }) => { |
|
1419 bind.filter(({ |
|
1420 suffix |
|
1421 }) => suffix !== 'default').forEach(entry => { |
|
1422 const attribute = entry.suffix; |
|
1423 const result = evaluate(entry); |
|
1424 element.props[attribute] = result; |
|
1425 |
|
1426 /* |
|
1427 * This is necessary because Preact doesn't change the attributes on the |
|
1428 * hydration, so we have to do it manually. It only needs to do it the |
|
1429 * first time. After that, Preact will handle the changes. |
|
1430 */ |
|
1431 useInit(() => { |
|
1432 const el = element.ref.current; |
|
1433 |
|
1434 /* |
|
1435 * We set the value directly to the corresponding HTMLElement instance |
|
1436 * property excluding the following special cases. We follow Preact's |
|
1437 * logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L110-L129 |
|
1438 */ |
|
1439 if (attribute === 'style') { |
|
1440 if (typeof result === 'string') { |
|
1441 el.style.cssText = result; |
|
1442 } |
|
1443 return; |
|
1444 } else if (attribute !== 'width' && attribute !== 'height' && attribute !== 'href' && attribute !== 'list' && attribute !== 'form' && |
|
1445 /* |
|
1446 * The value for `tabindex` follows the parsing rules for an |
|
1447 * integer. If that fails, or if the attribute isn't present, then |
|
1448 * the browsers should "follow platform conventions to determine if |
|
1449 * the element should be considered as a focusable area", |
|
1450 * practically meaning that most elements get a default of `-1` (not |
|
1451 * focusable), but several also get a default of `0` (focusable in |
|
1452 * order after all elements with a positive `tabindex` value). |
|
1453 * |
|
1454 * @see https://html.spec.whatwg.org/#tabindex-value |
|
1455 */ |
|
1456 attribute !== 'tabIndex' && attribute !== 'download' && attribute !== 'rowSpan' && attribute !== 'colSpan' && attribute !== 'role' && attribute in el) { |
|
1457 try { |
|
1458 el[attribute] = result === null || result === undefined ? '' : result; |
|
1459 return; |
|
1460 } catch (err) {} |
|
1461 } |
|
1462 /* |
|
1463 * aria- and data- attributes have no boolean representation. |
|
1464 * A `false` value is different from the attribute not being |
|
1465 * present, so we can't remove it. |
|
1466 * We follow Preact's logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136 |
|
1467 */ |
|
1468 if (result !== null && result !== undefined && (result !== false || attribute[4] === '-')) { |
|
1469 el.setAttribute(attribute, result); |
|
1470 } else { |
|
1471 el.removeAttribute(attribute); |
|
1472 } |
|
1473 }); |
|
1474 }); |
|
1475 }); |
|
1476 |
|
1477 // data-wp-ignore |
|
1478 directive('ignore', ({ |
|
1479 element: { |
|
1480 type: Type, |
|
1481 props: { |
|
1482 innerHTML, |
|
1483 ...rest |
|
1484 } |
|
1485 } |
|
1486 }) => { |
|
1487 // Preserve the initial inner HTML. |
|
1488 const cached = hooks_module_q(() => innerHTML, []); |
|
1489 return _(Type, { |
|
1490 dangerouslySetInnerHTML: { |
|
1491 __html: cached |
|
1492 }, |
|
1493 ...rest |
|
1494 }); |
|
1495 }); |
|
1496 |
|
1497 // data-wp-text |
|
1498 directive('text', ({ |
|
1499 directives: { |
|
1500 text |
|
1501 }, |
|
1502 element, |
|
1503 evaluate |
|
1504 }) => { |
|
1505 const entry = text.find(({ |
|
1506 suffix |
|
1507 }) => suffix === 'default'); |
|
1508 if (!entry) { |
|
1509 element.props.children = null; |
|
1510 return; |
|
1511 } |
|
1512 try { |
|
1513 const result = evaluate(entry); |
|
1514 element.props.children = typeof result === 'object' ? null : result.toString(); |
|
1515 } catch (e) { |
|
1516 element.props.children = null; |
|
1517 } |
|
1518 }); |
|
1519 |
|
1520 // data-wp-run |
|
1521 directive('run', ({ |
|
1522 directives: { |
|
1523 run |
|
1524 }, |
|
1525 evaluate |
|
1526 }) => { |
|
1527 run.forEach(entry => evaluate(entry)); |
|
1528 }); |
|
1529 |
|
1530 // data-wp-each--[item] |
|
1531 directive('each', ({ |
|
1532 directives: { |
|
1533 each, |
|
1534 'each-key': eachKey |
|
1535 }, |
|
1536 context: inheritedContext, |
|
1537 element, |
|
1538 evaluate |
|
1539 }) => { |
|
1540 if (element.type !== 'template') { |
|
1541 return; |
|
1542 } |
|
1543 const { |
|
1544 Provider |
|
1545 } = inheritedContext; |
|
1546 const inheritedValue = hooks_module_P(inheritedContext); |
|
1547 const [entry] = each; |
|
1548 const { |
|
1549 namespace, |
|
1550 suffix |
|
1551 } = entry; |
|
1552 const list = evaluate(entry); |
|
1553 return list.map(item => { |
|
1554 const itemProp = suffix === 'default' ? 'item' : kebabToCamelCase(suffix); |
|
1555 const itemContext = deepsignal_module_g({ |
|
1556 [namespace]: {} |
|
1557 }); |
|
1558 const mergedContext = proxifyContext(itemContext, inheritedValue); |
|
1559 |
|
1560 // Set the item after proxifying the context. |
|
1561 mergedContext[namespace][itemProp] = item; |
|
1562 const scope = { |
|
1563 ...getScope(), |
|
1564 context: mergedContext |
|
1565 }; |
|
1566 const key = eachKey ? getEvaluate({ |
|
1567 scope |
|
1568 })(eachKey[0]) : item; |
|
1569 return _(Provider, { |
|
1570 value: mergedContext, |
|
1571 key |
|
1572 }, element.props.content); |
|
1573 }); |
|
1574 }, { |
|
1575 priority: 20 |
|
1576 }); |
|
1577 directive('each-child', () => null, { |
|
1578 priority: 1 |
|
1579 }); |
|
1580 }); |
|
1581 |
|
1582 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/constants.js |
|
1583 const directivePrefix = 'wp'; |
|
1584 |
|
1585 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/vdom.js |
|
1586 /** |
|
1587 * External dependencies |
|
1588 */ |
|
1589 |
|
1590 /** |
|
1591 * Internal dependencies |
|
1592 */ |
|
1593 |
|
1594 |
|
1595 const ignoreAttr = `data-${directivePrefix}-ignore`; |
|
1596 const islandAttr = `data-${directivePrefix}-interactive`; |
|
1597 const fullPrefix = `data-${directivePrefix}-`; |
|
1598 const namespaces = []; |
|
1599 const currentNamespace = () => { |
|
1600 var _namespaces; |
|
1601 return (_namespaces = namespaces[namespaces.length - 1]) !== null && _namespaces !== void 0 ? _namespaces : null; |
|
1602 }; |
|
1603 const vdom_isObject = item => Boolean(item && typeof item === 'object' && item.constructor === Object); |
|
1604 |
|
1605 // Regular expression for directive parsing. |
|
1606 const directiveParser = new RegExp(`^data-${directivePrefix}-` + |
|
1607 // ${p} must be a prefix string, like 'wp'. |
|
1608 // Match alphanumeric characters including hyphen-separated |
|
1609 // segments. It excludes underscore intentionally to prevent confusion. |
|
1610 // E.g., "custom-directive". |
|
1611 '([a-z0-9]+(?:-[a-z0-9]+)*)' + |
|
1612 // (Optional) Match '--' followed by any alphanumeric charachters. It |
|
1613 // excludes underscore intentionally to prevent confusion, but it can |
|
1614 // contain multiple hyphens. E.g., "--custom-prefix--with-more-info". |
|
1615 '(?:--([a-z0-9_-]+))?$', 'i' // Case insensitive. |
|
1616 ); |
|
1617 |
|
1618 // Regular expression for reference parsing. It can contain a namespace before |
|
1619 // the reference, separated by `::`, like `some-namespace::state.somePath`. |
|
1620 // Namespaces can contain any alphanumeric characters, hyphens, underscores or |
|
1621 // forward slashes. References don't have any restrictions. |
|
1622 const nsPathRegExp = /^([\w_\/-]+)::(.+)$/; |
|
1623 const hydratedIslands = new WeakSet(); |
|
1624 |
|
1625 /** |
|
1626 * Recursive function that transforms a DOM tree into vDOM. |
|
1627 * |
|
1628 * @param root The root element or node to start traversing on. |
|
1629 * @return The resulting vDOM tree. |
|
1630 */ |
|
1631 function toVdom(root) { |
|
1632 const treeWalker = document.createTreeWalker(root, 205 // TEXT + CDATA_SECTION + COMMENT + PROCESSING_INSTRUCTION + ELEMENT |
|
1633 ); |
|
1634 function walk(node) { |
|
1635 const { |
|
1636 nodeType |
|
1637 } = node; |
|
1638 |
|
1639 // TEXT_NODE (3) |
|
1640 if (nodeType === 3) { |
|
1641 return [node.data]; |
|
1642 } |
|
1643 |
|
1644 // CDATA_SECTION_NODE (4) |
|
1645 if (nodeType === 4) { |
|
1646 var _nodeValue; |
|
1647 const next = treeWalker.nextSibling(); |
|
1648 node.replaceWith(new window.Text((_nodeValue = node.nodeValue) !== null && _nodeValue !== void 0 ? _nodeValue : '')); |
|
1649 return [node.nodeValue, next]; |
|
1650 } |
|
1651 |
|
1652 // COMMENT_NODE (8) || PROCESSING_INSTRUCTION_NODE (7) |
|
1653 if (nodeType === 8 || nodeType === 7) { |
|
1654 const next = treeWalker.nextSibling(); |
|
1655 node.remove(); |
|
1656 return [null, next]; |
|
1657 } |
|
1658 const elementNode = node; |
|
1659 const { |
|
1660 attributes |
|
1661 } = elementNode; |
|
1662 const localName = elementNode.localName; |
|
1663 const props = {}; |
|
1664 const children = []; |
|
1665 const directives = []; |
|
1666 let ignore = false; |
|
1667 let island = false; |
|
1668 for (let i = 0; i < attributes.length; i++) { |
|
1669 const attributeName = attributes[i].name; |
|
1670 const attributeValue = attributes[i].value; |
|
1671 if (attributeName[fullPrefix.length] && attributeName.slice(0, fullPrefix.length) === fullPrefix) { |
|
1672 if (attributeName === ignoreAttr) { |
|
1673 ignore = true; |
|
1674 } else { |
|
1675 var _regexResult$, _regexResult$2; |
|
1676 const regexResult = nsPathRegExp.exec(attributeValue); |
|
1677 const namespace = (_regexResult$ = regexResult?.[1]) !== null && _regexResult$ !== void 0 ? _regexResult$ : null; |
|
1678 let value = (_regexResult$2 = regexResult?.[2]) !== null && _regexResult$2 !== void 0 ? _regexResult$2 : attributeValue; |
|
1679 try { |
|
1680 const parsedValue = JSON.parse(value); |
|
1681 value = vdom_isObject(parsedValue) ? parsedValue : value; |
|
1682 } catch {} |
|
1683 if (attributeName === islandAttr) { |
|
1684 island = true; |
|
1685 const islandNamespace = |
|
1686 // eslint-disable-next-line no-nested-ternary |
|
1687 typeof value === 'string' ? value : typeof value?.namespace === 'string' ? value.namespace : null; |
|
1688 namespaces.push(islandNamespace); |
|
1689 } else { |
|
1690 directives.push([attributeName, namespace, value]); |
|
1691 } |
|
1692 } |
|
1693 } else if (attributeName === 'ref') { |
|
1694 continue; |
|
1695 } |
|
1696 props[attributeName] = attributeValue; |
|
1697 } |
|
1698 if (ignore && !island) { |
|
1699 return [_(localName, { |
|
1700 ...props, |
|
1701 innerHTML: elementNode.innerHTML, |
|
1702 __directives: { |
|
1703 ignore: true |
|
1704 } |
|
1705 })]; |
|
1706 } |
|
1707 if (island) { |
|
1708 hydratedIslands.add(elementNode); |
|
1709 } |
|
1710 if (directives.length) { |
|
1711 props.__directives = directives.reduce((obj, [name, ns, value]) => { |
|
1712 const directiveMatch = directiveParser.exec(name); |
|
1713 if (directiveMatch === null) { |
|
1714 warn(`Found malformed directive name: ${name}.`); |
|
1715 return obj; |
|
1716 } |
|
1717 const prefix = directiveMatch[1] || ''; |
|
1718 const suffix = directiveMatch[2] || 'default'; |
|
1719 obj[prefix] = obj[prefix] || []; |
|
1720 obj[prefix].push({ |
|
1721 namespace: ns !== null && ns !== void 0 ? ns : currentNamespace(), |
|
1722 value, |
|
1723 suffix |
|
1724 }); |
|
1725 return obj; |
|
1726 }, {}); |
|
1727 } |
|
1728 |
|
1729 // @ts-expect-error Fixed in upcoming preact release https://github.com/preactjs/preact/pull/4334 |
|
1730 if (localName === 'template') { |
|
1731 props.content = [...elementNode.content.childNodes].map(childNode => toVdom(childNode)); |
|
1732 } else { |
|
1733 let child = treeWalker.firstChild(); |
|
1734 if (child) { |
|
1735 while (child) { |
|
1736 const [vnode, nextChild] = walk(child); |
|
1737 if (vnode) { |
|
1738 children.push(vnode); |
|
1739 } |
|
1740 child = nextChild || treeWalker.nextSibling(); |
|
1741 } |
|
1742 treeWalker.parentNode(); |
|
1743 } |
|
1744 } |
|
1745 |
|
1746 // Restore previous namespace. |
|
1747 if (island) { |
|
1748 namespaces.pop(); |
|
1749 } |
|
1750 return [_(localName, props, children)]; |
|
1751 } |
|
1752 return walk(treeWalker.currentNode); |
|
1753 } |
|
1754 |
|
1755 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/init.js |
|
1756 /** |
|
1757 * External dependencies |
|
1758 */ |
|
1759 |
|
1760 /** |
|
1761 * Internal dependencies |
|
1762 */ |
|
1763 |
|
1764 |
|
1765 |
|
1766 |
|
1767 // Keep the same root fragment for each interactive region node. |
|
1768 const regionRootFragments = new WeakMap(); |
|
1769 const getRegionRootFragment = region => { |
|
1770 if (!region.parentElement) { |
|
1771 throw Error('The passed region should be an element with a parent.'); |
|
1772 } |
|
1773 if (!regionRootFragments.has(region)) { |
|
1774 regionRootFragments.set(region, createRootFragment(region.parentElement, region)); |
|
1775 } |
|
1776 return regionRootFragments.get(region); |
|
1777 }; |
|
1778 |
|
1779 // Initial vDOM regions associated with its DOM element. |
|
1780 const initialVdom = new WeakMap(); |
|
1781 |
|
1782 // Initialize the router with the initial DOM. |
|
1783 const init = async () => { |
|
1784 const nodes = document.querySelectorAll(`[data-${directivePrefix}-interactive]`); |
|
1785 for (const node of nodes) { |
|
1786 if (!hydratedIslands.has(node)) { |
|
1787 await splitTask(); |
|
1788 const fragment = getRegionRootFragment(node); |
|
1789 const vdom = toVdom(node); |
|
1790 initialVdom.set(node, vdom); |
|
1791 await splitTask(); |
|
1792 D(vdom, fragment); |
|
1793 } |
|
1794 } |
|
1795 }; |
|
1796 |
|
1797 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/index.js |
|
1798 /** |
|
1799 * External dependencies |
|
1800 */ |
|
1801 |
|
1802 |
|
1803 |
|
1804 |
|
1805 /** |
|
1806 * Internal dependencies |
|
1807 */ |
|
1808 |
|
1809 |
|
1810 |
|
1811 |
|
1812 |
|
1813 |
|
1814 |
|
1815 |
|
1816 |
|
1817 |
|
1818 const requiredConsent = 'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.'; |
|
1819 const privateApis = lock => { |
|
1820 if (lock === requiredConsent) { |
|
1821 return { |
|
1822 directivePrefix: directivePrefix, |
|
1823 getRegionRootFragment: getRegionRootFragment, |
|
1824 initialVdom: initialVdom, |
|
1825 toVdom: toVdom, |
|
1826 directive: directive, |
|
1827 getNamespace: getNamespace, |
|
1828 h: _, |
|
1829 cloneElement: E, |
|
1830 render: B, |
|
1831 deepSignal: deepsignal_module_g, |
|
1832 parseInitialData: parseInitialData, |
|
1833 populateInitialData: populateInitialData, |
|
1834 batch: signals_core_module_r |
|
1835 }; |
|
1836 } |
|
1837 throw new Error('Forbidden access.'); |
|
1838 }; |
|
1839 document.addEventListener('DOMContentLoaded', async () => { |
|
1840 directives(); |
|
1841 await init(); |
|
1842 }); |
|
1843 |
|
1844 ;// CONCATENATED MODULE: ./node_modules/@wordpress/interactivity/build-module/debug.js |
|
1845 /** |
|
1846 * External dependencies |
|
1847 */ |
|
1848 |
|
1849 |
|
1850 |
|
1851 var __webpack_exports__getConfig = __webpack_exports__.zj; |
|
1852 var __webpack_exports__getContext = __webpack_exports__.SD; |
|
1853 var __webpack_exports__getElement = __webpack_exports__.V6; |
|
1854 var __webpack_exports__privateApis = __webpack_exports__.jb; |
|
1855 var __webpack_exports__splitTask = __webpack_exports__.yT; |
|
1856 var __webpack_exports__store = __webpack_exports__.M_; |
|
1857 var __webpack_exports__useCallback = __webpack_exports__.hb; |
|
1858 var __webpack_exports__useEffect = __webpack_exports__.vJ; |
|
1859 var __webpack_exports__useInit = __webpack_exports__.ip; |
|
1860 var __webpack_exports__useLayoutEffect = __webpack_exports__.Nf; |
|
1861 var __webpack_exports__useMemo = __webpack_exports__.Kr; |
|
1862 var __webpack_exports__useRef = __webpack_exports__.li; |
|
1863 var __webpack_exports__useState = __webpack_exports__.J0; |
|
1864 var __webpack_exports__useWatch = __webpack_exports__.FH; |
|
1865 var __webpack_exports__withScope = __webpack_exports__.v4; |
|
1866 export { __webpack_exports__getConfig as getConfig, __webpack_exports__getContext as getContext, __webpack_exports__getElement as getElement, __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 }; |