isomorfeus-preact 10.6.11 → 10.6.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/lib/browser/event.rb +2 -0
  3. data/lib/isomorfeus/preact_view_helper.rb +3 -2
  4. data/lib/isomorfeus/props/validate_hash_proxy.rb +1 -1
  5. data/lib/isomorfeus/props/validator.rb +6 -4
  6. data/lib/isomorfeus-preact.rb +3 -3
  7. data/lib/isomorfeus_preact/lucid_component/api.rb +1 -1
  8. data/lib/isomorfeus_preact/lucid_component/initializer.rb +2 -2
  9. data/lib/isomorfeus_preact/lucid_func/initializer.rb +1 -1
  10. data/lib/isomorfeus_preact/preact/function_component/initializer.rb +1 -1
  11. data/lib/preact/component/api.rb +1 -1
  12. data/lib/preact/component/callbacks.rb +6 -6
  13. data/lib/preact/component/initializer.rb +2 -2
  14. data/lib/preact/component/native_component_constructor.rb +1 -1
  15. data/lib/preact/props.rb +51 -0
  16. data/lib/preact/state.rb +67 -0
  17. data/lib/preact/version.rb +1 -1
  18. data/lib/preact.rb +2 -2
  19. data/node_modules/.package-lock.json +3 -3
  20. data/node_modules/preact/LICENSE +21 -21
  21. data/node_modules/preact/README.md +187 -187
  22. data/node_modules/preact/compat/dist/compat.js +1 -1
  23. data/node_modules/preact/compat/dist/compat.js.map +1 -1
  24. data/node_modules/preact/compat/dist/compat.mjs +1 -1
  25. data/node_modules/preact/compat/dist/compat.module.js +1 -1
  26. data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
  27. data/node_modules/preact/compat/dist/compat.umd.js +1 -1
  28. data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
  29. data/node_modules/preact/compat/jsx-dev-runtime.js +1 -1
  30. data/node_modules/preact/compat/jsx-dev-runtime.mjs +1 -1
  31. data/node_modules/preact/compat/jsx-runtime.js +1 -1
  32. data/node_modules/preact/compat/jsx-runtime.mjs +1 -1
  33. data/node_modules/preact/compat/package.json +19 -19
  34. data/node_modules/preact/compat/scheduler.js +15 -15
  35. data/node_modules/preact/compat/scheduler.mjs +23 -23
  36. data/node_modules/preact/compat/server.js +15 -15
  37. data/node_modules/preact/compat/server.mjs +4 -4
  38. data/node_modules/preact/compat/src/Children.js +21 -21
  39. data/node_modules/preact/compat/src/PureComponent.js +15 -15
  40. data/node_modules/preact/compat/src/forwardRef.js +51 -51
  41. data/node_modules/preact/compat/src/index.d.ts +141 -141
  42. data/node_modules/preact/compat/src/index.js +187 -187
  43. data/node_modules/preact/compat/src/internal.d.ts +47 -47
  44. data/node_modules/preact/compat/src/memo.js +34 -34
  45. data/node_modules/preact/compat/src/portals.js +80 -80
  46. data/node_modules/preact/compat/src/render.js +229 -230
  47. data/node_modules/preact/compat/src/suspense-list.d.ts +14 -14
  48. data/node_modules/preact/compat/src/suspense-list.js +126 -126
  49. data/node_modules/preact/compat/src/suspense.d.ts +15 -15
  50. data/node_modules/preact/compat/src/suspense.js +270 -270
  51. data/node_modules/preact/compat/src/util.js +28 -28
  52. data/node_modules/preact/compat/test-utils.js +1 -1
  53. data/node_modules/preact/debug/dist/debug.js.map +1 -1
  54. data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
  55. data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
  56. data/node_modules/preact/debug/package.json +18 -18
  57. data/node_modules/preact/debug/src/check-props.js +54 -54
  58. data/node_modules/preact/debug/src/component-stack.js +146 -146
  59. data/node_modules/preact/debug/src/constants.js +3 -3
  60. data/node_modules/preact/debug/src/debug.js +442 -442
  61. data/node_modules/preact/debug/src/index.js +6 -6
  62. data/node_modules/preact/debug/src/internal.d.ts +82 -82
  63. data/node_modules/preact/debug/src/util.js +11 -11
  64. data/node_modules/preact/devtools/dist/devtools.js +1 -1
  65. data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
  66. data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
  67. data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
  68. data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
  69. data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
  70. data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
  71. data/node_modules/preact/devtools/package.json +16 -16
  72. data/node_modules/preact/devtools/src/devtools.js +10 -10
  73. data/node_modules/preact/devtools/src/index.d.ts +8 -8
  74. data/node_modules/preact/devtools/src/index.js +15 -15
  75. data/node_modules/preact/dist/preact.js.map +1 -1
  76. data/node_modules/preact/dist/preact.min.js.map +1 -1
  77. data/node_modules/preact/dist/preact.module.js.map +1 -1
  78. data/node_modules/preact/dist/preact.umd.js.map +1 -1
  79. data/node_modules/preact/hooks/dist/hooks.js +1 -1
  80. data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
  81. data/node_modules/preact/hooks/dist/hooks.mjs +1 -1
  82. data/node_modules/preact/hooks/dist/hooks.module.js +1 -1
  83. data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
  84. data/node_modules/preact/hooks/dist/hooks.umd.js +1 -1
  85. data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
  86. data/node_modules/preact/hooks/package.json +26 -26
  87. data/node_modules/preact/hooks/src/index.d.ts +139 -139
  88. data/node_modules/preact/hooks/src/index.js +386 -388
  89. data/node_modules/preact/hooks/src/internal.d.ts +75 -75
  90. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -1
  91. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -1
  92. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -1
  93. data/node_modules/preact/jsx-runtime/package.json +19 -19
  94. data/node_modules/preact/jsx-runtime/src/index.d.ts +50 -50
  95. data/node_modules/preact/jsx-runtime/src/index.js +77 -77
  96. data/node_modules/preact/package.json +291 -287
  97. data/node_modules/preact/src/cjs.js +3 -3
  98. data/node_modules/preact/src/clone-element.js +34 -34
  99. data/node_modules/preact/src/component.js +225 -225
  100. data/node_modules/preact/src/constants.js +3 -3
  101. data/node_modules/preact/src/create-context.js +68 -68
  102. data/node_modules/preact/src/create-element.js +98 -98
  103. data/node_modules/preact/src/diff/catch-error.js +38 -38
  104. data/node_modules/preact/src/diff/children.js +335 -335
  105. data/node_modules/preact/src/diff/index.js +516 -516
  106. data/node_modules/preact/src/diff/props.js +158 -158
  107. data/node_modules/preact/src/index.d.ts +310 -310
  108. data/node_modules/preact/src/index.js +13 -13
  109. data/node_modules/preact/src/internal.d.ts +146 -146
  110. data/node_modules/preact/src/jsx.d.ts +1005 -1005
  111. data/node_modules/preact/src/options.js +16 -16
  112. data/node_modules/preact/src/render.js +75 -75
  113. data/node_modules/preact/src/util.js +27 -27
  114. data/node_modules/preact/test-utils/dist/testUtils.js.map +1 -1
  115. data/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -1
  116. data/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -1
  117. data/node_modules/preact/test-utils/package.json +19 -19
  118. data/node_modules/preact/test-utils/src/index.d.ts +3 -3
  119. data/node_modules/preact/test-utils/src/index.js +117 -117
  120. data/package.json +1 -1
  121. metadata +8 -8
  122. data/lib/preact/component/props.rb +0 -55
  123. data/lib/preact/component/state.rb +0 -58
