isomorfeus-preact 10.8.0 → 10.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isomorfeus_preact/preact/function_component/api.rb +24 -0
- data/lib/preact/version.rb +1 -1
- data/node_modules/.package-lock.json +5 -7
- data/node_modules/preact/compat/dist/compat.js +2 -2
- data/node_modules/preact/compat/dist/compat.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.mjs +2 -2
- data/node_modules/preact/compat/dist/compat.module.js +2 -2
- data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
- data/node_modules/preact/compat/dist/compat.umd.js +2 -2
- data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
- data/node_modules/preact/compat/src/index.d.ts +164 -155
- data/node_modules/preact/compat/src/index.js +223 -187
- data/node_modules/preact/compat/src/render.js +238 -238
- data/node_modules/preact/debug/dist/debug.js +2 -2
- data/node_modules/preact/debug/dist/debug.js.map +1 -1
- data/node_modules/preact/debug/dist/debug.mjs +2 -2
- data/node_modules/preact/debug/dist/debug.module.js +2 -2
- data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
- data/node_modules/preact/debug/dist/debug.umd.js +2 -2
- data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
- data/node_modules/preact/debug/src/debug.js +437 -444
- data/node_modules/preact/devtools/dist/devtools.js +2 -2
- data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.mjs +2 -2
- data/node_modules/preact/devtools/dist/devtools.module.js +2 -2
- data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
- data/node_modules/preact/devtools/dist/devtools.umd.js +2 -2
- data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
- data/node_modules/preact/devtools/src/devtools.js +10 -10
- data/node_modules/preact/hooks/dist/hooks.js +2 -2
- data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.mjs +2 -2
- data/node_modules/preact/hooks/dist/hooks.module.js +2 -2
- data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
- data/node_modules/preact/hooks/dist/hooks.umd.js +2 -2
- data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
- data/node_modules/preact/hooks/src/index.js +417 -404
- data/node_modules/preact/hooks/src/internal.d.ts +3 -0
- data/node_modules/preact/package.json +304 -304
- data/node_modules/preact/src/jsx.d.ts +1014 -1013
- data/package.json +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fd60ca53a616be371c66eb5cf584563df83c595dcab068a393db00e0f47d921
|
4
|
+
data.tar.gz: 36943fe176fd85721fa2fe2c13a13a630c3fd963d3d5a4b63a0105b8fecd54ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7628277342dbd37726bb660c0583cc295230d4b9b1078fa7615a1b5983a62f5b202e6aee99caa44b70cb807107008dfc948f78bab154b83c8c39eac99748e940
|
7
|
+
data.tar.gz: 72731c0e8f8355730492e35d23d60affd906141578338c49c64042fdb3713418c403293f28aab560b6e47d68a3ac130c8424ef0eecf1ff239d8db85c0d433b3d
|
@@ -25,6 +25,10 @@ module Preact::FunctionComponent::Api
|
|
25
25
|
`Opal.global.PreactHooks.useDebugValue(value, formatter)`
|
26
26
|
end
|
27
27
|
|
28
|
+
def use_deferred_value(value)
|
29
|
+
`Opal.global.PreactHooks.useDeferredValue(value)`
|
30
|
+
end
|
31
|
+
|
28
32
|
def use_effect(*args, &block)
|
29
33
|
`Opal.global.PreactHooks.useEffect(function() { #{block.call} }, args)`
|
30
34
|
end
|
@@ -45,12 +49,20 @@ module Preact::FunctionComponent::Api
|
|
45
49
|
[error, reset_error]
|
46
50
|
end
|
47
51
|
|
52
|
+
def use_id
|
53
|
+
`Opal.global.PreactHooks.useId()`
|
54
|
+
end
|
55
|
+
|
48
56
|
def use_imperative_handle(ruby_ref, *args, &block)
|
49
57
|
ref = ruby_ref.to_n
|
50
58
|
args = `null` if args.empty?
|
51
59
|
`Opal.global.PreactHooks.useImperativeHandle(ref, function() { #{block.call} }, args)`
|
52
60
|
end
|
53
61
|
|
62
|
+
def use_insertion_effect
|
63
|
+
`Opal.global.PreactHooks.useInsertionEffect(function() { #{block.call} }, args)`
|
64
|
+
end
|
65
|
+
|
54
66
|
def use_layout_effect(&block)
|
55
67
|
`Opal.global.PreactHooks.useLayoutEffect(function() { #{block.call} })`
|
56
68
|
end
|
@@ -81,6 +93,18 @@ module Preact::FunctionComponent::Api
|
|
81
93
|
[initial, proc { |arg| `setter(arg)` }]
|
82
94
|
end
|
83
95
|
|
96
|
+
def use_sync_external_store(subscribe, get_snapshot, get_server_snapshot)
|
97
|
+
gss = get_server_snapshot.nil? ? `null` : `function() { return #{get_server_snapshot.call} }`
|
98
|
+
`Opal.global.PreactHooks.useSyncExternalStore(function() { #{subscribe.call} }, function() { return #{get_snapshot.call}}, gss)`
|
99
|
+
end
|
100
|
+
|
101
|
+
def use_transition
|
102
|
+
is_pending = nil
|
103
|
+
start_transition = nil
|
104
|
+
`[is_pending, start_transition] = Opal.global.PreactHooks.useTransition()`
|
105
|
+
[is_pending, proc { |arg| `start_transition(function(){#{arg&.call}})`}]
|
106
|
+
end
|
107
|
+
|
84
108
|
def get_preact_element(arg, &block)
|
85
109
|
`let operabu = Opal.Preact.render_buffer`
|
86
110
|
if block_given?
|
data/lib/preact/version.rb
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
"requires": true,
|
5
5
|
"packages": {
|
6
6
|
"node_modules/preact": {
|
7
|
-
"version": "10.
|
8
|
-
"resolved": "https://registry.npmjs.org/preact/-/preact-10.
|
9
|
-
"integrity": "sha512-
|
7
|
+
"version": "10.9.0",
|
8
|
+
"resolved": "https://registry.npmjs.org/preact/-/preact-10.9.0.tgz",
|
9
|
+
"integrity": "sha512-jO6/OvCRL+OT8gst/+Q2ir7dMybZAX8ioP02Zmzh3BkQMHLyqZSujvxbUriXvHi8qmhcHKC2Gwbog6Kt+YTh+Q==",
|
10
10
|
"funding": {
|
11
11
|
"type": "opencollective",
|
12
12
|
"url": "https://opencollective.com/preact"
|
@@ -25,13 +25,11 @@
|
|
25
25
|
},
|
26
26
|
"node_modules/pretty-format": {
|
27
27
|
"version": "3.8.0",
|
28
|
-
"
|
29
|
-
"integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U="
|
28
|
+
"license": "MIT"
|
30
29
|
},
|
31
30
|
"node_modules/wouter-preact": {
|
32
31
|
"version": "2.7.5",
|
33
|
-
"
|
34
|
-
"integrity": "sha512-nCLusgQTlLO95ZkcrCMZ4XdZ3wsPE/IOGsLgThXyK/GWPu1tFbWJlqKd78ZPqOW5zFrYATim7K5hxbsV7fawfQ==",
|
32
|
+
"license": "ISC",
|
35
33
|
"peerDependencies": {
|
36
34
|
"preact": "^10.0.0"
|
37
35
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var n=require("preact/hooks"),t=require("preact");function e(n,t){for(var e in t)n[e]=t[e];return n}function r(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function o(n){this.props=n}function u(n,e){function o(n){var t=this.props.ref,o=t==n.ref;return!o&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!o:r(this.props,n)}function u(e){return this.shouldComponentUpdate=o,t.createElement(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(o.prototype=new t.Component).isPureReactComponent=!0,o.prototype.shouldComponentUpdate=function(n,t){return r(this.props,n)||r(this.state,t)};var i=t.options.__b;t.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),i&&i(n)};var l="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function
|
2
|
-
//# sourceMappingURL=compat.js.map
|
1
|
+
var n=require("preact/hooks"),t=require("preact");function e(n,t){for(var e in t)n[e]=t[e];return n}function r(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function o(n){this.props=n}function u(n,e){function o(n){var t=this.props.ref,o=t==n.ref;return!o&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!o:r(this.props,n)}function u(e){return this.shouldComponentUpdate=o,t.createElement(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(o.prototype=new t.Component).isPureReactComponent=!0,o.prototype.shouldComponentUpdate=function(n,t){return r(this.props,n)||r(this.state,t)};var i=t.options.__b;t.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),i&&i(n)};var l="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function f(n){function t(t){var r=e({},t);return delete r.ref,n(r,t.ref||null)}return t.$$typeof=l,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var c=function(n,e){return null==n?null:t.toChildArray(t.toChildArray(n).map(e))},a={map:c,forEach:c,count:function(n){return n?t.toChildArray(n).length:0},only:function(n){var e=t.toChildArray(n);if(1!==e.length)throw"Children.only";return e[0]},toArray:t.toChildArray},s=t.options.__e;t.options.__e=function(n,t,e,r){if(n.then)for(var o,u=t;u=u.__;)if((o=u.__c)&&o.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),o.__c(n,t);s(n,t,e,r)};var p=t.options.unmount;function h(){this.__u=0,this.t=null,this.__b=null}function v(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function d(n){var e,r,o;function u(u){if(e||(e=n()).then(function(n){r=n.default||n},function(n){o=n}),o)throw o;if(!r)throw e;return t.createElement(r,u)}return u.displayName="Lazy",u.__f=!0,u}function x(){this.o=null,this.u=null}t.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),p&&p(n)},(h.prototype=new t.Component).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var o=v(r.__v),u=!1,i=function(){u||(u=!0,e.__R=null,o?o(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},h.prototype.componentWillUnmount=function(){this.t=[]},h.prototype.render=function(n,r){if(this.__b){if(this.__v.__k){var o=document.createElement("div"),u=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,r,o){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=e({},t)).__c&&(t.__c.__P===o&&(t.__c.__P=r),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,r,o)})),t}(this.__b,o,u.__O=u.__P)}this.__b=null}var i=r.__a&&t.createElement(t.Fragment,null,n.fallback);return i&&(i.__h=null),[t.createElement(t.Fragment,null,r.__a?null:n.children),i]};var m=function(n,t,e){if(++e[1]===e[0]&&n.u.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.u.size))for(e=n.o;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.o=e=e[2]}};function y(n){return this.getChildContext=function(){return n.context},n.children}function b(n){var e=this,r=n.i;e.componentWillUnmount=function(){t.render(null,e.l),e.l=null,e.i=null},e.i&&e.i!==r&&e.componentWillUnmount(),n.__v?(e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n)}}),t.render(t.createElement(y,{context:e.context},n.__v),e.l)):e.l&&e.componentWillUnmount()}function _(n,e){var r=t.createElement(b,{__v:n,i:e});return r.containerInfo=e,r}(x.prototype=new t.Component).__a=function(n){var t=this,e=v(t.__v),r=t.u.get(n);return r[0]++,function(o){var u=function(){t.props.revealOrder?(r.push(o),m(t,n,r)):o()};e?e(u):u()}},x.prototype.render=function(n){this.o=null,this.u=new Map;var e=t.toChildArray(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&e.reverse();for(var r=e.length;r--;)this.u.set(e[r],this.o=[1,0,this.o]);return n.children},x.prototype.componentDidUpdate=x.prototype.componentDidMount=function(){var n=this;this.u.forEach(function(t,e){m(n,e,t)})};var S="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,C=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,E="undefined"!=typeof document,w=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function g(n,e,r){return null==e.__k&&(e.textContent=""),t.render(n,e),"function"==typeof r&&r(),n?n.__c:null}function R(n,e,r){return t.hydrate(n,e),"function"==typeof r&&r(),n?n.__c:null}t.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(t.Component.prototype,n,{configurable:!0,get:function(){return this["UNSAFE_"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var N=t.options.event;function O(){}function k(){return this.cancelBubble}function A(){return this.defaultPrevented}t.options.event=function(n){return N&&(n=N(n)),n.persist=O,n.isPropagationStopped=k,n.isDefaultPrevented=A,n.nativeEvent=n};var T,L={configurable:!0,get:function(){return this.class}},U=t.options.vnode;t.options.vnode=function(n){var e=n.type,r=n.props,o=r;if("string"==typeof e){var u=-1===e.indexOf("-");for(var i in o={},r){var l=r[i];E&&"children"===i&&"noscript"===e||"value"===i&&"defaultValue"in r&&null==l||("defaultValue"===i&&"value"in r&&null==r.value?i="value":"download"===i&&!0===l?l="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+e)&&!w(r.type)?i="oninput":/^onfocus$/i.test(i)?i="onfocusin":/^onblur$/i.test(i)?i="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)?i=i.toLowerCase():u&&C.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===l&&(l=void 0),/^oninput$/i.test(i)&&(i=i.toLowerCase(),o[i]&&(i="oninputCapture")),o[i]=l)}"select"==e&&o.multiple&&Array.isArray(o.value)&&(o.value=t.toChildArray(r.children).forEach(function(n){n.props.selected=-1!=o.value.indexOf(n.props.value)})),"select"==e&&null!=o.defaultValue&&(o.value=t.toChildArray(r.children).forEach(function(n){n.props.selected=o.multiple?-1!=o.defaultValue.indexOf(n.props.value):o.defaultValue==n.props.value})),n.props=o,r.class!=r.className&&(L.enumerable="className"in r,null!=r.className&&(o.class=r.className),Object.defineProperty(o,"className",L))}n.$$typeof=S,U&&U(n)};var D=t.options.__r;t.options.__r=function(n){D&&D(n),T=n.__c};var I={ReactCurrentDispatcher:{current:{readContext:function(n){return T.__n[n.__c].props.value}}}};function M(n){return t.createElement.bind(null,n)}function F(n){return!!n&&n.$$typeof===S}function V(n){return F(n)?t.cloneElement.apply(null,arguments):n}function W(n){return!!n.__k&&(t.render(null,n),!0)}function j(n){return n&&(n.base||1===n.nodeType&&n)||null}var P=function(n,t){return n(t)},$=function(n,t){return n(t)},z=t.Fragment;function B(n){n()}function q(n){return n}function H(){return[!1,B]}var Z=n.useLayoutEffect;function Y(t,e){var r=n.useState(e),o=r[0],u=r[1];return n.useEffect(function(){return t(function(){u(e())})},[t,e]),o}var G={useState:n.useState,useReducer:n.useReducer,useEffect:n.useEffect,useLayoutEffect:n.useLayoutEffect,useInsertionEffect:Z,useTransition:H,useDeferredValue:q,useSyncExternalStore:Y,startTransition:B,useRef:n.useRef,useImperativeHandle:n.useImperativeHandle,useMemo:n.useMemo,useCallback:n.useCallback,useContext:n.useContext,useDebugValue:n.useDebugValue,version:"17.0.2",Children:a,render:g,hydrate:R,unmountComponentAtNode:W,createPortal:_,createElement:t.createElement,createContext:t.createContext,createFactory:M,cloneElement:V,createRef:t.createRef,Fragment:t.Fragment,isValidElement:F,findDOMNode:j,Component:t.Component,PureComponent:o,memo:u,forwardRef:f,flushSync:$,unstable_batchedUpdates:P,StrictMode:z,Suspense:h,SuspenseList:x,lazy:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:I};Object.keys(n).forEach(function(t){exports[t]=n[t]}),exports.createElement=t.createElement,exports.createContext=t.createContext,exports.createRef=t.createRef,exports.Fragment=t.Fragment,exports.Component=t.Component,exports.startTransition=B,exports.useDeferredValue=q,exports.useTransition=H,exports.useInsertionEffect=Z,exports.useSyncExternalStore=Y,exports.version="17.0.2",exports.Children=a,exports.render=g,exports.hydrate=R,exports.unmountComponentAtNode=W,exports.createPortal=_,exports.createFactory=M,exports.cloneElement=V,exports.isValidElement=F,exports.findDOMNode=j,exports.PureComponent=o,exports.memo=u,exports.forwardRef=f,exports.flushSync=$,exports.unstable_batchedUpdates=P,exports.StrictMode=z,exports.Suspense=h,exports.SuspenseList=x,exports.lazy=d,exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,exports.default=G;
|
2
|
+
//# sourceMappingURL=compat.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compat.js","sources":["../src/util.js","../src/PureComponent.js","../src/memo.js","../src/forwardRef.js","../src/Children.js","../src/suspense.js","../src/suspense-list.js","../src/portals.js","../src/render.js","../src/index.js"],"sourcesContent":["/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Check if two objects have a different shape\n * @param {object} a\n * @param {object} b\n * @returns {boolean}\n */\nexport function shallowDiffers(a, b) {\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\n\treturn false;\n}\n\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { Component } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Component class with a predefined `shouldComponentUpdate` implementation\n */\nexport function PureComponent(p) {\n\tthis.props = p;\n}\nPureComponent.prototype = new Component();\n// Some third-party libraries check if this property is present\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n","import { createElement } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Memoize a component, so that it only updates when the props actually have\n * changed. This was previously known as `React.pure`.\n * @param {import('./internal').FunctionComponent} c functional component\n * @param {(prev: object, next: object) => boolean} [comparer] Custom equality function\n * @returns {import('./internal').FunctionComponent}\n */\nexport function memo(c, comparer) {\n\tfunction shouldUpdate(nextProps) {\n\t\tlet ref = this.props.ref;\n\t\tlet updateRef = ref == nextProps.ref;\n\t\tif (!updateRef && ref) {\n\t\t\tref.call ? ref(null) : (ref.current = null);\n\t\t}\n\n\t\tif (!comparer) {\n\t\t\treturn shallowDiffers(this.props, nextProps);\n\t\t}\n\n\t\treturn !comparer(this.props, nextProps) || !updateRef;\n\t}\n\n\tfunction Memoed(props) {\n\t\tthis.shouldComponentUpdate = shouldUpdate;\n\t\treturn createElement(c, props);\n\t}\n\tMemoed.displayName = 'Memo(' + (c.displayName || c.name) + ')';\n\tMemoed.prototype.isReactComponent = true;\n\tMemoed._forwarded = true;\n\treturn Memoed;\n}\n","import { options } from 'preact';\nimport { assign } from './util';\n\nlet oldDiffHook = options._diff;\noptions._diff = vnode => {\n\tif (vnode.type && vnode.type._forwarded && vnode.ref) {\n\t\tvnode.props.ref = vnode.ref;\n\t\tvnode.ref = null;\n\t}\n\tif (oldDiffHook) oldDiffHook(vnode);\n};\n\nexport const REACT_FORWARD_SYMBOL =\n\t(typeof Symbol != 'undefined' &&\n\t\tSymbol.for &&\n\t\tSymbol.for('react.forward_ref')) ||\n\t0xf47;\n\n/**\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\n * wrap components. Using `forwardRef` there is an easy way to get a reference\n * of the wrapped component instead of one of the wrapper itself.\n * @param {import('./index').ForwardFn} fn\n * @returns {import('./internal').FunctionComponent}\n */\nexport function forwardRef(fn) {\n\tfunction Forwarded(props) {\n\t\tlet clone = assign({}, props);\n\t\tdelete clone.ref;\n\t\treturn fn(clone, props.ref || null);\n\t}\n\n\t// mobx-react checks for this being present\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\n\t// mobx-react heavily relies on implementation details.\n\t// It expects an object here with a `render` property,\n\t// and prototype.render will fail. Without this\n\t// mobx-react throws.\n\tForwarded.render = Forwarded;\n\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\n\treturn Forwarded;\n}\n","import { toChildArray } from 'preact';\n\nconst mapFn = (children, fn) => {\n\tif (children == null) return null;\n\treturn toChildArray(toChildArray(children).map(fn));\n};\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nexport const Children = {\n\tmap: mapFn,\n\tforEach: mapFn,\n\tcount(children) {\n\t\treturn children ? toChildArray(children).length : 0;\n\t},\n\tonly(children) {\n\t\tconst normalized = toChildArray(children);\n\t\tif (normalized.length !== 1) throw 'Children.only';\n\t\treturn normalized[0];\n\t},\n\ttoArray: toChildArray\n};\n","import { Component, createElement, options, Fragment } from 'preact';\nimport { assign } from './util';\n\nconst oldCatchError = options._catchError;\noptions._catchError = function(error, newVNode, oldVNode, errorInfo) {\n\tif (error.then) {\n\t\t/** @type {import('./internal').Component} */\n\t\tlet component;\n\t\tlet vnode = newVNode;\n\n\t\tfor (; (vnode = vnode._parent); ) {\n\t\t\tif ((component = vnode._component) && component._childDidSuspend) {\n\t\t\t\tif (newVNode._dom == null) {\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t}\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\n\t\t\t\treturn component._childDidSuspend(error, newVNode);\n\t\t\t}\n\t\t}\n\t}\n\toldCatchError(error, newVNode, oldVNode, errorInfo);\n};\n\nconst oldUnmount = options.unmount;\noptions.unmount = function(vnode) {\n\t/** @type {import('./internal').Component} */\n\tconst component = vnode._component;\n\tif (component && component._onResolve) {\n\t\tcomponent._onResolve();\n\t}\n\n\t// if the component is still hydrating\n\t// most likely it is because the component is suspended\n\t// we set the vnode.type as `null` so that it is not a typeof function\n\t// so the unmount will remove the vnode._dom\n\tif (component && vnode._hydrating === true) {\n\t\tvnode.type = null;\n\t}\n\n\tif (oldUnmount) oldUnmount(vnode);\n};\n\nfunction detachedClone(vnode, detachedParent, parentDom) {\n\tif (vnode) {\n\t\tif (vnode._component && vnode._component.__hooks) {\n\t\t\tvnode._component.__hooks._list.forEach(effect => {\n\t\t\t\tif (typeof effect._cleanup == 'function') effect._cleanup();\n\t\t\t});\n\n\t\t\tvnode._component.__hooks = null;\n\t\t}\n\n\t\tvnode = assign({}, vnode);\n\t\tif (vnode._component != null) {\n\t\t\tif (vnode._component._parentDom === parentDom) {\n\t\t\t\tvnode._component._parentDom = detachedParent;\n\t\t\t}\n\t\t\tvnode._component = null;\n\t\t}\n\n\t\tvnode._children =\n\t\t\tvnode._children &&\n\t\t\tvnode._children.map(child =>\n\t\t\t\tdetachedClone(child, detachedParent, parentDom)\n\t\t\t);\n\t}\n\n\treturn vnode;\n}\n\nfunction removeOriginal(vnode, detachedParent, originalParent) {\n\tif (vnode) {\n\t\tvnode._original = null;\n\t\tvnode._children =\n\t\t\tvnode._children &&\n\t\t\tvnode._children.map(child =>\n\t\t\t\tremoveOriginal(child, detachedParent, originalParent)\n\t\t\t);\n\n\t\tif (vnode._component) {\n\t\t\tif (vnode._component._parentDom === detachedParent) {\n\t\t\t\tif (vnode._dom) {\n\t\t\t\t\toriginalParent.insertBefore(vnode._dom, vnode._nextDom);\n\t\t\t\t}\n\t\t\t\tvnode._component._force = true;\n\t\t\t\tvnode._component._parentDom = originalParent;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn vnode;\n}\n\n// having custom inheritance instead of a class here saves a lot of bytes\nexport function Suspense() {\n\t// we do not call super here to golf some bytes...\n\tthis._pendingSuspensionCount = 0;\n\tthis._suspenders = null;\n\tthis._detachOnNextRender = null;\n}\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspense.prototype = new Component();\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {Promise} promise The thrown promise\n * @param {import('./internal').VNode<any, any>} suspendingVNode The suspending component\n */\nSuspense.prototype._childDidSuspend = function(promise, suspendingVNode) {\n\tconst suspendingComponent = suspendingVNode._component;\n\n\t/** @type {import('./internal').SuspenseComponent} */\n\tconst c = this;\n\n\tif (c._suspenders == null) {\n\t\tc._suspenders = [];\n\t}\n\tc._suspenders.push(suspendingComponent);\n\n\tconst resolve = suspended(c._vnode);\n\n\tlet resolved = false;\n\tconst onResolved = () => {\n\t\tif (resolved) return;\n\n\t\tresolved = true;\n\t\tsuspendingComponent._onResolve = null;\n\n\t\tif (resolve) {\n\t\t\tresolve(onSuspensionComplete);\n\t\t} else {\n\t\t\tonSuspensionComplete();\n\t\t}\n\t};\n\n\tsuspendingComponent._onResolve = onResolved;\n\n\tconst onSuspensionComplete = () => {\n\t\tif (!--c._pendingSuspensionCount) {\n\t\t\t// If the suspension was during hydration we don't need to restore the\n\t\t\t// suspended children into the _children array\n\t\t\tif (c.state._suspended) {\n\t\t\t\tconst suspendedVNode = c.state._suspended;\n\t\t\t\tc._vnode._children[0] = removeOriginal(\n\t\t\t\t\tsuspendedVNode,\n\t\t\t\t\tsuspendedVNode._component._parentDom,\n\t\t\t\t\tsuspendedVNode._component._originalParentDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tc.setState({ _suspended: (c._detachOnNextRender = null) });\n\n\t\t\tlet suspended;\n\t\t\twhile ((suspended = c._suspenders.pop())) {\n\t\t\t\tsuspended.forceUpdate();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * We do not set `suspended: true` during hydration because we want the actual markup\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\n\t * While in non-hydration cases the usual fallback -> component flow would occour.\n\t */\n\tconst wasHydrating = suspendingVNode._hydrating === true;\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\n\t\tc.setState({ _suspended: (c._detachOnNextRender = c._vnode._children[0]) });\n\t}\n\tpromise.then(onResolved, onResolved);\n};\n\nSuspense.prototype.componentWillUnmount = function() {\n\tthis._suspenders = [];\n};\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\n * @param {import('./internal').SuspenseState} state\n */\nSuspense.prototype.render = function(props, state) {\n\tif (this._detachOnNextRender) {\n\t\t// When the Suspense's _vnode was created by a call to createVNode\n\t\t// (i.e. due to a setState further up in the tree)\n\t\t// it's _children prop is null, in this case we \"forget\" about the parked vnodes to detach\n\t\tif (this._vnode._children) {\n\t\t\tconst detachedParent = document.createElement('div');\n\t\t\tconst detachedComponent = this._vnode._children[0]._component;\n\t\t\tthis._vnode._children[0] = detachedClone(\n\t\t\t\tthis._detachOnNextRender,\n\t\t\t\tdetachedParent,\n\t\t\t\t(detachedComponent._originalParentDom = detachedComponent._parentDom)\n\t\t\t);\n\t\t}\n\n\t\tthis._detachOnNextRender = null;\n\t}\n\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\n\t/** @type {import('./internal').VNode} */\n\tconst fallback =\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\n\tif (fallback) fallback._hydrating = null;\n\n\treturn [\n\t\tcreateElement(Fragment, null, state._suspended ? null : props.children),\n\t\tfallback\n\t];\n};\n\n/**\n * Checks and calls the parent component's _suspended method, passing in the\n * suspended vnode. This is a way for a parent (e.g. SuspenseList) to get notified\n * that one of its children/descendants suspended.\n *\n * The parent MAY return a callback. The callback will get called when the\n * suspension resolves, notifying the parent of the fact.\n * Moreover, the callback gets function `unsuspend` as a parameter. The resolved\n * child descendant will not actually get unsuspended until `unsuspend` gets called.\n * This is a way for the parent to delay unsuspending.\n *\n * If the parent does not return a callback then the resolved vnode\n * gets unsuspended immediately when it resolves.\n *\n * @param {import('./internal').VNode} vnode\n * @returns {((unsuspend: () => void) => void)?}\n */\nexport function suspended(vnode) {\n\t/** @type {import('./internal').Component} */\n\tlet component = vnode._parent._component;\n\treturn component && component._suspended && component._suspended(vnode);\n}\n\nexport function lazy(loader) {\n\tlet prom;\n\tlet component;\n\tlet error;\n\n\tfunction Lazy(props) {\n\t\tif (!prom) {\n\t\t\tprom = loader();\n\t\t\tprom.then(\n\t\t\t\texports => {\n\t\t\t\t\tcomponent = exports.default || exports;\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\terror = e;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!component) {\n\t\t\tthrow prom;\n\t\t}\n\n\t\treturn createElement(component, props);\n\t}\n\n\tLazy.displayName = 'Lazy';\n\tLazy._forwarded = true;\n\treturn Lazy;\n}\n","import { Component, toChildArray } from 'preact';\nimport { suspended } from './suspense.js';\n\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\nconst SUSPENDED_COUNT = 0;\nconst RESOLVED_COUNT = 1;\nconst NEXT_NODE = 2;\n\n// Having custom inheritance instead of a class here saves a lot of bytes.\nexport function SuspenseList() {\n\tthis._next = null;\n\tthis._map = null;\n}\n\n// Mark one of child's earlier suspensions as resolved.\n// Some pending callbacks may become callable due to this\n// (e.g. the last suspended descendant gets resolved when\n// revealOrder === 'together'). Process those callbacks as well.\nconst resolve = (list, child, node) => {\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\n\t\t// The number a child (or any of its descendants) has been suspended\n\t\t// matches the number of times it's been resolved. Therefore we\n\t\t// mark the child as completely resolved by deleting it from ._map.\n\t\t// This is used to figure out when *all* children have been completely\n\t\t// resolved when revealOrder is 'together'.\n\t\tlist._map.delete(child);\n\t}\n\n\t// If revealOrder is falsy then we can do an early exit, as the\n\t// callbacks won't get queued in the node anyway.\n\t// If revealOrder is 'together' then also do an early exit\n\t// if all suspended descendants have not yet been resolved.\n\tif (\n\t\t!list.props.revealOrder ||\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\n\t) {\n\t\treturn;\n\t}\n\n\t// Walk the currently suspended children in order, calling their\n\t// stored callbacks on the way. Stop if we encounter a child that\n\t// has not been completely resolved yet.\n\tnode = list._next;\n\twhile (node) {\n\t\twhile (node.length > 3) {\n\t\t\tnode.pop()();\n\t\t}\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\n\t\t\tbreak;\n\t\t}\n\t\tlist._next = node = node[NEXT_NODE];\n\t}\n};\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspenseList.prototype = new Component();\n\nSuspenseList.prototype._suspended = function(child) {\n\tconst list = this;\n\tconst delegated = suspended(list._vnode);\n\n\tlet node = list._map.get(child);\n\tnode[SUSPENDED_COUNT]++;\n\n\treturn unsuspend => {\n\t\tconst wrappedUnsuspend = () => {\n\t\t\tif (!list.props.revealOrder) {\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\n\t\t\t\tunsuspend();\n\t\t\t} else {\n\t\t\t\tnode.push(unsuspend);\n\t\t\t\tresolve(list, child, node);\n\t\t\t}\n\t\t};\n\t\tif (delegated) {\n\t\t\tdelegated(wrappedUnsuspend);\n\t\t} else {\n\t\t\twrappedUnsuspend();\n\t\t}\n\t};\n};\n\nSuspenseList.prototype.render = function(props) {\n\tthis._next = null;\n\tthis._map = new Map();\n\n\tconst children = toChildArray(props.children);\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\n\t\t// then flip the child list around so that the last child will be\n\t\t// the first in the linked list.\n\t\tchildren.reverse();\n\t}\n\t// Build the linked list. Iterate through the children in reverse order\n\t// so that `_next` points to the first linked list node to be resolved.\n\tfor (let i = children.length; i--; ) {\n\t\t// Create a new linked list node as an array of form:\n\t\t// \t[suspended_count, resolved_count, next_node]\n\t\t// where suspended_count and resolved_count are numeric counters for\n\t\t// keeping track how many times a node has been suspended and resolved.\n\t\t//\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\n\t\t// processing callbacks until componentDidMount has been called. In a sense\n\t\t// node is suspended at least until componentDidMount gets called!\n\t\t//\n\t\t// Pending callbacks are added to the end of the node:\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\n\t}\n\treturn props.children;\n};\n\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\n\t// Iterate through all children after mounting for two reasons:\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\n\t// The nodes can now be completely consumed from the linked list.\n\t// 2. Handle nodes that might have gotten resolved between render and\n\t// componentDidMount.\n\tthis._map.forEach((node, child) => {\n\t\tresolve(this, child, node);\n\t});\n};\n","import { createElement, render } from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider(props) {\n\tthis.getChildContext = () => props.context;\n\treturn props.children;\n}\n\n/**\n * Portal component\n * @this {import('./internal').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(props) {\n\tconst _this = this;\n\tlet container = props._container;\n\n\t_this.componentWillUnmount = function() {\n\t\trender(null, _this._temp);\n\t\t_this._temp = null;\n\t\t_this._container = null;\n\t};\n\n\t// When we change container we should clear our old container and\n\t// indicate a new mount.\n\tif (_this._container && _this._container !== container) {\n\t\t_this.componentWillUnmount();\n\t}\n\n\t// When props.vnode is undefined/false/null we are dealing with some kind of\n\t// conditional vnode. This should not trigger a render.\n\tif (props._vnode) {\n\t\tif (!_this._temp) {\n\t\t\t_this._container = container;\n\n\t\t\t// Create a fake DOM parent node that manages a subset of `container`'s children:\n\t\t\t_this._temp = {\n\t\t\t\tnodeType: 1,\n\t\t\t\tparentNode: container,\n\t\t\t\tchildNodes: [],\n\t\t\t\tappendChild(child) {\n\t\t\t\t\tthis.childNodes.push(child);\n\t\t\t\t\t_this._container.appendChild(child);\n\t\t\t\t},\n\t\t\t\tinsertBefore(child, before) {\n\t\t\t\t\tthis.childNodes.push(child);\n\t\t\t\t\t_this._container.appendChild(child);\n\t\t\t\t},\n\t\t\t\tremoveChild(child) {\n\t\t\t\t\tthis.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\n\t\t\t\t\t_this._container.removeChild(child);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// Render our wrapping element into temp.\n\t\trender(\n\t\t\tcreateElement(ContextProvider, { context: _this.context }, props._vnode),\n\t\t\t_this._temp\n\t\t);\n\t}\n\t// When we come from a conditional render, on a mounted\n\t// portal we should clear the DOM.\n\telse if (_this._temp) {\n\t\t_this.componentWillUnmount();\n\t}\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n * @param {import('./internal').VNode} vnode The vnode to render\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\n */\nexport function createPortal(vnode, container) {\n\tconst el = createElement(Portal, { _vnode: vnode, _container: container });\n\tel.containerInfo = container;\n\treturn el;\n}\n","import {\n\trender as preactRender,\n\thydrate as preactHydrate,\n\toptions,\n\ttoChildArray,\n\tComponent\n} from 'preact';\n\nexport const REACT_ELEMENT_TYPE =\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\n\t0xeac7;\n\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;\n\nconst IS_DOM = typeof document !== 'undefined';\n\n// Input types for which onchange should not be converted to oninput.\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\nconst onChangeInputType = type =>\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\n\t\t? /fil|che|rad/i\n\t\t: /fil|che|ra/i\n\t).test(type);\n\n// Some libraries like `react-virtualized` explicitly check for this.\nComponent.prototype.isReactComponent = {};\n\n// `UNSAFE_*` lifecycle hooks\n// Preact only ever invokes the unprefixed methods.\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\n// See https://github.com/preactjs/preact/issues/1941\n[\n\t'componentWillMount',\n\t'componentWillReceiveProps',\n\t'componentWillUpdate'\n].forEach(key => {\n\tObject.defineProperty(Component.prototype, key, {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn this['UNSAFE_' + key];\n\t\t},\n\t\tset(v) {\n\t\t\tObject.defineProperty(this, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: v\n\t\t\t});\n\t\t}\n\t});\n});\n\n/**\n * Proxy render() since React returns a Component reference.\n * @param {import('./internal').VNode} vnode VNode tree to render\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\n * @param {() => void} [callback] Optional callback that will be called after rendering\n * @returns {import('./internal').Component | null} The root component reference or null\n */\nexport function render(vnode, parent, callback) {\n\t// React destroys any existing DOM nodes, see #1727\n\t// ...but only on the first render, see #1828\n\tif (parent._children == null) {\n\t\tparent.textContent = '';\n\t}\n\n\tpreactRender(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nexport function hydrate(vnode, parent, callback) {\n\tpreactHydrate(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nlet oldEventHook = options.event;\noptions.event = e => {\n\tif (oldEventHook) e = oldEventHook(e);\n\te.persist = empty;\n\te.isPropagationStopped = isPropagationStopped;\n\te.isDefaultPrevented = isDefaultPrevented;\n\treturn (e.nativeEvent = e);\n};\n\nfunction empty() {}\n\nfunction isPropagationStopped() {\n\treturn this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n\treturn this.defaultPrevented;\n}\n\nlet classNameDescriptor = {\n\tconfigurable: true,\n\tget() {\n\t\treturn this.class;\n\t}\n};\n\nlet oldVNodeHook = options.vnode;\noptions.vnode = vnode => {\n\tlet type = vnode.type;\n\tlet props = vnode.props;\n\tlet normalizedProps = props;\n\n\t// only normalize props on Element nodes\n\tif (typeof type === 'string') {\n\t\tconst nonCustomElement = type.indexOf('-') === -1;\n\t\tnormalizedProps = {};\n\n\t\tfor (let i in props) {\n\t\t\tlet value = props[i];\n\n\t\t\tif (IS_DOM && i === 'children' && type === 'noscript') {\n\t\t\t\t// Emulate React's behavior of not rendering the contents of noscript tags on the client.\n\t\t\t\tcontinue;\n\t\t\t} else if (i === 'value' && 'defaultValue' in props && value == null) {\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\n\t\t\t\t// a default value\n\t\t\t\tcontinue;\n\t\t\t} else if (\n\t\t\t\ti === 'defaultValue' &&\n\t\t\t\t'value' in props &&\n\t\t\t\tprops.value == null\n\t\t\t) {\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\n\t\t\t\ti = 'value';\n\t\t\t} else if (i === 'download' && value === true) {\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\n\t\t\t\t// value will be used as the file name and the file will be called\n\t\t\t\t// \"true\" upon downloading it.\n\t\t\t\tvalue = '';\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\n\t\t\t\ti = 'ondblclick';\n\t\t\t} else if (\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\n\t\t\t\t!onChangeInputType(props.type)\n\t\t\t) {\n\t\t\t\ti = 'oninput';\n\t\t\t} else if (/^onfocus$/i.test(i)) {\n\t\t\t\ti = 'onfocusin';\n\t\t\t} else if (/^onblur$/i.test(i)) {\n\t\t\t\ti = 'onfocusout';\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t} else if (nonCustomElement && CAMEL_PROPS.test(i)) {\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\n\t\t\t} else if (value === null) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\n\t\t\t// Add support for onInput and onChange, see #3561\n\t\t\t// if we have an oninput prop already change it to oninputCapture\n\t\t\tif (/^oninput/i.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t\tif (normalizedProps[i]) {\n\t\t\t\t\ti = 'oninputCapture';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnormalizedProps[i] = value;\n\t\t}\n\n\t\t// Add support for array select values: <select multiple value={[]} />\n\t\tif (\n\t\t\ttype == 'select' &&\n\t\t\tnormalizedProps.multiple &&\n\t\t\tArray.isArray(normalizedProps.value)\n\t\t) {\n\t\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\n\t\t\t});\n\t\t}\n\n\t\t// Adding support for defaultValue in select tag\n\t\tif (type == 'select' && normalizedProps.defaultValue != null) {\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tif (normalizedProps.multiple) {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\n\t\t\t\t} else {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tvnode.props = normalizedProps;\n\n\t\tif (props.class != props.className) {\n\t\t\tclassNameDescriptor.enumerable = 'className' in props;\n\t\t\tif (props.className != null) normalizedProps.class = props.className;\n\t\t\tObject.defineProperty(normalizedProps, 'className', classNameDescriptor);\n\t\t}\n\t}\n\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\n\n\tif (oldVNodeHook) oldVNodeHook(vnode);\n};\n\n// Only needed for react-relay\nlet currentComponent;\nconst oldBeforeRender = options._render;\noptions._render = function(vnode) {\n\tif (oldBeforeRender) {\n\t\toldBeforeRender(vnode);\n\t}\n\tcurrentComponent = vnode._component;\n};\n\n// This is a very very private internal function for React it\n// is used to sort-of do runtime dependency injection. So far\n// only `react-relay` makes use of it. It uses it to read the\n// context value.\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\n\tReactCurrentDispatcher: {\n\t\tcurrent: {\n\t\t\treadContext(context) {\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tcreateElement,\n\trender as preactRender,\n\tcloneElement as preactCloneElement,\n\tcreateRef,\n\tComponent,\n\tcreateContext,\n\tFragment\n} from 'preact';\nimport {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue\n} from 'preact/hooks';\nimport { PureComponent } from './PureComponent';\nimport { memo } from './memo';\nimport { forwardRef } from './forwardRef';\nimport { Children } from './Children';\nimport { Suspense, lazy } from './suspense';\nimport { SuspenseList } from './suspense-list';\nimport { createPortal } from './portals';\nimport {\n\thydrate,\n\trender,\n\tREACT_ELEMENT_TYPE,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n} from './render';\n\nconst version = '17.0.2'; // trick libraries to think we are react\n\n/**\n * Legacy version of createElement.\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\n */\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n/**\n * Check if the passed element is a valid (p)react node.\n * @param {*} element The element to check\n * @returns {boolean}\n */\nfunction isValidElement(element) {\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\n}\n\n/**\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\n * all vnode normalizations.\n * @param {import('./internal').VNode} element The vnode to clone\n * @param {object} props Props to add when cloning\n * @param {Array<import('./internal').ComponentChildren>} rest Optional component children\n */\nfunction cloneElement(element) {\n\tif (!isValidElement(element)) return element;\n\treturn preactCloneElement.apply(null, arguments);\n}\n\n/**\n * Remove a component tree from the DOM, including state and event handlers.\n * @param {import('./internal').PreactElement} container\n * @returns {boolean}\n */\nfunction unmountComponentAtNode(container) {\n\tif (container._children) {\n\t\tpreactRender(null, container);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Get the matching DOM node for a component\n * @param {import('./internal').Component} component\n * @returns {import('./internal').PreactElement | null}\n */\nfunction findDOMNode(component) {\n\treturn (\n\t\t(component &&\n\t\t\t(component.base || (component.nodeType === 1 && component))) ||\n\t\tnull\n\t);\n}\n\n/**\n * Deprecated way to control batched rendering inside the reconciler, but we\n * already schedule in batches inside our rendering code\n * @template Arg\n * @param {(arg: Arg) => void} callback function that triggers the updated\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n */\n// eslint-disable-next-line camelcase\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\n\n/**\n * In React, `flushSync` flushes the entire tree and forces a rerender. It's\n * implmented here as a no-op.\n * @template Arg\n * @template Result\n * @param {(arg: Arg) => Result} callback function that runs before the flush\n * @param {Arg} [arg] Optional arugment that can be passed to the callback\n * @returns\n */\nconst flushSync = (callback, arg) => callback(arg);\n\n/**\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\n * that just renders its children without imposing any restrictions.\n */\nconst StrictMode = Fragment;\n\nexport * from 'preact/hooks';\nexport {\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\t// eslint-disable-next-line camelcase\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n\n// React copies the named exports to the default one.\nexport default {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n"],"names":["assign","obj","props","i","shallowDiffers","a","b","PureComponent","p","memo","c","comparer","shouldUpdate","nextProps","ref","this","updateRef","call","current","Memoed","shouldComponentUpdate","createElement","displayName","name","prototype","isReactComponent","Component","isPureReactComponent","state","oldDiffHook","options","vnode","type","REACT_FORWARD_SYMBOL","Symbol","for","forwardRef","fn","Forwarded","clone","$$typeof","render","mapFn","children","toChildArray","map","Children","forEach","count","length","only","normalized","toArray","oldCatchError","error","newVNode","oldVNode","errorInfo","then","component","oldUnmount","unmount","Suspense","_suspenders","suspended","lazy","loader","prom","Lazy","exports","default","e","SuspenseList","_next","_map","promise","suspendingVNode","suspendingComponent","push","resolve","resolved","onResolved","onSuspensionComplete","suspendedVNode","removeOriginal","detachedParent","originalParent","child","insertBefore","setState","pop","forceUpdate","wasHydrating","componentWillUnmount","document","detachedComponent","detachedClone","parentDom","effect","fallback","Fragment","list","node","delete","revealOrder","size","ContextProvider","getChildContext","context","Portal","_this","container","_container","_temp","nodeType","parentNode","childNodes","appendChild","before","removeChild","splice","indexOf","createPortal","el","containerInfo","delegated","get","unsuspend","wrappedUnsuspend","Map","reverse","set","componentDidUpdate","componentDidMount","REACT_ELEMENT_TYPE","CAMEL_PROPS","IS_DOM","onChangeInputType","test","parent","callback","textContent","preactRender","hydrate","preactHydrate","key","Object","defineProperty","configurable","v","writable","value","oldEventHook","event","empty","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","persist","nativeEvent","currentComponent","classNameDescriptor","class","oldVNodeHook","normalizedProps","nonCustomElement","toLowerCase","replace","undefined","multiple","Array","isArray","selected","defaultValue","className","enumerable","oldBeforeRender","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","readContext","createFactory","bind","isValidElement","element","cloneElement","preactCloneElement","apply","arguments","unmountComponentAtNode","findDOMNode","base","unstable_batchedUpdates","arg","flushSync","StrictMode","useState","useReducer","useEffect","useLayoutEffect","useRef","useImperativeHandle","useMemo","useCallback","useContext","useDebugValue","version","createContext","createRef"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"compat.js","sources":["../src/util.js","../src/PureComponent.js","../src/memo.js","../src/forwardRef.js","../src/Children.js","../src/suspense.js","../src/suspense-list.js","../src/portals.js","../src/render.js","../src/index.js"],"sourcesContent":["/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Check if two objects have a different shape\n * @param {object} a\n * @param {object} b\n * @returns {boolean}\n */\nexport function shallowDiffers(a, b) {\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\n\treturn false;\n}\n\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { Component } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Component class with a predefined `shouldComponentUpdate` implementation\n */\nexport function PureComponent(p) {\n\tthis.props = p;\n}\nPureComponent.prototype = new Component();\n// Some third-party libraries check if this property is present\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n","import { createElement } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Memoize a component, so that it only updates when the props actually have\n * changed. This was previously known as `React.pure`.\n * @param {import('./internal').FunctionComponent} c functional component\n * @param {(prev: object, next: object) => boolean} [comparer] Custom equality function\n * @returns {import('./internal').FunctionComponent}\n */\nexport function memo(c, comparer) {\n\tfunction shouldUpdate(nextProps) {\n\t\tlet ref = this.props.ref;\n\t\tlet updateRef = ref == nextProps.ref;\n\t\tif (!updateRef && ref) {\n\t\t\tref.call ? ref(null) : (ref.current = null);\n\t\t}\n\n\t\tif (!comparer) {\n\t\t\treturn shallowDiffers(this.props, nextProps);\n\t\t}\n\n\t\treturn !comparer(this.props, nextProps) || !updateRef;\n\t}\n\n\tfunction Memoed(props) {\n\t\tthis.shouldComponentUpdate = shouldUpdate;\n\t\treturn createElement(c, props);\n\t}\n\tMemoed.displayName = 'Memo(' + (c.displayName || c.name) + ')';\n\tMemoed.prototype.isReactComponent = true;\n\tMemoed._forwarded = true;\n\treturn Memoed;\n}\n","import { options } from 'preact';\nimport { assign } from './util';\n\nlet oldDiffHook = options._diff;\noptions._diff = vnode => {\n\tif (vnode.type && vnode.type._forwarded && vnode.ref) {\n\t\tvnode.props.ref = vnode.ref;\n\t\tvnode.ref = null;\n\t}\n\tif (oldDiffHook) oldDiffHook(vnode);\n};\n\nexport const REACT_FORWARD_SYMBOL =\n\t(typeof Symbol != 'undefined' &&\n\t\tSymbol.for &&\n\t\tSymbol.for('react.forward_ref')) ||\n\t0xf47;\n\n/**\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\n * wrap components. Using `forwardRef` there is an easy way to get a reference\n * of the wrapped component instead of one of the wrapper itself.\n * @param {import('./index').ForwardFn} fn\n * @returns {import('./internal').FunctionComponent}\n */\nexport function forwardRef(fn) {\n\tfunction Forwarded(props) {\n\t\tlet clone = assign({}, props);\n\t\tdelete clone.ref;\n\t\treturn fn(clone, props.ref || null);\n\t}\n\n\t// mobx-react checks for this being present\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\n\t// mobx-react heavily relies on implementation details.\n\t// It expects an object here with a `render` property,\n\t// and prototype.render will fail. Without this\n\t// mobx-react throws.\n\tForwarded.render = Forwarded;\n\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\n\treturn Forwarded;\n}\n","import { toChildArray } from 'preact';\n\nconst mapFn = (children, fn) => {\n\tif (children == null) return null;\n\treturn toChildArray(toChildArray(children).map(fn));\n};\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nexport const Children = {\n\tmap: mapFn,\n\tforEach: mapFn,\n\tcount(children) {\n\t\treturn children ? toChildArray(children).length : 0;\n\t},\n\tonly(children) {\n\t\tconst normalized = toChildArray(children);\n\t\tif (normalized.length !== 1) throw 'Children.only';\n\t\treturn normalized[0];\n\t},\n\ttoArray: toChildArray\n};\n","import { Component, createElement, options, Fragment } from 'preact';\nimport { assign } from './util';\n\nconst oldCatchError = options._catchError;\noptions._catchError = function(error, newVNode, oldVNode, errorInfo) {\n\tif (error.then) {\n\t\t/** @type {import('./internal').Component} */\n\t\tlet component;\n\t\tlet vnode = newVNode;\n\n\t\tfor (; (vnode = vnode._parent); ) {\n\t\t\tif ((component = vnode._component) && component._childDidSuspend) {\n\t\t\t\tif (newVNode._dom == null) {\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t}\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\n\t\t\t\treturn component._childDidSuspend(error, newVNode);\n\t\t\t}\n\t\t}\n\t}\n\toldCatchError(error, newVNode, oldVNode, errorInfo);\n};\n\nconst oldUnmount = options.unmount;\noptions.unmount = function(vnode) {\n\t/** @type {import('./internal').Component} */\n\tconst component = vnode._component;\n\tif (component && component._onResolve) {\n\t\tcomponent._onResolve();\n\t}\n\n\t// if the component is still hydrating\n\t// most likely it is because the component is suspended\n\t// we set the vnode.type as `null` so that it is not a typeof function\n\t// so the unmount will remove the vnode._dom\n\tif (component && vnode._hydrating === true) {\n\t\tvnode.type = null;\n\t}\n\n\tif (oldUnmount) oldUnmount(vnode);\n};\n\nfunction detachedClone(vnode, detachedParent, parentDom) {\n\tif (vnode) {\n\t\tif (vnode._component && vnode._component.__hooks) {\n\t\t\tvnode._component.__hooks._list.forEach(effect => {\n\t\t\t\tif (typeof effect._cleanup == 'function') effect._cleanup();\n\t\t\t});\n\n\t\t\tvnode._component.__hooks = null;\n\t\t}\n\n\t\tvnode = assign({}, vnode);\n\t\tif (vnode._component != null) {\n\t\t\tif (vnode._component._parentDom === parentDom) {\n\t\t\t\tvnode._component._parentDom = detachedParent;\n\t\t\t}\n\t\t\tvnode._component = null;\n\t\t}\n\n\t\tvnode._children =\n\t\t\tvnode._children &&\n\t\t\tvnode._children.map(child =>\n\t\t\t\tdetachedClone(child, detachedParent, parentDom)\n\t\t\t);\n\t}\n\n\treturn vnode;\n}\n\nfunction removeOriginal(vnode, detachedParent, originalParent) {\n\tif (vnode) {\n\t\tvnode._original = null;\n\t\tvnode._children =\n\t\t\tvnode._children &&\n\t\t\tvnode._children.map(child =>\n\t\t\t\tremoveOriginal(child, detachedParent, originalParent)\n\t\t\t);\n\n\t\tif (vnode._component) {\n\t\t\tif (vnode._component._parentDom === detachedParent) {\n\t\t\t\tif (vnode._dom) {\n\t\t\t\t\toriginalParent.insertBefore(vnode._dom, vnode._nextDom);\n\t\t\t\t}\n\t\t\t\tvnode._component._force = true;\n\t\t\t\tvnode._component._parentDom = originalParent;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn vnode;\n}\n\n// having custom inheritance instead of a class here saves a lot of bytes\nexport function Suspense() {\n\t// we do not call super here to golf some bytes...\n\tthis._pendingSuspensionCount = 0;\n\tthis._suspenders = null;\n\tthis._detachOnNextRender = null;\n}\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspense.prototype = new Component();\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {Promise} promise The thrown promise\n * @param {import('./internal').VNode<any, any>} suspendingVNode The suspending component\n */\nSuspense.prototype._childDidSuspend = function(promise, suspendingVNode) {\n\tconst suspendingComponent = suspendingVNode._component;\n\n\t/** @type {import('./internal').SuspenseComponent} */\n\tconst c = this;\n\n\tif (c._suspenders == null) {\n\t\tc._suspenders = [];\n\t}\n\tc._suspenders.push(suspendingComponent);\n\n\tconst resolve = suspended(c._vnode);\n\n\tlet resolved = false;\n\tconst onResolved = () => {\n\t\tif (resolved) return;\n\n\t\tresolved = true;\n\t\tsuspendingComponent._onResolve = null;\n\n\t\tif (resolve) {\n\t\t\tresolve(onSuspensionComplete);\n\t\t} else {\n\t\t\tonSuspensionComplete();\n\t\t}\n\t};\n\n\tsuspendingComponent._onResolve = onResolved;\n\n\tconst onSuspensionComplete = () => {\n\t\tif (!--c._pendingSuspensionCount) {\n\t\t\t// If the suspension was during hydration we don't need to restore the\n\t\t\t// suspended children into the _children array\n\t\t\tif (c.state._suspended) {\n\t\t\t\tconst suspendedVNode = c.state._suspended;\n\t\t\t\tc._vnode._children[0] = removeOriginal(\n\t\t\t\t\tsuspendedVNode,\n\t\t\t\t\tsuspendedVNode._component._parentDom,\n\t\t\t\t\tsuspendedVNode._component._originalParentDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tc.setState({ _suspended: (c._detachOnNextRender = null) });\n\n\t\t\tlet suspended;\n\t\t\twhile ((suspended = c._suspenders.pop())) {\n\t\t\t\tsuspended.forceUpdate();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * We do not set `suspended: true` during hydration because we want the actual markup\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\n\t * While in non-hydration cases the usual fallback -> component flow would occour.\n\t */\n\tconst wasHydrating = suspendingVNode._hydrating === true;\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\n\t\tc.setState({ _suspended: (c._detachOnNextRender = c._vnode._children[0]) });\n\t}\n\tpromise.then(onResolved, onResolved);\n};\n\nSuspense.prototype.componentWillUnmount = function() {\n\tthis._suspenders = [];\n};\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\n * @param {import('./internal').SuspenseState} state\n */\nSuspense.prototype.render = function(props, state) {\n\tif (this._detachOnNextRender) {\n\t\t// When the Suspense's _vnode was created by a call to createVNode\n\t\t// (i.e. due to a setState further up in the tree)\n\t\t// it's _children prop is null, in this case we \"forget\" about the parked vnodes to detach\n\t\tif (this._vnode._children) {\n\t\t\tconst detachedParent = document.createElement('div');\n\t\t\tconst detachedComponent = this._vnode._children[0]._component;\n\t\t\tthis._vnode._children[0] = detachedClone(\n\t\t\t\tthis._detachOnNextRender,\n\t\t\t\tdetachedParent,\n\t\t\t\t(detachedComponent._originalParentDom = detachedComponent._parentDom)\n\t\t\t);\n\t\t}\n\n\t\tthis._detachOnNextRender = null;\n\t}\n\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\n\t/** @type {import('./internal').VNode} */\n\tconst fallback =\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\n\tif (fallback) fallback._hydrating = null;\n\n\treturn [\n\t\tcreateElement(Fragment, null, state._suspended ? null : props.children),\n\t\tfallback\n\t];\n};\n\n/**\n * Checks and calls the parent component's _suspended method, passing in the\n * suspended vnode. This is a way for a parent (e.g. SuspenseList) to get notified\n * that one of its children/descendants suspended.\n *\n * The parent MAY return a callback. The callback will get called when the\n * suspension resolves, notifying the parent of the fact.\n * Moreover, the callback gets function `unsuspend` as a parameter. The resolved\n * child descendant will not actually get unsuspended until `unsuspend` gets called.\n * This is a way for the parent to delay unsuspending.\n *\n * If the parent does not return a callback then the resolved vnode\n * gets unsuspended immediately when it resolves.\n *\n * @param {import('./internal').VNode} vnode\n * @returns {((unsuspend: () => void) => void)?}\n */\nexport function suspended(vnode) {\n\t/** @type {import('./internal').Component} */\n\tlet component = vnode._parent._component;\n\treturn component && component._suspended && component._suspended(vnode);\n}\n\nexport function lazy(loader) {\n\tlet prom;\n\tlet component;\n\tlet error;\n\n\tfunction Lazy(props) {\n\t\tif (!prom) {\n\t\t\tprom = loader();\n\t\t\tprom.then(\n\t\t\t\texports => {\n\t\t\t\t\tcomponent = exports.default || exports;\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\terror = e;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!component) {\n\t\t\tthrow prom;\n\t\t}\n\n\t\treturn createElement(component, props);\n\t}\n\n\tLazy.displayName = 'Lazy';\n\tLazy._forwarded = true;\n\treturn Lazy;\n}\n","import { Component, toChildArray } from 'preact';\nimport { suspended } from './suspense.js';\n\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\nconst SUSPENDED_COUNT = 0;\nconst RESOLVED_COUNT = 1;\nconst NEXT_NODE = 2;\n\n// Having custom inheritance instead of a class here saves a lot of bytes.\nexport function SuspenseList() {\n\tthis._next = null;\n\tthis._map = null;\n}\n\n// Mark one of child's earlier suspensions as resolved.\n// Some pending callbacks may become callable due to this\n// (e.g. the last suspended descendant gets resolved when\n// revealOrder === 'together'). Process those callbacks as well.\nconst resolve = (list, child, node) => {\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\n\t\t// The number a child (or any of its descendants) has been suspended\n\t\t// matches the number of times it's been resolved. Therefore we\n\t\t// mark the child as completely resolved by deleting it from ._map.\n\t\t// This is used to figure out when *all* children have been completely\n\t\t// resolved when revealOrder is 'together'.\n\t\tlist._map.delete(child);\n\t}\n\n\t// If revealOrder is falsy then we can do an early exit, as the\n\t// callbacks won't get queued in the node anyway.\n\t// If revealOrder is 'together' then also do an early exit\n\t// if all suspended descendants have not yet been resolved.\n\tif (\n\t\t!list.props.revealOrder ||\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\n\t) {\n\t\treturn;\n\t}\n\n\t// Walk the currently suspended children in order, calling their\n\t// stored callbacks on the way. Stop if we encounter a child that\n\t// has not been completely resolved yet.\n\tnode = list._next;\n\twhile (node) {\n\t\twhile (node.length > 3) {\n\t\t\tnode.pop()();\n\t\t}\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\n\t\t\tbreak;\n\t\t}\n\t\tlist._next = node = node[NEXT_NODE];\n\t}\n};\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspenseList.prototype = new Component();\n\nSuspenseList.prototype._suspended = function(child) {\n\tconst list = this;\n\tconst delegated = suspended(list._vnode);\n\n\tlet node = list._map.get(child);\n\tnode[SUSPENDED_COUNT]++;\n\n\treturn unsuspend => {\n\t\tconst wrappedUnsuspend = () => {\n\t\t\tif (!list.props.revealOrder) {\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\n\t\t\t\tunsuspend();\n\t\t\t} else {\n\t\t\t\tnode.push(unsuspend);\n\t\t\t\tresolve(list, child, node);\n\t\t\t}\n\t\t};\n\t\tif (delegated) {\n\t\t\tdelegated(wrappedUnsuspend);\n\t\t} else {\n\t\t\twrappedUnsuspend();\n\t\t}\n\t};\n};\n\nSuspenseList.prototype.render = function(props) {\n\tthis._next = null;\n\tthis._map = new Map();\n\n\tconst children = toChildArray(props.children);\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\n\t\t// then flip the child list around so that the last child will be\n\t\t// the first in the linked list.\n\t\tchildren.reverse();\n\t}\n\t// Build the linked list. Iterate through the children in reverse order\n\t// so that `_next` points to the first linked list node to be resolved.\n\tfor (let i = children.length; i--; ) {\n\t\t// Create a new linked list node as an array of form:\n\t\t// \t[suspended_count, resolved_count, next_node]\n\t\t// where suspended_count and resolved_count are numeric counters for\n\t\t// keeping track how many times a node has been suspended and resolved.\n\t\t//\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\n\t\t// processing callbacks until componentDidMount has been called. In a sense\n\t\t// node is suspended at least until componentDidMount gets called!\n\t\t//\n\t\t// Pending callbacks are added to the end of the node:\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\n\t}\n\treturn props.children;\n};\n\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\n\t// Iterate through all children after mounting for two reasons:\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\n\t// The nodes can now be completely consumed from the linked list.\n\t// 2. Handle nodes that might have gotten resolved between render and\n\t// componentDidMount.\n\tthis._map.forEach((node, child) => {\n\t\tresolve(this, child, node);\n\t});\n};\n","import { createElement, render } from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider(props) {\n\tthis.getChildContext = () => props.context;\n\treturn props.children;\n}\n\n/**\n * Portal component\n * @this {import('./internal').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(props) {\n\tconst _this = this;\n\tlet container = props._container;\n\n\t_this.componentWillUnmount = function() {\n\t\trender(null, _this._temp);\n\t\t_this._temp = null;\n\t\t_this._container = null;\n\t};\n\n\t// When we change container we should clear our old container and\n\t// indicate a new mount.\n\tif (_this._container && _this._container !== container) {\n\t\t_this.componentWillUnmount();\n\t}\n\n\t// When props.vnode is undefined/false/null we are dealing with some kind of\n\t// conditional vnode. This should not trigger a render.\n\tif (props._vnode) {\n\t\tif (!_this._temp) {\n\t\t\t_this._container = container;\n\n\t\t\t// Create a fake DOM parent node that manages a subset of `container`'s children:\n\t\t\t_this._temp = {\n\t\t\t\tnodeType: 1,\n\t\t\t\tparentNode: container,\n\t\t\t\tchildNodes: [],\n\t\t\t\tappendChild(child) {\n\t\t\t\t\tthis.childNodes.push(child);\n\t\t\t\t\t_this._container.appendChild(child);\n\t\t\t\t},\n\t\t\t\tinsertBefore(child, before) {\n\t\t\t\t\tthis.childNodes.push(child);\n\t\t\t\t\t_this._container.appendChild(child);\n\t\t\t\t},\n\t\t\t\tremoveChild(child) {\n\t\t\t\t\tthis.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\n\t\t\t\t\t_this._container.removeChild(child);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// Render our wrapping element into temp.\n\t\trender(\n\t\t\tcreateElement(ContextProvider, { context: _this.context }, props._vnode),\n\t\t\t_this._temp\n\t\t);\n\t}\n\t// When we come from a conditional render, on a mounted\n\t// portal we should clear the DOM.\n\telse if (_this._temp) {\n\t\t_this.componentWillUnmount();\n\t}\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n * @param {import('./internal').VNode} vnode The vnode to render\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\n */\nexport function createPortal(vnode, container) {\n\tconst el = createElement(Portal, { _vnode: vnode, _container: container });\n\tel.containerInfo = container;\n\treturn el;\n}\n","import {\n\trender as preactRender,\n\thydrate as preactHydrate,\n\toptions,\n\ttoChildArray,\n\tComponent\n} from 'preact';\n\nexport const REACT_ELEMENT_TYPE =\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\n\t0xeac7;\n\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;\n\nconst IS_DOM = typeof document !== 'undefined';\n\n// Input types for which onchange should not be converted to oninput.\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\nconst onChangeInputType = type =>\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\n\t\t? /fil|che|rad/i\n\t\t: /fil|che|ra/i\n\t).test(type);\n\n// Some libraries like `react-virtualized` explicitly check for this.\nComponent.prototype.isReactComponent = {};\n\n// `UNSAFE_*` lifecycle hooks\n// Preact only ever invokes the unprefixed methods.\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\n// See https://github.com/preactjs/preact/issues/1941\n[\n\t'componentWillMount',\n\t'componentWillReceiveProps',\n\t'componentWillUpdate'\n].forEach(key => {\n\tObject.defineProperty(Component.prototype, key, {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn this['UNSAFE_' + key];\n\t\t},\n\t\tset(v) {\n\t\t\tObject.defineProperty(this, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: v\n\t\t\t});\n\t\t}\n\t});\n});\n\n/**\n * Proxy render() since React returns a Component reference.\n * @param {import('./internal').VNode} vnode VNode tree to render\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\n * @param {() => void} [callback] Optional callback that will be called after rendering\n * @returns {import('./internal').Component | null} The root component reference or null\n */\nexport function render(vnode, parent, callback) {\n\t// React destroys any existing DOM nodes, see #1727\n\t// ...but only on the first render, see #1828\n\tif (parent._children == null) {\n\t\tparent.textContent = '';\n\t}\n\n\tpreactRender(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nexport function hydrate(vnode, parent, callback) {\n\tpreactHydrate(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nlet oldEventHook = options.event;\noptions.event = e => {\n\tif (oldEventHook) e = oldEventHook(e);\n\te.persist = empty;\n\te.isPropagationStopped = isPropagationStopped;\n\te.isDefaultPrevented = isDefaultPrevented;\n\treturn (e.nativeEvent = e);\n};\n\nfunction empty() {}\n\nfunction isPropagationStopped() {\n\treturn this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n\treturn this.defaultPrevented;\n}\n\nlet classNameDescriptor = {\n\tconfigurable: true,\n\tget() {\n\t\treturn this.class;\n\t}\n};\n\nlet oldVNodeHook = options.vnode;\noptions.vnode = vnode => {\n\tlet type = vnode.type;\n\tlet props = vnode.props;\n\tlet normalizedProps = props;\n\n\t// only normalize props on Element nodes\n\tif (typeof type === 'string') {\n\t\tconst nonCustomElement = type.indexOf('-') === -1;\n\t\tnormalizedProps = {};\n\n\t\tfor (let i in props) {\n\t\t\tlet value = props[i];\n\n\t\t\tif (IS_DOM && i === 'children' && type === 'noscript') {\n\t\t\t\t// Emulate React's behavior of not rendering the contents of noscript tags on the client.\n\t\t\t\tcontinue;\n\t\t\t} else if (i === 'value' && 'defaultValue' in props && value == null) {\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\n\t\t\t\t// a default value\n\t\t\t\tcontinue;\n\t\t\t} else if (\n\t\t\t\ti === 'defaultValue' &&\n\t\t\t\t'value' in props &&\n\t\t\t\tprops.value == null\n\t\t\t) {\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\n\t\t\t\ti = 'value';\n\t\t\t} else if (i === 'download' && value === true) {\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\n\t\t\t\t// value will be used as the file name and the file will be called\n\t\t\t\t// \"true\" upon downloading it.\n\t\t\t\tvalue = '';\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\n\t\t\t\ti = 'ondblclick';\n\t\t\t} else if (\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\n\t\t\t\t!onChangeInputType(props.type)\n\t\t\t) {\n\t\t\t\ti = 'oninput';\n\t\t\t} else if (/^onfocus$/i.test(i)) {\n\t\t\t\ti = 'onfocusin';\n\t\t\t} else if (/^onblur$/i.test(i)) {\n\t\t\t\ti = 'onfocusout';\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t} else if (nonCustomElement && CAMEL_PROPS.test(i)) {\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\n\t\t\t} else if (value === null) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\n\t\t\t// Add support for onInput and onChange, see #3561\n\t\t\t// if we have an oninput prop already change it to oninputCapture\n\t\t\tif (/^oninput$/i.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t\tif (normalizedProps[i]) {\n\t\t\t\t\ti = 'oninputCapture';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnormalizedProps[i] = value;\n\t\t}\n\n\t\t// Add support for array select values: <select multiple value={[]} />\n\t\tif (\n\t\t\ttype == 'select' &&\n\t\t\tnormalizedProps.multiple &&\n\t\t\tArray.isArray(normalizedProps.value)\n\t\t) {\n\t\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\n\t\t\t});\n\t\t}\n\n\t\t// Adding support for defaultValue in select tag\n\t\tif (type == 'select' && normalizedProps.defaultValue != null) {\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tif (normalizedProps.multiple) {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\n\t\t\t\t} else {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tvnode.props = normalizedProps;\n\n\t\tif (props.class != props.className) {\n\t\t\tclassNameDescriptor.enumerable = 'className' in props;\n\t\t\tif (props.className != null) normalizedProps.class = props.className;\n\t\t\tObject.defineProperty(normalizedProps, 'className', classNameDescriptor);\n\t\t}\n\t}\n\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\n\n\tif (oldVNodeHook) oldVNodeHook(vnode);\n};\n\n// Only needed for react-relay\nlet currentComponent;\nconst oldBeforeRender = options._render;\noptions._render = function(vnode) {\n\tif (oldBeforeRender) {\n\t\toldBeforeRender(vnode);\n\t}\n\tcurrentComponent = vnode._component;\n};\n\n// This is a very very private internal function for React it\n// is used to sort-of do runtime dependency injection. So far\n// only `react-relay` makes use of it. It uses it to read the\n// context value.\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\n\tReactCurrentDispatcher: {\n\t\tcurrent: {\n\t\t\treadContext(context) {\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tcreateElement,\n\trender as preactRender,\n\tcloneElement as preactCloneElement,\n\tcreateRef,\n\tComponent,\n\tcreateContext,\n\tFragment\n} from 'preact';\nimport {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue\n} from 'preact/hooks';\nimport { PureComponent } from './PureComponent';\nimport { memo } from './memo';\nimport { forwardRef } from './forwardRef';\nimport { Children } from './Children';\nimport { Suspense, lazy } from './suspense';\nimport { SuspenseList } from './suspense-list';\nimport { createPortal } from './portals';\nimport {\n\thydrate,\n\trender,\n\tREACT_ELEMENT_TYPE,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n} from './render';\n\nconst version = '17.0.2'; // trick libraries to think we are react\n\n/**\n * Legacy version of createElement.\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\n */\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n/**\n * Check if the passed element is a valid (p)react node.\n * @param {*} element The element to check\n * @returns {boolean}\n */\nfunction isValidElement(element) {\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\n}\n\n/**\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\n * all vnode normalizations.\n * @param {import('./internal').VNode} element The vnode to clone\n * @param {object} props Props to add when cloning\n * @param {Array<import('./internal').ComponentChildren>} rest Optional component children\n */\nfunction cloneElement(element) {\n\tif (!isValidElement(element)) return element;\n\treturn preactCloneElement.apply(null, arguments);\n}\n\n/**\n * Remove a component tree from the DOM, including state and event handlers.\n * @param {import('./internal').PreactElement} container\n * @returns {boolean}\n */\nfunction unmountComponentAtNode(container) {\n\tif (container._children) {\n\t\tpreactRender(null, container);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Get the matching DOM node for a component\n * @param {import('./internal').Component} component\n * @returns {import('./internal').PreactElement | null}\n */\nfunction findDOMNode(component) {\n\treturn (\n\t\t(component &&\n\t\t\t(component.base || (component.nodeType === 1 && component))) ||\n\t\tnull\n\t);\n}\n\n/**\n * Deprecated way to control batched rendering inside the reconciler, but we\n * already schedule in batches inside our rendering code\n * @template Arg\n * @param {(arg: Arg) => void} callback function that triggers the updated\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n */\n// eslint-disable-next-line camelcase\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\n\n/**\n * In React, `flushSync` flushes the entire tree and forces a rerender. It's\n * implmented here as a no-op.\n * @template Arg\n * @template Result\n * @param {(arg: Arg) => Result} callback function that runs before the flush\n * @param {Arg} [arg] Optional arugment that can be passed to the callback\n * @returns\n */\nconst flushSync = (callback, arg) => callback(arg);\n\n/**\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\n * that just renders its children without imposing any restrictions.\n */\nconst StrictMode = Fragment;\n\nexport function startTransition(cb) {\n\tcb();\n}\n\nexport function useDeferredValue(val) {\n\treturn val;\n}\n\nexport function useTransition() {\n\treturn [false, startTransition];\n}\n\n// TODO: in theory this should be done after a VNode is diffed as we want to insert\n// styles/... before it attaches\nexport const useInsertionEffect = useLayoutEffect;\n\nexport function useSyncExternalStore(subscribe, getSnapshot) {\n\tconst [state, setState] = useState(getSnapshot);\n\n\t// TODO: in suspense for data we could have a discrepancy here because Preact won't re-init the \"useState\"\n\t// when this unsuspends which could lead to stale state as the subscription is torn down.\n\n\tuseEffect(() => {\n\t\treturn subscribe(() => {\n\t\t\tsetState(getSnapshot());\n\t\t});\n\t}, [subscribe, getSnapshot]);\n\n\treturn state;\n}\n\nexport * from 'preact/hooks';\nexport {\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\t// eslint-disable-next-line camelcase\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n\n// React copies the named exports to the default one.\nexport default {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseInsertionEffect,\n\tuseTransition,\n\tuseDeferredValue,\n\tuseSyncExternalStore,\n\tstartTransition,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tflushSync,\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n"],"names":["assign","obj","props","i","shallowDiffers","a","b","PureComponent","p","memo","c","comparer","shouldUpdate","nextProps","ref","this","updateRef","call","current","Memoed","shouldComponentUpdate","createElement","displayName","name","prototype","isReactComponent","Component","isPureReactComponent","state","oldDiffHook","options","vnode","type","REACT_FORWARD_SYMBOL","Symbol","for","forwardRef","fn","Forwarded","clone","$$typeof","render","mapFn","children","toChildArray","map","Children","forEach","count","length","only","normalized","toArray","oldCatchError","error","newVNode","oldVNode","errorInfo","then","component","oldUnmount","unmount","Suspense","_suspenders","suspended","lazy","loader","prom","Lazy","exports","default","e","SuspenseList","_next","_map","promise","suspendingVNode","suspendingComponent","push","resolve","resolved","onResolved","onSuspensionComplete","suspendedVNode","removeOriginal","detachedParent","originalParent","child","insertBefore","setState","pop","forceUpdate","wasHydrating","componentWillUnmount","document","detachedComponent","detachedClone","parentDom","effect","fallback","Fragment","list","node","delete","revealOrder","size","ContextProvider","getChildContext","context","Portal","_this","container","_container","_temp","nodeType","parentNode","childNodes","appendChild","before","removeChild","splice","indexOf","createPortal","el","containerInfo","delegated","get","unsuspend","wrappedUnsuspend","Map","reverse","set","componentDidUpdate","componentDidMount","REACT_ELEMENT_TYPE","CAMEL_PROPS","IS_DOM","onChangeInputType","test","parent","callback","textContent","preactRender","hydrate","preactHydrate","key","Object","defineProperty","configurable","v","writable","value","oldEventHook","event","empty","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","persist","nativeEvent","currentComponent","classNameDescriptor","class","oldVNodeHook","normalizedProps","nonCustomElement","toLowerCase","replace","undefined","multiple","Array","isArray","selected","defaultValue","className","enumerable","oldBeforeRender","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","readContext","createFactory","bind","isValidElement","element","cloneElement","preactCloneElement","apply","arguments","unmountComponentAtNode","findDOMNode","base","unstable_batchedUpdates","arg","flushSync","StrictMode","startTransition","cb","useDeferredValue","val","useTransition","useInsertionEffect","useLayoutEffect","useSyncExternalStore","subscribe","getSnapshot","useState","useEffect","useReducer","useRef","useImperativeHandle","useMemo","useCallback","useContext","useDebugValue","version","createContext","createRef"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from"preact/hooks";export*from"preact/hooks";import{Component as a,createElement as s,options as h,toChildArray as
|
2
|
-
//# sourceMappingURL=compat.module.js.map
|
1
|
+
import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from"preact/hooks";export*from"preact/hooks";import{Component as a,createElement as s,options as h,toChildArray as v,Fragment as d,render as p,hydrate as m,cloneElement as y,createRef as b,createContext as _}from"preact";export{createElement,createContext,createRef,Fragment,Component}from"preact";function S(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:C(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName="Memo("+(n.displayName||n.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var x="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function R(n){function t(t){var e=S({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=x,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var N=function(n,t){return null==n?null:v(v(n).map(t))},k={map:N,forEach:N,count:function(n){return n?v(n).length:0},only:function(n){var t=v(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:v},A=h.__e;h.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);A(n,t,e,r)};var O=h.unmount;function T(){this.__u=0,this.t=null,this.__b=null}function L(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName="Lazy",u.__f=!0,u}function D(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(T.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=L(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},T.prototype.componentWillUnmount=function(){this.t=[]},T.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=S({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__a&&s(d,null,n.fallback);return u&&(u.__h=null),[s(d,null,t.__a?null:n.children),u]};var F=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function I(n){return this.getChildContext=function(){return n.context},n.children}function M(n){var t=this,e=n.i;t.componentWillUnmount=function(){p(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),p(s(I,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function V(n,t){var e=s(M,{__v:n,i:t});return e.containerInfo=t,e}(D.prototype=new a).__a=function(n){var t=this,e=L(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),F(t,n,r)):u()};e?e(o):o()}},D.prototype.render=function(n){this.u=null,this.o=new Map;var t=v(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},D.prototype.componentDidUpdate=D.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){F(n,e,t)})};var W="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,$="undefined"!=typeof document,j=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=""),p(n,t),"function"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),"function"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this["UNSAFE_"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function q(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=q,n.nativeEvent=n};var G,J={configurable:!0,get:function(){return this.class}},K=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if("string"==typeof t){var u=-1===t.indexOf("-");for(var o in r={},e){var i=e[o];$&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in e&&null==i||("defaultValue"===o&&"value"in e&&null==e.value?o="value":"download"===o&&!0===i?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!j(e.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():u&&P.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===i&&(i=void 0),/^oninput$/i.test(o)&&(o=o.toLowerCase(),r[o]&&(o="oninputCapture")),r[o]=i)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=v(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),"select"==t&&null!=r.defaultValue&&(r.value=v(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r,e.class!=e.className&&(J.enumerable="className"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,"className",J))}n.$$typeof=W,K&&K(n)};var Q=h.__r;h.__r=function(n){Q&&Q(n),G=n.__c};var X={ReactCurrentDispatcher:{current:{readContext:function(n){return G.__n[n.__c].props.value}}}},nn="17.0.2";function tn(n){return s.bind(null,n)}function en(n){return!!n&&n.$$typeof===W}function rn(n){return en(n)?y.apply(null,arguments):n}function un(n){return!!n.__k&&(p(null,n),!0)}function on(n){return n&&(n.base||1===n.nodeType&&n)||null}var ln=function(n,t){return n(t)},fn=function(n,t){return n(t)},cn=d;function an(n){n()}function sn(n){return n}function hn(){return[!1,an]}var vn=r;function dn(t,r){var u=n(r),o=u[0],i=u[1];return e(function(){return t(function(){i(r())})},[t,r]),o}export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useInsertionEffect:r,useTransition:hn,useDeferredValue:sn,useSyncExternalStore:dn,startTransition:an,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:"17.0.2",Children:k,render:z,hydrate:B,unmountComponentAtNode:un,createPortal:V,createElement:s,createContext:_,createFactory:tn,cloneElement:rn,createRef:b,Fragment:d,isValidElement:en,findDOMNode:on,Component:a,PureComponent:E,memo:g,forwardRef:R,flushSync:fn,unstable_batchedUpdates:ln,StrictMode:d,Suspense:T,SuspenseList:D,lazy:U,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:X};export{an as startTransition,sn as useDeferredValue,hn as useTransition,vn as useInsertionEffect,dn as useSyncExternalStore,nn as version,k as Children,z as render,B as hydrate,un as unmountComponentAtNode,V as createPortal,tn as createFactory,rn as cloneElement,en as isValidElement,on as findDOMNode,E as PureComponent,g as memo,R as forwardRef,fn as flushSync,ln as unstable_batchedUpdates,cn as StrictMode,T as Suspense,D as SuspenseList,U as lazy,X as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED};
|
2
|
+
//# sourceMappingURL=compat.module.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from"preact/hooks";export*from"preact/hooks";import{Component as a,createElement as s,options as h,toChildArray as
|
2
|
-
//# sourceMappingURL=compat.module.js.map
|
1
|
+
import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from"preact/hooks";export*from"preact/hooks";import{Component as a,createElement as s,options as h,toChildArray as v,Fragment as d,render as p,hydrate as m,cloneElement as y,createRef as b,createContext as _}from"preact";export{createElement,createContext,createRef,Fragment,Component}from"preact";function S(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:C(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName="Memo("+(n.displayName||n.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var x="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function R(n){function t(t){var e=S({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=x,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var N=function(n,t){return null==n?null:v(v(n).map(t))},k={map:N,forEach:N,count:function(n){return n?v(n).length:0},only:function(n){var t=v(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:v},A=h.__e;h.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);A(n,t,e,r)};var O=h.unmount;function T(){this.__u=0,this.t=null,this.__b=null}function L(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName="Lazy",u.__f=!0,u}function D(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(T.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=L(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},T.prototype.componentWillUnmount=function(){this.t=[]},T.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=S({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__a&&s(d,null,n.fallback);return u&&(u.__h=null),[s(d,null,t.__a?null:n.children),u]};var F=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function I(n){return this.getChildContext=function(){return n.context},n.children}function M(n){var t=this,e=n.i;t.componentWillUnmount=function(){p(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),p(s(I,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function V(n,t){var e=s(M,{__v:n,i:t});return e.containerInfo=t,e}(D.prototype=new a).__a=function(n){var t=this,e=L(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),F(t,n,r)):u()};e?e(o):o()}},D.prototype.render=function(n){this.u=null,this.o=new Map;var t=v(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},D.prototype.componentDidUpdate=D.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){F(n,e,t)})};var W="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|shape|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,$="undefined"!=typeof document,j=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=""),p(n,t),"function"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),"function"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this["UNSAFE_"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function q(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=q,n.nativeEvent=n};var G,J={configurable:!0,get:function(){return this.class}},K=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if("string"==typeof t){var u=-1===t.indexOf("-");for(var o in r={},e){var i=e[o];$&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in e&&null==i||("defaultValue"===o&&"value"in e&&null==e.value?o="value":"download"===o&&!0===i?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!j(e.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():u&&P.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===i&&(i=void 0),/^oninput$/i.test(o)&&(o=o.toLowerCase(),r[o]&&(o="oninputCapture")),r[o]=i)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=v(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),"select"==t&&null!=r.defaultValue&&(r.value=v(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r,e.class!=e.className&&(J.enumerable="className"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,"className",J))}n.$$typeof=W,K&&K(n)};var Q=h.__r;h.__r=function(n){Q&&Q(n),G=n.__c};var X={ReactCurrentDispatcher:{current:{readContext:function(n){return G.__n[n.__c].props.value}}}},nn="17.0.2";function tn(n){return s.bind(null,n)}function en(n){return!!n&&n.$$typeof===W}function rn(n){return en(n)?y.apply(null,arguments):n}function un(n){return!!n.__k&&(p(null,n),!0)}function on(n){return n&&(n.base||1===n.nodeType&&n)||null}var ln=function(n,t){return n(t)},fn=function(n,t){return n(t)},cn=d;function an(n){n()}function sn(n){return n}function hn(){return[!1,an]}var vn=r;function dn(t,r){var u=n(r),o=u[0],i=u[1];return e(function(){return t(function(){i(r())})},[t,r]),o}export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useInsertionEffect:r,useTransition:hn,useDeferredValue:sn,useSyncExternalStore:dn,startTransition:an,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:"17.0.2",Children:k,render:z,hydrate:B,unmountComponentAtNode:un,createPortal:V,createElement:s,createContext:_,createFactory:tn,cloneElement:rn,createRef:b,Fragment:d,isValidElement:en,findDOMNode:on,Component:a,PureComponent:E,memo:g,forwardRef:R,flushSync:fn,unstable_batchedUpdates:ln,StrictMode:d,Suspense:T,SuspenseList:D,lazy:U,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:X};export{an as startTransition,sn as useDeferredValue,hn as useTransition,vn as useInsertionEffect,dn as useSyncExternalStore,nn as version,k as Children,z as render,B as hydrate,un as unmountComponentAtNode,V as createPortal,tn as createFactory,rn as cloneElement,en as isValidElement,on as findDOMNode,E as PureComponent,g as memo,R as forwardRef,fn as flushSync,ln as unstable_batchedUpdates,cn as StrictMode,T as Suspense,D as SuspenseList,U as lazy,X as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED};
|
2
|
+
//# sourceMappingURL=compat.module.js.map
|