@@ -1,2 +1,2 @@
1
- !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact/hooks"),require("preact")):"function"==typeof define&&define.amd?define(["exports","preact/hooks","preact"],t):t(n.preactCompat={},n.hooks,n.preact)}(this,function(n,t,e){function r(n,t){for(var e in t)n[e]=t[e];return n}function u(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 i(n){this.props=n}function o(n,t){function r(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:u(this.props,n)}function i(t){return this.shouldComponentUpdate=r,e.createElement(n,t)}return i.displayName="Memo("+(n.displayName||n.name)+")",i.prototype.isReactComponent=!0,i.__f=!0,i}(i.prototype=new e.Component).isPureReactComponent=!0,i.prototype.shouldComponentUpdate=function(n,t){return u(this.props,n)||u(this.state,t)};var l=e.options.__b;e.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),l&&l(n)};var f="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function c(n){function t(t,e){var u=r({},t);return delete u.ref,n(u,(e=t.ref||e)&&("object"!=typeof e||"current"in e)?e:null)}return t.$$typeof=f,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var a=function(n,t){return null==n?null:e.toChildArray(e.toChildArray(n).map(t))},s={map:a,forEach:a,count:function(n){return n?e.toChildArray(n).length:0},only:function(n){var t=e.toChildArray(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:e.toChildArray},h=e.options.__e;e.options.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);h(n,t,e)};var d=e.options.unmount;function v(){this.__u=0,this.t=null,this.__b=null}function p(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function m(n){var t,r,u;function i(i){if(t||(t=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw t;return e.createElement(r,i)}return i.displayName="Lazy",i.__f=!0,i}function y(){this.u=null,this.i=null}e.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),d&&d(n)},(v.prototype=new e.Component).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=p(r.__v),i=!1,o=function(){i||(i=!0,e.__R=null,u?u(l):l())};e.__R=o;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;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({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(o,o)},v.prototype.componentWillUnmount=function(){this.t=[]},v.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var u=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,u){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=r({},t)).__c&&(t.__c.__P===u&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,u)})),t}(this.__b,u,i.__O=i.__P)}this.__b=null}var o=t.__e&&e.createElement(e.Fragment,null,n.fallback);return o&&(o.__h=null),[e.createElement(e.Fragment,null,t.__e?null:n.children),o]};var b=function(n,t,e){if(++e[1]===e[0]&&n.i.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.i.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function _(n){return this.getChildContext=function(){return n.context},n.children}function S(n){var t=this,r=n.o;t.componentWillUnmount=function(){e.render(null,t.l),t.l=null,t.o=null},t.o&&t.o!==r&&t.componentWillUnmount(),n.__v?(t.l||(t.o=r,t.l={nodeType:1,parentNode:r,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.o.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.o.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.o.removeChild(n)}}),e.render(e.createElement(_,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function w(n,t){return e.createElement(S,{__v:n,o:t})}(y.prototype=new e.Component).__e=function(n){var t=this,e=p(t.__v),r=t.i.get(n);return r[0]++,function(u){var i=function(){t.props.revealOrder?(r.push(u),b(t,n,r)):u()};e?e(i):i()}},y.prototype.render=function(n){this.u=null,this.i=new Map;var t=e.toChildArray(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var r=t.length;r--;)this.i.set(t[r],this.u=[1,0,this.u]);return n.children},y.prototype.componentDidUpdate=y.prototype.componentDidMount=function(){var n=this;this.i.forEach(function(t,e){b(n,e,t)})};var C="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,g=/^(?: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]/,E="undefined"!=typeof document,R=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function x(n,t,r){return null==t.__k&&(t.textContent=""),e.render(n,t),"function"==typeof r&&r(),n?n.__c:null}function N(n,t,r){return e.hydrate(n,t),"function"==typeof r&&r(),n?n.__c:null}e.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(e.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 k=e.options.event;function O(){}function A(){return this.cancelBubble}function L(){return this.defaultPrevented}e.options.event=function(n){return k&&(n=k(n)),n.persist=O,n.isPropagationStopped=A,n.isDefaultPrevented=L,n.nativeEvent=n};var U,j={configurable:!0,get:function(){return this.class}},M=e.options.vnode;e.options.vnode=function(n){var t=n.type,r=n.props,u=r;if("string"==typeof t){var i=-1===t.indexOf("-");for(var o in u={},r){var l=r[o];E&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in r&&null==l||("defaultValue"===o&&"value"in r&&null==r.value?o="value":"download"===o&&!0===l?l="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!R(r.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():i&&g.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===l&&(l=void 0),u[o]=l)}"select"==t&&u.multiple&&Array.isArray(u.value)&&(u.value=e.toChildArray(r.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==t&&null!=u.defaultValue&&(u.value=e.toChildArray(r.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),n.props=u,r.class!=r.className&&(j.enumerable="className"in r,null!=r.className&&(u.class=r.className),Object.defineProperty(u,"className",j))}n.$$typeof=C,M&&M(n)};var T=e.options.__r;e.options.__r=function(n){T&&T(n),U=n.__c};var D={ReactCurrentDispatcher:{current:{readContext:function(n){return U.__n[n.__c].props.value}}}};function F(n){return e.createElement.bind(null,n)}function I(n){return!!n&&n.$$typeof===C}function W(n){return I(n)?e.cloneElement.apply(null,arguments):n}function P(n){return!!n.__k&&(e.render(null,n),!0)}function V(n){return n&&(n.base||1===n.nodeType&&n)||null}var z=function(n,t){return n(t)},B=function(n,t){return n(t)},$=e.Fragment,q={useState:t.useState,useReducer:t.useReducer,useEffect:t.useEffect,useLayoutEffect:t.useLayoutEffect,useRef:t.useRef,useImperativeHandle:t.useImperativeHandle,useMemo:t.useMemo,useCallback:t.useCallback,useContext:t.useContext,useDebugValue:t.useDebugValue,version:"17.0.2",Children:s,render:x,hydrate:N,unmountComponentAtNode:P,createPortal:w,createElement:e.createElement,createContext:e.createContext,createFactory:F,cloneElement:W,createRef:e.createRef,Fragment:e.Fragment,isValidElement:I,findDOMNode:V,Component:e.Component,PureComponent:i,memo:o,forwardRef:c,flushSync:B,unstable_batchedUpdates:z,StrictMode:$,Suspense:v,SuspenseList:y,lazy:m,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:D};Object.keys(t).forEach(function(e){n[e]=t[e]}),n.createElement=e.createElement,n.createContext=e.createContext,n.createRef=e.createRef,n.Fragment=e.Fragment,n.Component=e.Component,n.version="17.0.2",n.Children=s,n.render=x,n.hydrate=N,n.unmountComponentAtNode=P,n.createPortal=w,n.createFactory=F,n.cloneElement=W,n.isValidElement=I,n.findDOMNode=V,n.PureComponent=i,n.memo=o,n.forwardRef=c,n.flushSync=B,n.unstable_batchedUpdates=z,n.StrictMode=$,n.Suspense=v,n.SuspenseList=y,n.lazy=m,n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,n.default=q});
1
+ !function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact/hooks"),require("preact")):"function"==typeof define&&define.amd?define(["exports","preact/hooks","preact"],t):t(n.preactCompat={},n.preactHooks,n.preact)}(this,function(n,t,e){function r(n,t){for(var e in t)n[e]=t[e];return n}function u(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 i(n,t){function r(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:u(this.props,n)}function o(t){return this.shouldComponentUpdate=r,e.createElement(n,t)}return o.displayName="Memo("+(n.displayName||n.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}(o.prototype=new e.Component).isPureReactComponent=!0,o.prototype.shouldComponentUpdate=function(n,t){return u(this.props,n)||u(this.state,t)};var l=e.options.__b;e.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),l&&l(n)};var f="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function c(n){function t(t,e){var u=r({},t);return delete u.ref,n(u,(e=t.ref||e)&&("object"!=typeof e||"current"in e)?e:null)}return t.$$typeof=f,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var a=function(n,t){return null==n?null:e.toChildArray(e.toChildArray(n).map(t))},s={map:a,forEach:a,count:function(n){return n?e.toChildArray(n).length:0},only:function(n){var t=e.toChildArray(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:e.toChildArray},h=e.options.__e;e.options.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);h(n,t,e)};var d=e.options.unmount;function v(){this.__u=0,this.t=null,this.__b=null}function p(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function m(n){var t,r,u;function o(o){if(t||(t=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw t;return e.createElement(r,o)}return o.displayName="Lazy",o.__f=!0,o}function y(){this.u=null,this.o=null}e.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),d&&d(n)},(v.prototype=new e.Component).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=p(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.__e){var n=r.state.__e;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({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},v.prototype.componentWillUnmount=function(){this.t=[]},v.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var u=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,u){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=r({},t)).__c&&(t.__c.__P===u&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,u)})),t}(this.__b,u,o.__O=o.__P)}this.__b=null}var i=t.__e&&e.createElement(e.Fragment,null,n.fallback);return i&&(i.__h=null),[e.createElement(e.Fragment,null,t.__e?null:n.children),i]};var b=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 _(n){return this.getChildContext=function(){return n.context},n.children}function S(n){var t=this,r=n.i;t.componentWillUnmount=function(){e.render(null,t.l),t.l=null,t.i=null},t.i&&t.i!==r&&t.componentWillUnmount(),n.__v?(t.l||(t.i=r,t.l={nodeType:1,parentNode:r,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)}}),e.render(e.createElement(_,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function C(n,t){return e.createElement(S,{__v:n,i:t})}(y.prototype=new e.Component).__e=function(n){var t=this,e=p(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),b(t,n,r)):u()};e?e(o):o()}},y.prototype.render=function(n){this.u=null,this.o=new Map;var t=e.toChildArray(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var r=t.length;r--;)this.o.set(t[r],this.u=[1,0,this.u]);return n.children},y.prototype.componentDidUpdate=y.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){b(n,e,t)})};var w="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,g=/^(?: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]/,E="undefined"!=typeof document,R=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function x(n,t,r){return null==t.__k&&(t.textContent=""),e.render(n,t),"function"==typeof r&&r(),n?n.__c:null}function N(n,t,r){return e.hydrate(n,t),"function"==typeof r&&r(),n?n.__c:null}e.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(e.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 k=e.options.event;function O(){}function A(){return this.cancelBubble}function L(){return this.defaultPrevented}e.options.event=function(n){return k&&(n=k(n)),n.persist=O,n.isPropagationStopped=A,n.isDefaultPrevented=L,n.nativeEvent=n};var U,j={configurable:!0,get:function(){return this.class}},M=e.options.vnode;e.options.vnode=function(n){var t=n.type,r=n.props,u=r;if("string"==typeof t){var o=-1===t.indexOf("-");for(var i in u={},r){var l=r[i];E&&"children"===i&&"noscript"===t||"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+t)&&!R(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():o&&g.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===l&&(l=void 0),u[i]=l)}"select"==t&&u.multiple&&Array.isArray(u.value)&&(u.value=e.toChildArray(r.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==t&&null!=u.defaultValue&&(u.value=e.toChildArray(r.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),n.props=u,r.class!=r.className&&(j.enumerable="className"in r,null!=r.className&&(u.class=r.className),Object.defineProperty(u,"className",j))}n.$$typeof=w,M&&M(n)};var T=e.options.__r;e.options.__r=function(n){T&&T(n),U=n.__c};var D={ReactCurrentDispatcher:{current:{readContext:function(n){return U.__n[n.__c].props.value}}}};function F(n){return e.createElement.bind(null,n)}function I(n){return!!n&&n.$$typeof===w}function W(n){return I(n)?e.cloneElement.apply(null,arguments):n}function P(n){return!!n.__k&&(e.render(null,n),!0)}function V(n){return n&&(n.base||1===n.nodeType&&n)||null}var z=function(n,t){return n(t)},B=function(n,t){return n(t)},$=e.Fragment,q={useState:t.useState,useReducer:t.useReducer,useEffect:t.useEffect,useLayoutEffect:t.useLayoutEffect,useRef:t.useRef,useImperativeHandle:t.useImperativeHandle,useMemo:t.useMemo,useCallback:t.useCallback,useContext:t.useContext,useDebugValue:t.useDebugValue,version:"17.0.2",Children:s,render:x,hydrate:N,unmountComponentAtNode:P,createPortal:C,createElement:e.createElement,createContext:e.createContext,createFactory:F,cloneElement:W,createRef:e.createRef,Fragment:e.Fragment,isValidElement:I,findDOMNode:V,Component:e.Component,PureComponent:o,memo:i,forwardRef:c,flushSync:B,unstable_batchedUpdates:z,StrictMode:$,Suspense:v,SuspenseList:y,lazy:m,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:D};Object.keys(t).forEach(function(e){n[e]=t[e]}),n.createElement=e.createElement,n.createContext=e.createContext,n.createRef=e.createRef,n.Fragment=e.Fragment,n.Component=e.Component,n.version="17.0.2",n.Children=s,n.render=x,n.hydrate=N,n.unmountComponentAtNode=P,n.createPortal=C,n.createFactory=F,n.cloneElement=W,n.isValidElement=I,n.findDOMNode=V,n.PureComponent=o,n.memo=i,n.forwardRef=c,n.flushSync=B,n.unstable_batchedUpdates=z,n.StrictMode=$,n.Suspense=v,n.SuspenseList=y,n.lazy=m,n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,n.default=q});
2
2
  //# sourceMappingURL=compat.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compat.umd.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":["/**\r\n * Assign properties from `props` to `obj`\r\n * @template O, P The obj and props types\r\n * @param {O} obj The object to copy properties to\r\n * @param {P} props The object to copy properties from\r\n * @returns {O & P}\r\n */\r\nexport function assign(obj, props) {\r\n\tfor (let i in props) obj[i] = props[i];\r\n\treturn /** @type {O & P} */ (obj);\r\n}\r\n\r\n/**\r\n * Check if two objects have a different shape\r\n * @param {object} a\r\n * @param {object} b\r\n * @returns {boolean}\r\n */\r\nexport function shallowDiffers(a, b) {\r\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\r\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\r\n\treturn false;\r\n}\r\n\r\nexport function removeNode(node) {\r\n\tlet parentNode = node.parentNode;\r\n\tif (parentNode) parentNode.removeChild(node);\r\n}\r\n","import { Component } from 'preact';\r\nimport { shallowDiffers } from './util';\r\n\r\n/**\r\n * Component class with a predefined `shouldComponentUpdate` implementation\r\n */\r\nexport function PureComponent(p) {\r\n\tthis.props = p;\r\n}\r\nPureComponent.prototype = new Component();\r\n// Some third-party libraries check if this property is present\r\nPureComponent.prototype.isPureReactComponent = true;\r\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\r\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\r\n};\r\n","import { createElement } from 'preact';\r\nimport { shallowDiffers } from './util';\r\n\r\n/**\r\n * Memoize a component, so that it only updates when the props actually have\r\n * changed. This was previously known as `React.pure`.\r\n * @param {import('./internal').FunctionComponent} c functional component\r\n * @param {(prev: object, next: object) => boolean} [comparer] Custom equality function\r\n * @returns {import('./internal').FunctionComponent}\r\n */\r\nexport function memo(c, comparer) {\r\n\tfunction shouldUpdate(nextProps) {\r\n\t\tlet ref = this.props.ref;\r\n\t\tlet updateRef = ref == nextProps.ref;\r\n\t\tif (!updateRef && ref) {\r\n\t\t\tref.call ? ref(null) : (ref.current = null);\r\n\t\t}\r\n\r\n\t\tif (!comparer) {\r\n\t\t\treturn shallowDiffers(this.props, nextProps);\r\n\t\t}\r\n\r\n\t\treturn !comparer(this.props, nextProps) || !updateRef;\r\n\t}\r\n\r\n\tfunction Memoed(props) {\r\n\t\tthis.shouldComponentUpdate = shouldUpdate;\r\n\t\treturn createElement(c, props);\r\n\t}\r\n\tMemoed.displayName = 'Memo(' + (c.displayName || c.name) + ')';\r\n\tMemoed.prototype.isReactComponent = true;\r\n\tMemoed._forwarded = true;\r\n\treturn Memoed;\r\n}\r\n","import { options } from 'preact';\r\nimport { assign } from './util';\r\n\r\nlet oldDiffHook = options._diff;\r\noptions._diff = vnode => {\r\n\tif (vnode.type && vnode.type._forwarded && vnode.ref) {\r\n\t\tvnode.props.ref = vnode.ref;\r\n\t\tvnode.ref = null;\r\n\t}\r\n\tif (oldDiffHook) oldDiffHook(vnode);\r\n};\r\n\r\nexport const REACT_FORWARD_SYMBOL =\r\n\t(typeof Symbol != 'undefined' &&\r\n\t\tSymbol.for &&\r\n\t\tSymbol.for('react.forward_ref')) ||\r\n\t0xf47;\r\n\r\n/**\r\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\r\n * wrap components. Using `forwardRef` there is an easy way to get a reference\r\n * of the wrapped component instead of one of the wrapper itself.\r\n * @param {import('./index').ForwardFn} fn\r\n * @returns {import('./internal').FunctionComponent}\r\n */\r\nexport function forwardRef(fn) {\r\n\t// We always have ref in props.ref, except for\r\n\t// mobx-react. It will call this function directly\r\n\t// and always pass ref as the second argument.\r\n\tfunction Forwarded(props, ref) {\r\n\t\tlet clone = assign({}, props);\r\n\t\tdelete clone.ref;\r\n\t\tref = props.ref || ref;\r\n\t\treturn fn(\r\n\t\t\tclone,\r\n\t\t\t!ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref\r\n\t\t);\r\n\t}\r\n\r\n\t// mobx-react checks for this being present\r\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\r\n\t// mobx-react heavily relies on implementation details.\r\n\t// It expects an object here with a `render` property,\r\n\t// and prototype.render will fail. Without this\r\n\t// mobx-react throws.\r\n\tForwarded.render = Forwarded;\r\n\r\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\r\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\r\n\treturn Forwarded;\r\n}\r\n","import { toChildArray } from 'preact';\r\n\r\nconst mapFn = (children, fn) => {\r\n\tif (children == null) return null;\r\n\treturn toChildArray(toChildArray(children).map(fn));\r\n};\r\n\r\n// This API is completely unnecessary for Preact, so it's basically passthrough.\r\nexport const Children = {\r\n\tmap: mapFn,\r\n\tforEach: mapFn,\r\n\tcount(children) {\r\n\t\treturn children ? toChildArray(children).length : 0;\r\n\t},\r\n\tonly(children) {\r\n\t\tconst normalized = toChildArray(children);\r\n\t\tif (normalized.length !== 1) throw 'Children.only';\r\n\t\treturn normalized[0];\r\n\t},\r\n\ttoArray: toChildArray\r\n};\r\n","import { Component, createElement, options, Fragment } from 'preact';\r\nimport { assign } from './util';\r\n\r\nconst oldCatchError = options._catchError;\r\noptions._catchError = function(error, newVNode, oldVNode) {\r\n\tif (error.then) {\r\n\t\t/** @type {import('./internal').Component} */\r\n\t\tlet component;\r\n\t\tlet vnode = newVNode;\r\n\r\n\t\tfor (; (vnode = vnode._parent); ) {\r\n\t\t\tif ((component = vnode._component) && component._childDidSuspend) {\r\n\t\t\t\tif (newVNode._dom == null) {\r\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\r\n\t\t\t\t\tnewVNode._children = oldVNode._children;\r\n\t\t\t\t}\r\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\r\n\t\t\t\treturn component._childDidSuspend(error, newVNode);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\toldCatchError(error, newVNode, oldVNode);\r\n};\r\n\r\nconst oldUnmount = options.unmount;\r\noptions.unmount = function(vnode) {\r\n\t/** @type {import('./internal').Component} */\r\n\tconst component = vnode._component;\r\n\tif (component && component._onResolve) {\r\n\t\tcomponent._onResolve();\r\n\t}\r\n\r\n\t// if the component is still hydrating\r\n\t// most likely it is because the component is suspended\r\n\t// we set the vnode.type as `null` so that it is not a typeof function\r\n\t// so the unmount will remove the vnode._dom\r\n\tif (component && vnode._hydrating === true) {\r\n\t\tvnode.type = null;\r\n\t}\r\n\r\n\tif (oldUnmount) oldUnmount(vnode);\r\n};\r\n\r\nfunction detachedClone(vnode, detachedParent, parentDom) {\r\n\tif (vnode) {\r\n\t\tif (vnode._component && vnode._component.__hooks) {\r\n\t\t\tvnode._component.__hooks._list.forEach(effect => {\r\n\t\t\t\tif (typeof effect._cleanup == 'function') effect._cleanup();\r\n\t\t\t});\r\n\r\n\t\t\tvnode._component.__hooks = null;\r\n\t\t}\r\n\r\n\t\tvnode = assign({}, vnode);\r\n\t\tif (vnode._component != null) {\r\n\t\t\tif (vnode._component._parentDom === parentDom) {\r\n\t\t\t\tvnode._component._parentDom = detachedParent;\r\n\t\t\t}\r\n\t\t\tvnode._component = null;\r\n\t\t}\r\n\r\n\t\tvnode._children =\r\n\t\t\tvnode._children &&\r\n\t\t\tvnode._children.map(child =>\r\n\t\t\t\tdetachedClone(child, detachedParent, parentDom)\r\n\t\t\t);\r\n\t}\r\n\r\n\treturn vnode;\r\n}\r\n\r\nfunction removeOriginal(vnode, detachedParent, originalParent) {\r\n\tif (vnode) {\r\n\t\tvnode._original = null;\r\n\t\tvnode._children =\r\n\t\t\tvnode._children &&\r\n\t\t\tvnode._children.map(child =>\r\n\t\t\t\tremoveOriginal(child, detachedParent, originalParent)\r\n\t\t\t);\r\n\r\n\t\tif (vnode._component) {\r\n\t\t\tif (vnode._component._parentDom === detachedParent) {\r\n\t\t\t\tif (vnode._dom) {\r\n\t\t\t\t\toriginalParent.insertBefore(vnode._dom, vnode._nextDom);\r\n\t\t\t\t}\r\n\t\t\t\tvnode._component._force = true;\r\n\t\t\t\tvnode._component._parentDom = originalParent;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn vnode;\r\n}\r\n\r\n// having custom inheritance instead of a class here saves a lot of bytes\r\nexport function Suspense() {\r\n\t// we do not call super here to golf some bytes...\r\n\tthis._pendingSuspensionCount = 0;\r\n\tthis._suspenders = null;\r\n\tthis._detachOnNextRender = null;\r\n}\r\n\r\n// Things we do here to save some bytes but are not proper JS inheritance:\r\n// - call `new Component()` as the prototype\r\n// - do not set `Suspense.prototype.constructor` to `Suspense`\r\nSuspense.prototype = new Component();\r\n\r\n/**\r\n * @this {import('./internal').SuspenseComponent}\r\n * @param {Promise} promise The thrown promise\r\n * @param {import('./internal').VNode<any, any>} suspendingVNode The suspending component\r\n */\r\nSuspense.prototype._childDidSuspend = function(promise, suspendingVNode) {\r\n\tconst suspendingComponent = suspendingVNode._component;\r\n\r\n\t/** @type {import('./internal').SuspenseComponent} */\r\n\tconst c = this;\r\n\r\n\tif (c._suspenders == null) {\r\n\t\tc._suspenders = [];\r\n\t}\r\n\tc._suspenders.push(suspendingComponent);\r\n\r\n\tconst resolve = suspended(c._vnode);\r\n\r\n\tlet resolved = false;\r\n\tconst onResolved = () => {\r\n\t\tif (resolved) return;\r\n\r\n\t\tresolved = true;\r\n\t\tsuspendingComponent._onResolve = null;\r\n\r\n\t\tif (resolve) {\r\n\t\t\tresolve(onSuspensionComplete);\r\n\t\t} else {\r\n\t\t\tonSuspensionComplete();\r\n\t\t}\r\n\t};\r\n\r\n\tsuspendingComponent._onResolve = onResolved;\r\n\r\n\tconst onSuspensionComplete = () => {\r\n\t\tif (!--c._pendingSuspensionCount) {\r\n\t\t\t// If the suspension was during hydration we don't need to restore the\r\n\t\t\t// suspended children into the _children array\r\n\t\t\tif (c.state._suspended) {\r\n\t\t\t\tconst suspendedVNode = c.state._suspended;\r\n\t\t\t\tc._vnode._children[0] = removeOriginal(\r\n\t\t\t\t\tsuspendedVNode,\r\n\t\t\t\t\tsuspendedVNode._component._parentDom,\r\n\t\t\t\t\tsuspendedVNode._component._originalParentDom\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tc.setState({ _suspended: (c._detachOnNextRender = null) });\r\n\r\n\t\t\tlet suspended;\r\n\t\t\twhile ((suspended = c._suspenders.pop())) {\r\n\t\t\t\tsuspended.forceUpdate();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * We do not set `suspended: true` during hydration because we want the actual markup\r\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\r\n\t * While in non-hydration cases the usual fallback -> component flow would occour.\r\n\t */\r\n\tconst wasHydrating = suspendingVNode._hydrating === true;\r\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\r\n\t\tc.setState({ _suspended: (c._detachOnNextRender = c._vnode._children[0]) });\r\n\t}\r\n\tpromise.then(onResolved, onResolved);\r\n};\r\n\r\nSuspense.prototype.componentWillUnmount = function() {\r\n\tthis._suspenders = [];\r\n};\r\n\r\n/**\r\n * @this {import('./internal').SuspenseComponent}\r\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\r\n * @param {import('./internal').SuspenseState} state\r\n */\r\nSuspense.prototype.render = function(props, state) {\r\n\tif (this._detachOnNextRender) {\r\n\t\t// When the Suspense's _vnode was created by a call to createVNode\r\n\t\t// (i.e. due to a setState further up in the tree)\r\n\t\t// it's _children prop is null, in this case we \"forget\" about the parked vnodes to detach\r\n\t\tif (this._vnode._children) {\r\n\t\t\tconst detachedParent = document.createElement('div');\r\n\t\t\tconst detachedComponent = this._vnode._children[0]._component;\r\n\t\t\tthis._vnode._children[0] = detachedClone(\r\n\t\t\t\tthis._detachOnNextRender,\r\n\t\t\t\tdetachedParent,\r\n\t\t\t\t(detachedComponent._originalParentDom = detachedComponent._parentDom)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tthis._detachOnNextRender = null;\r\n\t}\r\n\r\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\r\n\t/** @type {import('./internal').VNode} */\r\n\tconst fallback =\r\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\r\n\tif (fallback) fallback._hydrating = null;\r\n\r\n\treturn [\r\n\t\tcreateElement(Fragment, null, state._suspended ? null : props.children),\r\n\t\tfallback\r\n\t];\r\n};\r\n\r\n/**\r\n * Checks and calls the parent component's _suspended method, passing in the\r\n * suspended vnode. This is a way for a parent (e.g. SuspenseList) to get notified\r\n * that one of its children/descendants suspended.\r\n *\r\n * The parent MAY return a callback. The callback will get called when the\r\n * suspension resolves, notifying the parent of the fact.\r\n * Moreover, the callback gets function `unsuspend` as a parameter. The resolved\r\n * child descendant will not actually get unsuspended until `unsuspend` gets called.\r\n * This is a way for the parent to delay unsuspending.\r\n *\r\n * If the parent does not return a callback then the resolved vnode\r\n * gets unsuspended immediately when it resolves.\r\n *\r\n * @param {import('./internal').VNode} vnode\r\n * @returns {((unsuspend: () => void) => void)?}\r\n */\r\nexport function suspended(vnode) {\r\n\t/** @type {import('./internal').Component} */\r\n\tlet component = vnode._parent._component;\r\n\treturn component && component._suspended && component._suspended(vnode);\r\n}\r\n\r\nexport function lazy(loader) {\r\n\tlet prom;\r\n\tlet component;\r\n\tlet error;\r\n\r\n\tfunction Lazy(props) {\r\n\t\tif (!prom) {\r\n\t\t\tprom = loader();\r\n\t\t\tprom.then(\r\n\t\t\t\texports => {\r\n\t\t\t\t\tcomponent = exports.default || exports;\r\n\t\t\t\t},\r\n\t\t\t\te => {\r\n\t\t\t\t\terror = e;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (error) {\r\n\t\t\tthrow error;\r\n\t\t}\r\n\r\n\t\tif (!component) {\r\n\t\t\tthrow prom;\r\n\t\t}\r\n\r\n\t\treturn createElement(component, props);\r\n\t}\r\n\r\n\tLazy.displayName = 'Lazy';\r\n\tLazy._forwarded = true;\r\n\treturn Lazy;\r\n}\r\n","import { Component, toChildArray } from 'preact';\r\nimport { suspended } from './suspense.js';\r\n\r\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\r\nconst SUSPENDED_COUNT = 0;\r\nconst RESOLVED_COUNT = 1;\r\nconst NEXT_NODE = 2;\r\n\r\n// Having custom inheritance instead of a class here saves a lot of bytes.\r\nexport function SuspenseList() {\r\n\tthis._next = null;\r\n\tthis._map = null;\r\n}\r\n\r\n// Mark one of child's earlier suspensions as resolved.\r\n// Some pending callbacks may become callable due to this\r\n// (e.g. the last suspended descendant gets resolved when\r\n// revealOrder === 'together'). Process those callbacks as well.\r\nconst resolve = (list, child, node) => {\r\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\r\n\t\t// The number a child (or any of its descendants) has been suspended\r\n\t\t// matches the number of times it's been resolved. Therefore we\r\n\t\t// mark the child as completely resolved by deleting it from ._map.\r\n\t\t// This is used to figure out when *all* children have been completely\r\n\t\t// resolved when revealOrder is 'together'.\r\n\t\tlist._map.delete(child);\r\n\t}\r\n\r\n\t// If revealOrder is falsy then we can do an early exit, as the\r\n\t// callbacks won't get queued in the node anyway.\r\n\t// If revealOrder is 'together' then also do an early exit\r\n\t// if all suspended descendants have not yet been resolved.\r\n\tif (\r\n\t\t!list.props.revealOrder ||\r\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\r\n\t) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Walk the currently suspended children in order, calling their\r\n\t// stored callbacks on the way. Stop if we encounter a child that\r\n\t// has not been completely resolved yet.\r\n\tnode = list._next;\r\n\twhile (node) {\r\n\t\twhile (node.length > 3) {\r\n\t\t\tnode.pop()();\r\n\t\t}\r\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tlist._next = node = node[NEXT_NODE];\r\n\t}\r\n};\r\n\r\n// Things we do here to save some bytes but are not proper JS inheritance:\r\n// - call `new Component()` as the prototype\r\n// - do not set `Suspense.prototype.constructor` to `Suspense`\r\nSuspenseList.prototype = new Component();\r\n\r\nSuspenseList.prototype._suspended = function(child) {\r\n\tconst list = this;\r\n\tconst delegated = suspended(list._vnode);\r\n\r\n\tlet node = list._map.get(child);\r\n\tnode[SUSPENDED_COUNT]++;\r\n\r\n\treturn unsuspend => {\r\n\t\tconst wrappedUnsuspend = () => {\r\n\t\t\tif (!list.props.revealOrder) {\r\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\r\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\r\n\t\t\t\tunsuspend();\r\n\t\t\t} else {\r\n\t\t\t\tnode.push(unsuspend);\r\n\t\t\t\tresolve(list, child, node);\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (delegated) {\r\n\t\t\tdelegated(wrappedUnsuspend);\r\n\t\t} else {\r\n\t\t\twrappedUnsuspend();\r\n\t\t}\r\n\t};\r\n};\r\n\r\nSuspenseList.prototype.render = function(props) {\r\n\tthis._next = null;\r\n\tthis._map = new Map();\r\n\r\n\tconst children = toChildArray(props.children);\r\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\r\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\r\n\t\t// then flip the child list around so that the last child will be\r\n\t\t// the first in the linked list.\r\n\t\tchildren.reverse();\r\n\t}\r\n\t// Build the linked list. Iterate through the children in reverse order\r\n\t// so that `_next` points to the first linked list node to be resolved.\r\n\tfor (let i = children.length; i--; ) {\r\n\t\t// Create a new linked list node as an array of form:\r\n\t\t// \t[suspended_count, resolved_count, next_node]\r\n\t\t// where suspended_count and resolved_count are numeric counters for\r\n\t\t// keeping track how many times a node has been suspended and resolved.\r\n\t\t//\r\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\r\n\t\t// processing callbacks until componentDidMount has been called. In a sense\r\n\t\t// node is suspended at least until componentDidMount gets called!\r\n\t\t//\r\n\t\t// Pending callbacks are added to the end of the node:\r\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\r\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\r\n\t}\r\n\treturn props.children;\r\n};\r\n\r\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\r\n\t// Iterate through all children after mounting for two reasons:\r\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\r\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\r\n\t// The nodes can now be completely consumed from the linked list.\r\n\t// 2. Handle nodes that might have gotten resolved between render and\r\n\t// componentDidMount.\r\n\tthis._map.forEach((node, child) => {\r\n\t\tresolve(this, child, node);\r\n\t});\r\n};\r\n","import { createElement, render } from 'preact';\r\n\r\n/**\r\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\r\n */\r\nfunction ContextProvider(props) {\r\n\tthis.getChildContext = () => props.context;\r\n\treturn props.children;\r\n}\r\n\r\n/**\r\n * Portal component\r\n * @this {import('./internal').Component}\r\n * @param {object | null | undefined} props\r\n *\r\n * TODO: use createRoot() instead of fake root\r\n */\r\nfunction Portal(props) {\r\n\tconst _this = this;\r\n\tlet container = props._container;\r\n\r\n\t_this.componentWillUnmount = function() {\r\n\t\trender(null, _this._temp);\r\n\t\t_this._temp = null;\r\n\t\t_this._container = null;\r\n\t};\r\n\r\n\t// When we change container we should clear our old container and\r\n\t// indicate a new mount.\r\n\tif (_this._container && _this._container !== container) {\r\n\t\t_this.componentWillUnmount();\r\n\t}\r\n\r\n\t// When props.vnode is undefined/false/null we are dealing with some kind of\r\n\t// conditional vnode. This should not trigger a render.\r\n\tif (props._vnode) {\r\n\t\tif (!_this._temp) {\r\n\t\t\t_this._container = container;\r\n\r\n\t\t\t// Create a fake DOM parent node that manages a subset of `container`'s children:\r\n\t\t\t_this._temp = {\r\n\t\t\t\tnodeType: 1,\r\n\t\t\t\tparentNode: container,\r\n\t\t\t\tchildNodes: [],\r\n\t\t\t\tappendChild(child) {\r\n\t\t\t\t\tthis.childNodes.push(child);\r\n\t\t\t\t\t_this._container.appendChild(child);\r\n\t\t\t\t},\r\n\t\t\t\tinsertBefore(child, before) {\r\n\t\t\t\t\tthis.childNodes.push(child);\r\n\t\t\t\t\t_this._container.appendChild(child);\r\n\t\t\t\t},\r\n\t\t\t\tremoveChild(child) {\r\n\t\t\t\t\tthis.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\r\n\t\t\t\t\t_this._container.removeChild(child);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Render our wrapping element into temp.\r\n\t\trender(\r\n\t\t\tcreateElement(ContextProvider, { context: _this.context }, props._vnode),\r\n\t\t\t_this._temp\r\n\t\t);\r\n\t}\r\n\t// When we come from a conditional render, on a mounted\r\n\t// portal we should clear the DOM.\r\n\telse if (_this._temp) {\r\n\t\t_this.componentWillUnmount();\r\n\t}\r\n}\r\n\r\n/**\r\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\r\n * @param {import('./internal').VNode} vnode The vnode to render\r\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\r\n */\r\nexport function createPortal(vnode, container) {\r\n\treturn createElement(Portal, { _vnode: vnode, _container: container });\r\n}\r\n","import {\r\n\trender as preactRender,\r\n\thydrate as preactHydrate,\r\n\toptions,\r\n\ttoChildArray,\r\n\tComponent\r\n} from 'preact';\r\n\r\nexport const REACT_ELEMENT_TYPE =\r\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\r\n\t0xeac7;\r\n\r\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]/;\r\n\r\nconst IS_DOM = typeof document !== 'undefined';\r\n\r\n// Input types for which onchange should not be converted to oninput.\r\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\r\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\r\nconst onChangeInputType = type =>\r\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\r\n\t\t? /fil|che|rad/i\r\n\t\t: /fil|che|ra/i\r\n\t).test(type);\r\n\r\n// Some libraries like `react-virtualized` explicitly check for this.\r\nComponent.prototype.isReactComponent = {};\r\n\r\n// `UNSAFE_*` lifecycle hooks\r\n// Preact only ever invokes the unprefixed methods.\r\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\r\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\r\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\r\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\r\n// See https://github.com/preactjs/preact/issues/1941\r\n[\r\n\t'componentWillMount',\r\n\t'componentWillReceiveProps',\r\n\t'componentWillUpdate'\r\n].forEach(key => {\r\n\tObject.defineProperty(Component.prototype, key, {\r\n\t\tconfigurable: true,\r\n\t\tget() {\r\n\t\t\treturn this['UNSAFE_' + key];\r\n\t\t},\r\n\t\tset(v) {\r\n\t\t\tObject.defineProperty(this, key, {\r\n\t\t\t\tconfigurable: true,\r\n\t\t\t\twritable: true,\r\n\t\t\t\tvalue: v\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n});\r\n\r\n/**\r\n * Proxy render() since React returns a Component reference.\r\n * @param {import('./internal').VNode} vnode VNode tree to render\r\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\r\n * @param {() => void} [callback] Optional callback that will be called after rendering\r\n * @returns {import('./internal').Component | null} The root component reference or null\r\n */\r\nexport function render(vnode, parent, callback) {\r\n\t// React destroys any existing DOM nodes, see #1727\r\n\t// ...but only on the first render, see #1828\r\n\tif (parent._children == null) {\r\n\t\tparent.textContent = '';\r\n\t}\r\n\r\n\tpreactRender(vnode, parent);\r\n\tif (typeof callback == 'function') callback();\r\n\r\n\treturn vnode ? vnode._component : null;\r\n}\r\n\r\nexport function hydrate(vnode, parent, callback) {\r\n\tpreactHydrate(vnode, parent);\r\n\tif (typeof callback == 'function') callback();\r\n\r\n\treturn vnode ? vnode._component : null;\r\n}\r\n\r\nlet oldEventHook = options.event;\r\noptions.event = e => {\r\n\tif (oldEventHook) e = oldEventHook(e);\r\n\te.persist = empty;\r\n\te.isPropagationStopped = isPropagationStopped;\r\n\te.isDefaultPrevented = isDefaultPrevented;\r\n\treturn (e.nativeEvent = e);\r\n};\r\n\r\nfunction empty() {}\r\n\r\nfunction isPropagationStopped() {\r\n\treturn this.cancelBubble;\r\n}\r\n\r\nfunction isDefaultPrevented() {\r\n\treturn this.defaultPrevented;\r\n}\r\n\r\nlet classNameDescriptor = {\r\n\tconfigurable: true,\r\n\tget() {\r\n\t\treturn this.class;\r\n\t}\r\n};\r\n\r\nlet oldVNodeHook = options.vnode;\r\noptions.vnode = vnode => {\r\n\tlet type = vnode.type;\r\n\tlet props = vnode.props;\r\n\tlet normalizedProps = props;\r\n\r\n\t// only normalize props on Element nodes\r\n\tif (typeof type === 'string') {\r\n\t\tconst nonCustomElement = type.indexOf('-') === -1;\r\n\t\tnormalizedProps = {};\r\n\r\n\t\tfor (let i in props) {\r\n\t\t\tlet value = props[i];\r\n\r\n\t\t\tif (IS_DOM && i === 'children' && type === 'noscript') {\r\n\t\t\t\t// Emulate React's behavior of not rendering the contents of noscript tags on the client.\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telse if (i === 'value' && 'defaultValue' in props && value == null) {\r\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\r\n\t\t\t\t// a default value\r\n\t\t\t\tcontinue;\r\n\t\t\t} else if (\r\n\t\t\t\ti === 'defaultValue' &&\r\n\t\t\t\t'value' in props &&\r\n\t\t\t\tprops.value == null\r\n\t\t\t) {\r\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\r\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\r\n\t\t\t\ti = 'value';\r\n\t\t\t} else if (i === 'download' && value === true) {\r\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\r\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\r\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\r\n\t\t\t\t// value will be used as the file name and the file will be called\r\n\t\t\t\t// \"true\" upon downloading it.\r\n\t\t\t\tvalue = '';\r\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\r\n\t\t\t\ti = 'ondblclick';\r\n\t\t\t} else if (\r\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\r\n\t\t\t\t!onChangeInputType(props.type)\r\n\t\t\t) {\r\n\t\t\t\ti = 'oninput';\r\n\t\t\t} else if (/^onfocus$/i.test(i)) {\r\n\t\t\t\ti = 'onfocusin';\r\n\t\t\t} else if (/^onblur$/i.test(i)) {\r\n\t\t\t\ti = 'onfocusout';\r\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp)/.test(i)) {\r\n\t\t\t\ti = i.toLowerCase();\r\n\t\t\t} else if (nonCustomElement && CAMEL_PROPS.test(i)) {\r\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\r\n\t\t\t} else if (value === null) {\r\n\t\t\t\tvalue = undefined;\r\n\t\t\t}\r\n\r\n\t\t\tnormalizedProps[i] = value;\r\n\t\t}\r\n\r\n\t\t// Add support for array select values: <select multiple value={[]} />\r\n\t\tif (\r\n\t\t\ttype == 'select' &&\r\n\t\t\tnormalizedProps.multiple &&\r\n\t\t\tArray.isArray(normalizedProps.value)\r\n\t\t) {\r\n\t\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\r\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\r\n\t\t\t\tchild.props.selected =\r\n\t\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Adding support for defaultValue in select tag\r\n\t\tif (type == 'select' && normalizedProps.defaultValue != null) {\r\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\r\n\t\t\t\tif (normalizedProps.multiple) {\r\n\t\t\t\t\tchild.props.selected =\r\n\t\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tchild.props.selected =\r\n\t\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvnode.props = normalizedProps;\r\n\r\n\t\tif (props.class != props.className) {\r\n\t\t\tclassNameDescriptor.enumerable = 'className' in props;\r\n\t\t\tif (props.className != null) normalizedProps.class = props.className;\r\n\t\t\tObject.defineProperty(normalizedProps, 'className', classNameDescriptor);\r\n\t\t}\r\n\t}\r\n\r\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\r\n\r\n\tif (oldVNodeHook) oldVNodeHook(vnode);\r\n};\r\n\r\n// Only needed for react-relay\r\nlet currentComponent;\r\nconst oldBeforeRender = options._render;\r\noptions._render = function(vnode) {\r\n\tif (oldBeforeRender) {\r\n\t\toldBeforeRender(vnode);\r\n\t}\r\n\tcurrentComponent = vnode._component;\r\n};\r\n\r\n// This is a very very private internal function for React it\r\n// is used to sort-of do runtime dependency injection. So far\r\n// only `react-relay` makes use of it. It uses it to read the\r\n// context value.\r\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\r\n\tReactCurrentDispatcher: {\r\n\t\tcurrent: {\r\n\t\t\treadContext(context) {\r\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n","import {\r\n\tcreateElement,\r\n\trender as preactRender,\r\n\tcloneElement as preactCloneElement,\r\n\tcreateRef,\r\n\tComponent,\r\n\tcreateContext,\r\n\tFragment\r\n} from 'preact';\r\nimport {\r\n\tuseState,\r\n\tuseReducer,\r\n\tuseEffect,\r\n\tuseLayoutEffect,\r\n\tuseRef,\r\n\tuseImperativeHandle,\r\n\tuseMemo,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseDebugValue\r\n} from 'preact/hooks';\r\nimport { PureComponent } from './PureComponent';\r\nimport { memo } from './memo';\r\nimport { forwardRef } from './forwardRef';\r\nimport { Children } from './Children';\r\nimport { Suspense, lazy } from './suspense';\r\nimport { SuspenseList } from './suspense-list';\r\nimport { createPortal } from './portals';\r\nimport {\r\n\thydrate,\r\n\trender,\r\n\tREACT_ELEMENT_TYPE,\r\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\r\n} from './render';\r\n\r\nconst version = '17.0.2'; // trick libraries to think we are react\r\n\r\n/**\r\n * Legacy version of createElement.\r\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\r\n */\r\nfunction createFactory(type) {\r\n\treturn createElement.bind(null, type);\r\n}\r\n\r\n/**\r\n * Check if the passed element is a valid (p)react node.\r\n * @param {*} element The element to check\r\n * @returns {boolean}\r\n */\r\nfunction isValidElement(element) {\r\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\r\n}\r\n\r\n/**\r\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\r\n * all vnode normalizations.\r\n * @param {import('./internal').VNode} element The vnode to clone\r\n * @param {object} props Props to add when cloning\r\n * @param {Array<import('./internal').ComponentChildren>} rest Optional component children\r\n */\r\nfunction cloneElement(element) {\r\n\tif (!isValidElement(element)) return element;\r\n\treturn preactCloneElement.apply(null, arguments);\r\n}\r\n\r\n/**\r\n * Remove a component tree from the DOM, including state and event handlers.\r\n * @param {import('./internal').PreactElement} container\r\n * @returns {boolean}\r\n */\r\nfunction unmountComponentAtNode(container) {\r\n\tif (container._children) {\r\n\t\tpreactRender(null, container);\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n/**\r\n * Get the matching DOM node for a component\r\n * @param {import('./internal').Component} component\r\n * @returns {import('./internal').PreactElement | null}\r\n */\r\nfunction findDOMNode(component) {\r\n\treturn (\r\n\t\t(component &&\r\n\t\t\t(component.base || (component.nodeType === 1 && component))) ||\r\n\t\tnull\r\n\t);\r\n}\r\n\r\n/**\r\n * Deprecated way to control batched rendering inside the reconciler, but we\r\n * already schedule in batches inside our rendering code\r\n * @template Arg\r\n * @param {(arg: Arg) => void} callback function that triggers the updated\r\n * @param {Arg} [arg] Optional argument that can be passed to the callback\r\n */\r\n// eslint-disable-next-line camelcase\r\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\r\n\r\n/**\r\n * In React, `flushSync` flushes the entire tree and forces a rerender. It's\r\n * implmented here as a no-op.\r\n * @template Arg\r\n * @template Result\r\n * @param {(arg: Arg) => Result} callback function that runs before the flush\r\n * @param {Arg} [arg] Optional arugment that can be passed to the callback\r\n * @returns\r\n */\r\nconst flushSync = (callback, arg) => callback(arg);\r\n\r\n/**\r\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\r\n * that just renders its children without imposing any restrictions.\r\n */\r\nconst StrictMode = Fragment;\r\n\r\nexport * from 'preact/hooks';\r\nexport {\r\n\tversion,\r\n\tChildren,\r\n\trender,\r\n\thydrate,\r\n\tunmountComponentAtNode,\r\n\tcreatePortal,\r\n\tcreateElement,\r\n\tcreateContext,\r\n\tcreateFactory,\r\n\tcloneElement,\r\n\tcreateRef,\r\n\tFragment,\r\n\tisValidElement,\r\n\tfindDOMNode,\r\n\tComponent,\r\n\tPureComponent,\r\n\tmemo,\r\n\tforwardRef,\r\n\tflushSync,\r\n\t// eslint-disable-next-line camelcase\r\n\tunstable_batchedUpdates,\r\n\tStrictMode,\r\n\tSuspense,\r\n\tSuspenseList,\r\n\tlazy,\r\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\r\n};\r\n\r\n// React copies the named exports to the default one.\r\nexport default {\r\n\tuseState,\r\n\tuseReducer,\r\n\tuseEffect,\r\n\tuseLayoutEffect,\r\n\tuseRef,\r\n\tuseImperativeHandle,\r\n\tuseMemo,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseDebugValue,\r\n\tversion,\r\n\tChildren,\r\n\trender,\r\n\thydrate,\r\n\tunmountComponentAtNode,\r\n\tcreatePortal,\r\n\tcreateElement,\r\n\tcreateContext,\r\n\tcreateFactory,\r\n\tcloneElement,\r\n\tcreateRef,\r\n\tFragment,\r\n\tisValidElement,\r\n\tfindDOMNode,\r\n\tComponent,\r\n\tPureComponent,\r\n\tmemo,\r\n\tforwardRef,\r\n\tflushSync,\r\n\tunstable_batchedUpdates,\r\n\tStrictMode,\r\n\tSuspense,\r\n\tSuspenseList,\r\n\tlazy,\r\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\r\n};\r\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","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","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.umd.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\t// We always have ref in props.ref, except for\n\t// mobx-react. It will call this function directly\n\t// and always pass ref as the second argument.\n\tfunction Forwarded(props, ref) {\n\t\tlet clone = assign({}, props);\n\t\tdelete clone.ref;\n\t\tref = props.ref || ref;\n\t\treturn fn(\n\t\t\tclone,\n\t\t\t!ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref\n\t\t);\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) {\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);\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\treturn createElement(Portal, { _vnode: vnode, _container: container });\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\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","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","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 +1 @@
1
- module.exports = require('preact/jsx-runtime');
1
+ module.exports = require('preact/jsx-runtime');
@@ -1 +1 @@
1
- export * from 'preact/jsx-runtime';
1
+ export * from 'preact/jsx-runtime';
@@ -1 +1 @@
1
- module.exports = require('preact/jsx-runtime');
1
+ module.exports = require('preact/jsx-runtime');
@@ -1 +1 @@
1
- export * from 'preact/jsx-runtime';
1
+ export * from 'preact/jsx-runtime';
@@ -1,19 +1,19 @@
1
- {
2
- "name": "preact-compat",
3
- "amdName": "preactCompat",
4
- "version": "4.0.0",
5
- "private": true,
6
- "description": "A React compatibility layer for Preact",
7
- "main": "dist/compat.js",
8
- "module": "dist/compat.module.js",
9
- "umd:main": "dist/compat.umd.js",
10
- "source": "src/index.js",
11
- "types": "src/index.d.ts",
12
- "license": "MIT",
13
- "mangle": {
14
- "regex": "^_"
15
- },
16
- "peerDependencies": {
17
- "preact": "^10.0.0"
18
- }
19
- }
1
+ {
2
+ "name": "preact-compat",
3
+ "amdName": "preactCompat",
4
+ "version": "4.0.0",
5
+ "private": true,
6
+ "description": "A React compatibility layer for Preact",
7
+ "main": "dist/compat.js",
8
+ "module": "dist/compat.module.js",
9
+ "umd:main": "dist/compat.umd.js",
10
+ "source": "src/index.js",
11
+ "types": "src/index.d.ts",
12
+ "license": "MIT",
13
+ "mangle": {
14
+ "regex": "^_"
15
+ },
16
+ "peerDependencies": {
17
+ "preact": "^10.0.0"
18
+ }
19
+ }
@@ -1,15 +1,15 @@
1
- // see scheduler.mjs
2
-
3
- function unstable_runWithPriority(priority, callback) {
4
- return callback();
5
- }
6
-
7
- module.exports = {
8
- unstable_ImmediatePriority: 1,
9
- unstable_UserBlockingPriority: 2,
10
- unstable_NormalPriority: 3,
11
- unstable_LowPriority: 4,
12
- unstable_IdlePriority: 5,
13
- unstable_runWithPriority,
14
- unstable_now: performance.now.bind(performance)
15
- };
1
+ // see scheduler.mjs
2
+
3
+ function unstable_runWithPriority(priority, callback) {
4
+ return callback();
5
+ }
6
+
7
+ module.exports = {
8
+ unstable_ImmediatePriority: 1,
9
+ unstable_UserBlockingPriority: 2,
10
+ unstable_NormalPriority: 3,
11
+ unstable_LowPriority: 4,
12
+ unstable_IdlePriority: 5,
13
+ unstable_runWithPriority,
14
+ unstable_now: performance.now.bind(performance)
15
+ };
@@ -1,23 +1,23 @@
1
- /* eslint-disable */
2
-
3
- // This file includes experimental React APIs exported from the "scheduler"
4
- // npm package. Despite being explicitely marked as unstable some libraries
5
- // already make use of them. This file is not a full replacement for the
6
- // scheduler package, but includes the necessary shims to make those libraries
7
- // work with Preact.
8
-
9
- export var unstable_ImmediatePriority = 1;
10
- export var unstable_UserBlockingPriority = 2;
11
- export var unstable_NormalPriority = 3;
12
- export var unstable_LowPriority = 4;
13
- export var unstable_IdlePriority = 5;
14
-
15
- /**
16
- * @param {number} priority
17
- * @param {() => void} callback
18
- */
19
- export function unstable_runWithPriority(priority, callback) {
20
- return callback();
21
- }
22
-
23
- export var unstable_now = performance.now.bind(performance);
1
+ /* eslint-disable */
2
+
3
+ // This file includes experimental React APIs exported from the "scheduler"
4
+ // npm package. Despite being explicitely marked as unstable some libraries
5
+ // already make use of them. This file is not a full replacement for the
6
+ // scheduler package, but includes the necessary shims to make those libraries
7
+ // work with Preact.
8
+
9
+ export var unstable_ImmediatePriority = 1;
10
+ export var unstable_UserBlockingPriority = 2;
11
+ export var unstable_NormalPriority = 3;
12
+ export var unstable_LowPriority = 4;
13
+ export var unstable_IdlePriority = 5;
14
+
15
+ /**
16
+ * @param {number} priority
17
+ * @param {() => void} callback
18
+ */
19
+ export function unstable_runWithPriority(priority, callback) {
20
+ return callback();
21
+ }
22
+
23
+ export var unstable_now = performance.now.bind(performance);
@@ -1,15 +1,15 @@
1
- /* eslint-disable */
2
- var renderToString;
3
- try {
4
- const mod = require('preact-render-to-string');
5
- renderToString = mod.default || mod.renderToString || mod;
6
- } catch (e) {
7
- throw Error(
8
- 'renderToString() error: missing "preact-render-to-string" dependency.'
9
- );
10
- }
11
-
12
- module.exports = {
13
- renderToString: renderToString,
14
- renderToStaticMarkup: renderToString
15
- };
1
+ /* eslint-disable */
2
+ var renderToString;
3
+ try {
4
+ const mod = require('preact-render-to-string');
5
+ renderToString = mod.default || mod.renderToString || mod;
6
+ } catch (e) {
7
+ throw Error(
8
+ 'renderToString() error: missing "preact-render-to-string" dependency.'
9
+ );
10
+ }
11
+
12
+ module.exports = {
13
+ renderToString: renderToString,
14
+ renderToStaticMarkup: renderToString
15
+ };
@@ -1,4 +1,4 @@
1
- export {
2
- renderToString,
3
- renderToString as renderToStaticMarkup
4
- } from 'preact-render-to-string';
1
+ export {
2
+ renderToString,
3
+ renderToString as renderToStaticMarkup
4
+ } from 'preact-render-to-string';
@@ -1,21 +1,21 @@
1
- import { toChildArray } from 'preact';
2
-
3
- const mapFn = (children, fn) => {
4
- if (children == null) return null;
5
- return toChildArray(toChildArray(children).map(fn));
6
- };
7
-
8
- // This API is completely unnecessary for Preact, so it's basically passthrough.
9
- export const Children = {
10
- map: mapFn,
11
- forEach: mapFn,
12
- count(children) {
13
- return children ? toChildArray(children).length : 0;
14
- },
15
- only(children) {
16
- const normalized = toChildArray(children);
17
- if (normalized.length !== 1) throw 'Children.only';
18
- return normalized[0];
19
- },
20
- toArray: toChildArray
21
- };
1
+ import { toChildArray } from 'preact';
2
+
3
+ const mapFn = (children, fn) => {
4
+ if (children == null) return null;
5
+ return toChildArray(toChildArray(children).map(fn));
6
+ };
7
+
8
+ // This API is completely unnecessary for Preact, so it's basically passthrough.
9
+ export const Children = {
10
+ map: mapFn,
11
+ forEach: mapFn,
12
+ count(children) {
13
+ return children ? toChildArray(children).length : 0;
14
+ },
15
+ only(children) {
16
+ const normalized = toChildArray(children);
17
+ if (normalized.length !== 1) throw 'Children.only';
18
+ return normalized[0];
19
+ },
20
+ toArray: toChildArray
21
+ };
@@ -1,15 +1,15 @@
1
- import { Component } from 'preact';
2
- import { shallowDiffers } from './util';
3
-
4
- /**
5
- * Component class with a predefined `shouldComponentUpdate` implementation
6
- */
7
- export function PureComponent(p) {
8
- this.props = p;
9
- }
10
- PureComponent.prototype = new Component();
11
- // Some third-party libraries check if this property is present
12
- PureComponent.prototype.isPureReactComponent = true;
13
- PureComponent.prototype.shouldComponentUpdate = function(props, state) {
14
- return shallowDiffers(this.props, props) || shallowDiffers(this.state, state);
15
- };
1
+ import { Component } from 'preact';
2
+ import { shallowDiffers } from './util';
3
+
4
+ /**
5
+ * Component class with a predefined `shouldComponentUpdate` implementation
6
+ */
7
+ export function PureComponent(p) {
8
+ this.props = p;
9
+ }
10
+ PureComponent.prototype = new Component();
11
+ // Some third-party libraries check if this property is present
12
+ PureComponent.prototype.isPureReactComponent = true;
13
+ PureComponent.prototype.shouldComponentUpdate = function(props, state) {
14
+ return shallowDiffers(this.props, props) || shallowDiffers(this.state, state);
15
+ };