reactpy 2.0.0b4__py3-none-any.whl → 2.0.0b6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. reactpy/__init__.py +3 -2
  2. reactpy/_console/rewrite_props.py +2 -2
  3. reactpy/_html.py +11 -9
  4. reactpy/_option.py +2 -1
  5. reactpy/config.py +2 -2
  6. reactpy/core/_life_cycle_hook.py +12 -10
  7. reactpy/core/_thread_local.py +2 -1
  8. reactpy/core/component.py +4 -38
  9. reactpy/core/events.py +61 -36
  10. reactpy/core/hooks.py +25 -35
  11. reactpy/core/layout.py +193 -201
  12. reactpy/core/serve.py +17 -22
  13. reactpy/core/vdom.py +9 -12
  14. reactpy/executors/asgi/__init__.py +9 -4
  15. reactpy/executors/asgi/middleware.py +1 -2
  16. reactpy/executors/asgi/pyscript.py +3 -7
  17. reactpy/executors/asgi/standalone.py +4 -6
  18. reactpy/executors/asgi/types.py +2 -2
  19. reactpy/pyscript/components.py +3 -3
  20. reactpy/pyscript/utils.py +49 -46
  21. reactpy/reactjs/__init__.py +353 -0
  22. reactpy/reactjs/module.py +203 -0
  23. reactpy/reactjs/types.py +7 -0
  24. reactpy/reactjs/utils.py +183 -0
  25. reactpy/static/index-h31022cd.js +5 -0
  26. reactpy/static/index-h31022cd.js.map +11 -0
  27. reactpy/static/index-sbddj6ms.js +5 -0
  28. reactpy/static/index-sbddj6ms.js.map +10 -0
  29. reactpy/static/index-y71bxs88.js +5 -0
  30. reactpy/static/index-y71bxs88.js.map +10 -0
  31. reactpy/static/index.js +2 -2
  32. reactpy/static/index.js.map +6 -10
  33. reactpy/static/react-dom.js +4 -0
  34. reactpy/static/react-dom.js.map +11 -0
  35. reactpy/static/react-jsx-runtime.js +4 -0
  36. reactpy/static/react-jsx-runtime.js.map +9 -0
  37. reactpy/static/react.js +4 -0
  38. reactpy/static/react.js.map +10 -0
  39. reactpy/testing/backend.py +6 -5
  40. reactpy/testing/common.py +3 -5
  41. reactpy/testing/display.py +2 -1
  42. reactpy/testing/logs.py +1 -1
  43. reactpy/transforms.py +2 -2
  44. reactpy/types.py +117 -58
  45. reactpy/utils.py +8 -8
  46. reactpy/web/__init__.py +0 -6
  47. reactpy/web/module.py +37 -470
  48. reactpy/web/utils.py +2 -158
  49. reactpy/widgets.py +2 -2
  50. {reactpy-2.0.0b4.dist-info → reactpy-2.0.0b6.dist-info}/METADATA +4 -7
  51. {reactpy-2.0.0b4.dist-info → reactpy-2.0.0b6.dist-info}/RECORD +54 -39
  52. reactpy/web/templates/react.js +0 -61
  53. {reactpy-2.0.0b4.dist-info → reactpy-2.0.0b6.dist-info}/WHEEL +0 -0
  54. {reactpy-2.0.0b4.dist-info → reactpy-2.0.0b6.dist-info}/entry_points.txt +0 -0
  55. {reactpy-2.0.0b4.dist-info → reactpy-2.0.0b6.dist-info}/licenses/LICENSE +0 -0
@@ -1,22 +1,18 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../js/node_modules/foreach/index.js", "../../js/node_modules/json-pointer/index.js", "../../js/packages/@reactpy/client/dist/logger.js", "../../js/packages/@reactpy/client/dist/websocket.js", "../../js/packages/@reactpy/client/dist/client.js", "../../js/node_modules/preact/dist/preact.module.js", "../../js/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js", "../../js/packages/@reactpy/client/dist/components.js", "../../js/node_modules/preact/hooks/dist/hooks.module.js", "../../js/packages/event-to-object/dist/index.js", "../../js/packages/@reactpy/client/dist/vdom.js", "../../js/packages/@reactpy/client/dist/mount.js", "../../js/node_modules/preact/compat/dist/compat.module.js"],
3
+ "sources": ["../../js/node_modules/foreach/index.js", "../../js/node_modules/json-pointer/index.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/logger.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/websocket.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/client.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/components.js", "../../js/packages/event-to-object/dist/index.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/vdom.js", "../../js/packages/@reactpy/app/node_modules/@reactpy/client/dist/mount.js"],
4
4
  "sourcesContent": [
5
5
  "\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n",
6
6
  "'use strict';\n\nvar each = require('foreach');\nmodule.exports = api;\n\n\n/**\n * Convenience wrapper around the api.\n * Calls `.get` when called with an `object` and a `pointer`.\n * Calls `.set` when also called with `value`.\n * If only supplied `object`, returns a partially applied function, mapped to the object.\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @param value\n * @returns {*}\n */\n\nfunction api (obj, pointer, value) {\n // .set()\n if (arguments.length === 3) {\n return api.set(obj, pointer, value);\n }\n // .get()\n if (arguments.length === 2) {\n return api.get(obj, pointer);\n }\n // Return a partially applied function on `obj`.\n var wrapped = api.bind(api, obj);\n\n // Support for oo style\n for (var name in api) {\n if (api.hasOwnProperty(name)) {\n wrapped[name] = api[name].bind(wrapped, obj);\n }\n }\n return wrapped;\n}\n\n\n/**\n * Lookup a json pointer in an object\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @returns {*}\n */\napi.get = function get (obj, pointer) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer);\n\n for (var i = 0; i < refTokens.length; ++i) {\n var tok = refTokens[i];\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok);\n }\n obj = obj[tok];\n }\n return obj;\n};\n\n/**\n * Sets a value on an object\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @param value\n */\napi.set = function set (obj, pointer, value) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer),\n nextTok = refTokens[0];\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object');\n }\n\n for (var i = 0; i < refTokens.length - 1; ++i) {\n var tok = refTokens[i];\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (tok === \"__proto__\" || tok === \"constructor\" || tok === \"prototype\") {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length;\n }\n nextTok = refTokens[i + 1];\n\n if (!(tok in obj)) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = [];\n } else {\n obj[tok] = {};\n }\n }\n obj = obj[tok];\n }\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length;\n }\n obj[nextTok] = value;\n return this;\n};\n\n/**\n * Removes an attribute\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n */\napi.remove = function (obj, pointer) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer);\n var finalToken = refTokens[refTokens.length -1];\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"');\n }\n\n var parent = api.get(obj, refTokens.slice(0, -1));\n if (Array.isArray(parent)) {\n var index = +finalToken;\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"');\n }\n\n Array.prototype.splice.call(parent, index, 1);\n } else {\n delete parent[finalToken];\n }\n};\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n *\n * @param obj\n * @param {function} descend\n * @returns {}\n */\napi.dict = function dict (obj, descend) {\n var results = {};\n api.walk(obj, function (value, pointer) {\n results[pointer] = value;\n }, descend);\n return results;\n};\n\n/**\n * Iterates over an object\n * Iterator: function (value, pointer) {}\n *\n * @param obj\n * @param {function} iterator\n * @param {function} descend\n */\napi.walk = function walk (obj, iterator, descend) {\n var refTokens = [];\n\n descend = descend || function (value) {\n var type = Object.prototype.toString.call(value);\n return type === '[object Object]' || type === '[object Array]';\n };\n\n (function next (cur) {\n each(cur, function (value, key) {\n refTokens.push(String(key));\n if (descend(value)) {\n next(value);\n } else {\n iterator(value, api.compile(refTokens));\n }\n refTokens.pop();\n });\n }(obj));\n};\n\n/**\n * Tests if an object has a value for a json pointer\n *\n * @param obj\n * @param pointer\n * @returns {boolean}\n */\napi.has = function has (obj, pointer) {\n try {\n api.get(obj, pointer);\n } catch (e) {\n return false;\n }\n return true;\n};\n\n/**\n * Escapes a reference token\n *\n * @param str\n * @returns {string}\n */\napi.escape = function escape (str) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1');\n};\n\n/**\n * Unescapes a reference token\n *\n * @param str\n * @returns {string}\n */\napi.unescape = function unescape (str) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~');\n};\n\n/**\n * Converts a json pointer into a array of reference tokens\n *\n * @param pointer\n * @returns {Array}\n */\napi.parse = function parse (pointer) {\n if (pointer === '') { return []; }\n if (pointer.charAt(0) !== '/') { throw new Error('Invalid JSON pointer: ' + pointer); }\n return pointer.substring(1).split(/\\//).map(api.unescape);\n};\n\n/**\n * Builds a json pointer from a array of reference tokens\n *\n * @param refTokens\n * @returns {string}\n */\napi.compile = function compile (refTokens) {\n if (refTokens.length === 0) { return ''; }\n return '/' + refTokens.map(api.escape).join('/');\n};\n",
7
7
  "export default {\n log: (...args) => console.log(\"[ReactPy]\", ...args),\n info: (...args) => console.info(\"[ReactPy]\", ...args),\n warn: (...args) => console.warn(\"[ReactPy]\", ...args),\n error: (...args) => console.error(\"[ReactPy]\", ...args),\n};\n//# sourceMappingURL=logger.js.map",
8
8
  "import log from \"./logger\";\nexport function createReconnectingWebSocket(props) {\n const { interval, maxInterval, maxRetries, backoffMultiplier } = props;\n let retries = 0;\n let currentInterval = interval;\n let everConnected = false;\n const closed = false;\n const socket = {};\n const connect = () => {\n if (closed) {\n return;\n }\n socket.current = new WebSocket(props.url);\n socket.current.onopen = () => {\n everConnected = true;\n log.info(\"Connected!\");\n currentInterval = interval;\n retries = 0;\n if (props.onOpen) {\n props.onOpen();\n }\n };\n socket.current.onmessage = (event) => {\n if (props.onMessage) {\n props.onMessage(event);\n }\n };\n socket.current.onclose = () => {\n if (props.onClose) {\n props.onClose();\n }\n if (!everConnected) {\n log.info(\"Failed to connect!\");\n return;\n }\n log.info(\"Disconnected!\");\n if (retries >= maxRetries) {\n log.info(\"Connection max retries exhausted!\");\n return;\n }\n log.info(`Reconnecting in ${(currentInterval / 1000).toPrecision(4)} seconds...`);\n setTimeout(connect, currentInterval);\n currentInterval = nextInterval(currentInterval, backoffMultiplier, maxInterval);\n retries++;\n };\n };\n props.readyPromise.then(() => log.info(\"Starting client...\")).then(connect);\n return socket;\n}\nexport function nextInterval(currentInterval, backoffMultiplier, maxInterval) {\n return Math.min(\n // increase interval by backoff multiplier\n currentInterval * backoffMultiplier, \n // don't exceed max interval\n maxInterval);\n}\n//# sourceMappingURL=websocket.js.map",
9
9
  "import logger from \"./logger\";\nimport { createReconnectingWebSocket } from \"./websocket\";\nexport class BaseReactPyClient {\n handlers = {};\n ready;\n resolveReady;\n constructor() {\n this.resolveReady = () => { };\n this.ready = new Promise((resolve) => (this.resolveReady = resolve));\n }\n onMessage(type, handler) {\n (this.handlers[type] || (this.handlers[type] = [])).push(handler);\n this.resolveReady(undefined);\n return () => {\n this.handlers[type] = this.handlers[type].filter((h) => h !== handler);\n };\n }\n /**\n * Handle an incoming message.\n *\n * This should be called by subclasses when a message is received.\n *\n * @param message The message to handle. The message must have a `type` property.\n */\n handleIncoming(message) {\n if (!message.type) {\n logger.warn(\"Received message without type\", message);\n return;\n }\n const messageHandlers = this.handlers[message.type];\n if (!messageHandlers) {\n logger.warn(\"Received message without handler\", message);\n return;\n }\n messageHandlers.forEach((h) => h(message));\n }\n}\nexport class ReactPyClient extends BaseReactPyClient {\n urls;\n socket;\n mountElement;\n constructor(props) {\n super();\n this.urls = props.urls;\n this.mountElement = props.mountElement;\n this.socket = createReconnectingWebSocket({\n url: this.urls.componentUrl,\n readyPromise: this.ready,\n ...props.reconnectOptions,\n onMessage: async ({ data }) => this.handleIncoming(JSON.parse(data)),\n });\n }\n sendMessage(message) {\n this.socket.current?.send(JSON.stringify(message));\n }\n loadModule(moduleName) {\n return import(`${this.urls.jsModulesPath}${moduleName}`);\n }\n}\n//# sourceMappingURL=client.js.map",
10
- "var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,w=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?S(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,u,t,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(t=void 0,r=void 0,o=(r=(u=n).__v).__e,f=[],c=[],u.__P&&((t=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(t),O(u.__P,t,r,u.__n,u.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),t.__v=r.__v,t.__.__k[t.__i]=t,N(f,t,c),r.__e=r.__=null,t.__e!=o&&C(t)));$.__r=0}function I(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,w,d,g,_,m=t&&t.__k||v,b=l.length;for(f=P(u,l,m,f,b),a=0;a<b;a++)null!=(y=u.__k[a])&&(h=-1==y.__i?p:m[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),w=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&B(h.ref,null,y),s.push(y.ref,y.__c||w,y)),null==d&&null!=w&&(d=w),(_=!!(4&y.__u))||h.__k===y.__k?f=A(y,f,n,_):\"function\"==typeof y.type&&void 0!==g?f=g:w&&(f=w.nextSibling),y.__u&=-7);return u.__e=d,f}function P(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=m(null,o,null,null,null):w(o)?o=n.__k[r]=m(k,{children:o},null,null,null):null==o.constructor&&o.__b>0?o=n.__k[r]=m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,-1!=(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=S(e)),D(e,e));return t}function A(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=A(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=S(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(w(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function T(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||y.test(l)?u:u+\"px\"}function j(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||T(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(f,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u.u=t.u:(u.u=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=c++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=u.type;if(null!=u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof j)try{if(b=u.props,S=\"prototype\"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?m=(h=u.__c=t.__c).__=h.__E:(S?u.__c=h=new j(b,M):(u.__c=h=new x(b,M),h.constructor=j,h.render=E),C&&C.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=u,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)){for(u.__v!=t.__v&&(h.props=b,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=V(a.props.children)),f=I(n,w(L)?L:[L],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(T=o.length;T--;)g(o[T]);z(u)}else u.__e=t.__e,u.__k=t.__k,n.then||z(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=q(t.__e,u,t,i,r,o,e,c,s);return(a=l.diffed)&&a(u),128&u.__u?void 0:f}function z(n){n&&n.__c&&(n.__c.__e=!0),n&&n.__k&&n.__k.forEach(z)}function N(n,u,t){for(var i=0;i<t.length;i++)B(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function V(n){return\"object\"!=typeof n||null==n||n.__b&&n.__b>0?n:w(n)?n.map(V):d({},n)}function q(u,t,i,r,o,e,f,c,s){var a,h,v,y,d,_,m,b=i.props||p,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(a=0;a<e.length;a++)if((d=e[a])&&\"setAttribute\"in d==!!x&&(x?d.localName==x:3==d.nodeType)){u=d,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)b===k||c&&u.data==k||(u.data=k);else{if(e=e&&n.call(u.childNodes),!c&&null!=e)for(b={},a=0;a<u.attributes.length;a++)b[(d=u.attributes[a]).name]=d.value;for(a in b)if(d=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)v=d;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;j(u,a,null,d,o)}for(a in k)d=k[a],\"children\"==a?y=d:\"dangerouslySetInnerHTML\"==a?h=d:\"value\"==a?_=d:\"checked\"==a?m=d:c&&\"function\"!=typeof d||b[a]===d||j(u,a,d,b[a],o);if(h)c||v&&(h.__html==v.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(v&&(u.innerHTML=\"\"),I(\"template\"==t.type?u.content:u,w(y)?y:[y],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a=\"value\",\"progress\"==x&&null==_?u.removeAttribute(\"value\"):null!=_&&(_!==u[a]||\"progress\"==x&&!_||\"option\"==x&&_!=b[a])&&j(u,a,_,b[a],o),a=\"checked\",null!=m&&m!=u[a]&&j(u,a,m,b[a],o))}return u}function B(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function D(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||B(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&D(i[r],u,t||\"function\"!=typeof n.type);t||g(n.__e),n.__c=n.__=n.__e=void 0}function E(n,l,u){return this.constructor(n,u)}function G(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],O(t,u=(!r&&i||t).__k=_(k,null,[u]),o||p,p,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),N(e,u,f)}function J(n,l){G(n,l,J)}function K(l,u,t){var i,r,o,e,f=d({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function Q(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;export{x as Component,k as Fragment,K as cloneElement,Q as createContext,_ as createElement,b as createRef,_ as h,J as hydrate,t as isValidElement,l as options,G as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n",
11
- "import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n",
12
- "import { jsx as _jsx } from \"preact/jsx-runtime\";\nimport { set as setJsonPointer } from \"json-pointer\";\nimport { createContext, createElement, Fragment } from \"preact\";\nimport { useContext, useEffect, useRef, useState } from \"preact/hooks\";\nimport { createAttributes, createChildren, loadImportSource } from \"./vdom\";\nconst ClientContext = createContext(null);\nexport function Layout(props) {\n const currentModel = useState({ tagName: \"\" })[0];\n const forceUpdate = useForceUpdate();\n useEffect(() => props.client.onMessage(\"layout-update\", ({ path, model }) => {\n if (path === \"\") {\n Object.assign(currentModel, model);\n }\n else {\n setJsonPointer(currentModel, path, model);\n }\n forceUpdate();\n }), [currentModel, props.client]);\n return (_jsx(ClientContext.Provider, { value: props.client, children: _jsx(Element, { model: currentModel }) }));\n}\nexport function Element({ model }) {\n if (model.error !== undefined) {\n if (model.error) {\n return _jsx(\"pre\", { children: model.error });\n }\n else {\n return null;\n }\n }\n let SpecializedElement;\n if (model.tagName in SPECIAL_ELEMENTS) {\n SpecializedElement =\n SPECIAL_ELEMENTS[model.tagName];\n }\n else if (model.importSource) {\n SpecializedElement = ImportedElement;\n }\n else {\n SpecializedElement = StandardElement;\n }\n return _jsx(SpecializedElement, { model: model });\n}\nfunction StandardElement({ model }) {\n const client = useContext(ClientContext);\n // Use createElement here to avoid warning about variable numbers of children not\n // having keys. Warning about this must now be the responsibility of the client\n // providing the models instead of the client rendering them.\n return createElement(model.tagName === \"\" ? Fragment : model.tagName, createAttributes(model, client), ...createChildren(model, (child) => {\n return _jsx(Element, { model: child }, child.key);\n }));\n}\nfunction UserInputElement({ model }) {\n const client = useContext(ClientContext);\n const props = createAttributes(model, client);\n const [value, setValue] = useState(props.value);\n // honor changes to value from the client via props\n useEffect(() => setValue(props.value), [props.value]);\n const givenOnChange = props.onChange;\n if (typeof givenOnChange === \"function\") {\n props.onChange = (event) => {\n // immediately update the value to give the user feedback\n if (event.target) {\n setValue(event.target.value);\n }\n // allow the client to respond (and possibly change the value)\n givenOnChange(event);\n };\n }\n // Use createElement here to avoid warning about variable numbers of children not\n // having keys. Warning about this must now be the responsibility of the client\n // providing the models instead of the client rendering them.\n return createElement(model.tagName, \n // overwrite\n { ...props, value }, ...createChildren(model, (child) => (_jsx(Element, { model: child }, child.key))));\n}\nfunction ScriptElement({ model }) {\n const ref = useRef(null);\n useEffect(() => {\n // Don't run if the parent element is missing\n if (!ref.current) {\n return;\n }\n // Create the script element\n const scriptElement = document.createElement(\"script\");\n for (const [k, v] of Object.entries(model.attributes || {})) {\n scriptElement.setAttribute(k, v);\n }\n // Add the script content as text\n const scriptContent = model?.children?.filter((value) => typeof value == \"string\")[0];\n if (scriptContent) {\n scriptElement.appendChild(document.createTextNode(scriptContent));\n }\n // Append the script element to the parent element\n ref.current.appendChild(scriptElement);\n // Remove the script element when the component is unmounted\n return () => {\n ref.current?.removeChild(scriptElement);\n };\n }, [model.key]);\n return _jsx(\"div\", { ref: ref });\n}\nfunction ImportedElement({ model }) {\n const importSourceVdom = model.importSource;\n const importSourceRef = useImportSource(model);\n if (!importSourceVdom) {\n return null;\n }\n const importSourceFallback = importSourceVdom.fallback;\n if (!importSourceVdom) {\n // display a fallback if one was given\n if (!importSourceFallback) {\n return null;\n }\n else if (typeof importSourceFallback === \"string\") {\n return _jsx(\"span\", { children: importSourceFallback });\n }\n else {\n return _jsx(StandardElement, { model: importSourceFallback });\n }\n }\n else {\n return _jsx(\"span\", { ref: importSourceRef });\n }\n}\nfunction useForceUpdate() {\n const [, setState] = useState(false);\n return () => setState((old) => !old);\n}\nfunction useImportSource(model) {\n const vdomImportSource = model.importSource;\n const vdomImportSourceJsonString = JSON.stringify(vdomImportSource);\n const mountPoint = useRef(null);\n const client = useContext(ClientContext);\n const [binding, setBinding] = useState(null);\n useEffect(() => {\n let unmounted = false;\n if (vdomImportSource) {\n loadImportSource(vdomImportSource, client).then((bind) => {\n if (!unmounted && mountPoint.current) {\n setBinding(bind(mountPoint.current));\n }\n });\n }\n return () => {\n unmounted = true;\n if (binding &&\n vdomImportSource &&\n !vdomImportSource.unmountBeforeUpdate) {\n binding.unmount();\n }\n };\n }, [client, vdomImportSourceJsonString, setBinding, mountPoint.current]);\n // this effect must run every time in case the model has changed\n useEffect(() => {\n if (!(binding && vdomImportSource)) {\n return;\n }\n binding.render(model);\n if (vdomImportSource.unmountBeforeUpdate) {\n return binding.unmount;\n }\n });\n return mountPoint;\n}\nconst SPECIAL_ELEMENTS = {\n input: UserInputElement,\n script: ScriptElement,\n select: UserInputElement,\n textarea: UserInputElement,\n};\n//# sourceMappingURL=components.js.map",
13
- "import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function p(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function d(n){return o=1,h(D,n)}function h(n,u,i){var o=p(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.__f=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=p(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__H.__h.push(i))}function _(n,u){var i=p(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){if(\"function\"==typeof n){var r=n(t());return function(){n(null),r&&\"function\"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function T(n,r){var u=p(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=p(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=p(t++,10),i=d();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=p(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,h as useReducer,A as useRef,d as useState};\n//# sourceMappingURL=hooks.module.js.map\n",
10
+ "import { jsx as _jsx } from \"preact/jsx-runtime\";\nimport { set as setJsonPointer } from \"json-pointer\";\nimport { createContext, createElement, Fragment } from \"preact\";\nimport { useContext, useEffect, useRef, useState } from \"preact/hooks\";\nimport { createAttributes, createChildren, loadImportSource } from \"./vdom\";\nconst ClientContext = createContext(null);\nexport function Layout(props) {\n const currentModel = useState({ tagName: \"\" })[0];\n const forceUpdate = useForceUpdate();\n useEffect(() => props.client.onMessage(\"layout-update\", ({ path, model }) => {\n if (path === \"\") {\n Object.assign(currentModel, model);\n }\n else {\n setJsonPointer(currentModel, path, model);\n }\n forceUpdate();\n }), [currentModel, props.client]);\n return (_jsx(ClientContext.Provider, { value: props.client, children: _jsx(Element, { model: currentModel }) }));\n}\nexport function Element({ model }) {\n if (model.error !== undefined) {\n if (model.error) {\n return _jsx(\"pre\", { children: model.error });\n }\n else {\n return null;\n }\n }\n let SpecializedElement;\n if (model.tagName in SPECIAL_ELEMENTS) {\n SpecializedElement =\n SPECIAL_ELEMENTS[model.tagName];\n }\n else if (model.importSource) {\n SpecializedElement = ImportedElement;\n }\n else {\n SpecializedElement = StandardElement;\n }\n return _jsx(SpecializedElement, { model: model });\n}\nfunction StandardElement({ model }) {\n const client = useContext(ClientContext);\n // Use createElement here to avoid warning about variable numbers of children not\n // having keys. Warning about this must now be the responsibility of the client\n // providing the models instead of the client rendering them.\n return createElement(model.tagName === \"\" ? Fragment : model.tagName, createAttributes(model, client), ...createChildren(model, (child) => {\n return _jsx(Element, { model: child }, child.attributes?.key);\n }));\n}\nfunction UserInputElement({ model }) {\n const client = useContext(ClientContext);\n const props = createAttributes(model, client);\n const [value, setValue] = useState(props.value);\n // honor changes to value from the client via props\n useEffect(() => setValue(props.value), [props.value]);\n const givenOnChange = props.onChange;\n if (typeof givenOnChange === \"function\") {\n props.onChange = (event) => {\n // immediately update the value to give the user feedback\n if (event.target) {\n setValue(event.target.value);\n }\n // allow the client to respond (and possibly change the value)\n givenOnChange(event);\n };\n }\n // Use createElement here to avoid warning about variable numbers of children not\n // having keys. Warning about this must now be the responsibility of the client\n // providing the models instead of the client rendering them.\n return createElement(model.tagName, \n // overwrite\n { ...props, value }, ...createChildren(model, (child) => (_jsx(Element, { model: child }, child.attributes?.key))));\n}\nfunction ScriptElement({ model }) {\n const ref = useRef(null);\n useEffect(() => {\n // Don't run if the parent element is missing\n if (!ref.current) {\n return;\n }\n // Create the script element\n const scriptElement = document.createElement(\"script\");\n for (const [k, v] of Object.entries(model.attributes || {})) {\n scriptElement.setAttribute(k, v);\n }\n // Add the script content as text\n const scriptContent = model?.children?.filter((value) => typeof value == \"string\")[0];\n if (scriptContent) {\n scriptElement.appendChild(document.createTextNode(scriptContent));\n }\n // Append the script element to the parent element\n ref.current.appendChild(scriptElement);\n // Remove the script element when the component is unmounted\n return () => {\n ref.current?.removeChild(scriptElement);\n };\n }, [model.attributes?.key]);\n return _jsx(\"div\", { ref: ref });\n}\nfunction ImportedElement({ model }) {\n const importSourceVdom = model.importSource;\n const importSourceRef = useImportSource(model);\n if (!importSourceVdom) {\n return null;\n }\n const importSourceFallback = importSourceVdom.fallback;\n if (!importSourceVdom) {\n // display a fallback if one was given\n if (!importSourceFallback) {\n return null;\n }\n else if (typeof importSourceFallback === \"string\") {\n return _jsx(\"span\", { children: importSourceFallback });\n }\n else {\n return _jsx(StandardElement, { model: importSourceFallback });\n }\n }\n else {\n return _jsx(\"span\", { ref: importSourceRef });\n }\n}\nfunction useForceUpdate() {\n const [, setState] = useState(false);\n return () => setState((old) => !old);\n}\nfunction useImportSource(model) {\n const vdomImportSource = model.importSource;\n const vdomImportSourceJsonString = JSON.stringify(vdomImportSource);\n const mountPoint = useRef(null);\n const client = useContext(ClientContext);\n const [binding, setBinding] = useState(null);\n useEffect(() => {\n let unmounted = false;\n if (vdomImportSource) {\n loadImportSource(vdomImportSource, client).then((bind) => {\n if (!unmounted && mountPoint.current) {\n setBinding(bind(mountPoint.current));\n }\n });\n }\n return () => {\n unmounted = true;\n if (binding &&\n vdomImportSource &&\n !vdomImportSource.unmountBeforeUpdate) {\n binding.unmount();\n }\n };\n }, [client, vdomImportSourceJsonString, setBinding, mountPoint.current]);\n // this effect must run every time in case the model has changed\n useEffect(() => {\n if (!(binding && vdomImportSource)) {\n return;\n }\n binding.render(model);\n if (vdomImportSource.unmountBeforeUpdate) {\n return binding.unmount;\n }\n });\n return mountPoint;\n}\nconst SPECIAL_ELEMENTS = {\n input: UserInputElement,\n script: ScriptElement,\n select: UserInputElement,\n textarea: UserInputElement,\n};\n//# sourceMappingURL=components.js.map",
14
11
  "const maxDepthSignal = { __stop__: true };\n/**\n * Convert any class object (such as `Event`) to a plain object.\n */\nexport default function convert(classObject, maxDepth = 10) {\n // Immediately return `classObject` if given an unexpected (non-object) input\n if (!classObject || typeof classObject !== \"object\") {\n console.warn(\"eventToObject: Expected an object input, received:\", classObject);\n return classObject;\n }\n // Begin conversion\n const visited = new WeakSet();\n visited.add(classObject);\n const convertedObj = {};\n for (const key in classObject) {\n // Skip keys that cannot be converted\n try {\n if (shouldIgnoreValue(classObject[key], key)) {\n continue;\n }\n // Handle objects (potentially cyclical)\n else if (typeof classObject[key] === \"object\") {\n const result = deepCloneClass(classObject[key], maxDepth, visited);\n if (result !== maxDepthSignal) {\n convertedObj[key] = result;\n }\n }\n // Handle simple types (non-cyclical)\n else {\n convertedObj[key] = classObject[key];\n }\n }\n catch {\n continue;\n }\n }\n // Special case: Event selection\n if (typeof window !== \"undefined\" &&\n window.Event &&\n classObject instanceof window.Event) {\n convertedObj[\"selection\"] = serializeSelection(maxDepth, visited);\n }\n return convertedObj;\n}\n/**\n * Serialize the current window selection.\n */\nfunction serializeSelection(maxDepth, visited) {\n if (typeof window === \"undefined\" || !window.getSelection) {\n return null;\n }\n const selection = window.getSelection();\n if (!selection) {\n return null;\n }\n return {\n type: selection.type,\n anchorNode: selection.anchorNode\n ? deepCloneClass(selection.anchorNode, maxDepth, visited)\n : null,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode\n ? deepCloneClass(selection.focusNode, maxDepth, visited)\n : null,\n focusOffset: selection.focusOffset,\n isCollapsed: selection.isCollapsed,\n rangeCount: selection.rangeCount,\n selectedText: selection.toString(),\n };\n}\n/**\n * Recursively convert a class-based object to a plain object.\n */\nfunction deepCloneClass(x, _maxDepth, visited) {\n const maxDepth = _maxDepth - 1;\n // Return an indicator if maxDepth is reached\n if (maxDepth <= 0 && typeof x === \"object\") {\n return maxDepthSignal;\n }\n // Safety check: WeakSet only accepts objects (and not null)\n if (!x || typeof x !== \"object\") {\n return x;\n }\n if (visited.has(x)) {\n return maxDepthSignal;\n }\n visited.add(x);\n try {\n // Convert array-like class (e.g., NodeList, ClassList, HTMLCollection)\n if (Array.isArray(x) ||\n (typeof x?.length === \"number\" &&\n typeof x[Symbol.iterator] === \"function\" &&\n !Object.prototype.toString.call(x).includes(\"Map\") &&\n !(x instanceof CSSStyleDeclaration))) {\n return classToArray(x, maxDepth, visited);\n }\n // Convert mapping-like class (e.g., Node, Map, Set)\n return classToObject(x, maxDepth, visited);\n }\n finally {\n visited.delete(x);\n }\n}\n/**\n * Convert an array-like class to a plain array.\n */\nfunction classToArray(x, maxDepth, visited) {\n const result = [];\n for (let i = 0; i < x.length; i++) {\n // Skip anything that should not be converted\n if (shouldIgnoreValue(x[i])) {\n continue;\n }\n // Only push objects as if we haven't reached max depth\n else if (typeof x[i] === \"object\") {\n const converted = deepCloneClass(x[i], maxDepth, visited);\n if (converted !== maxDepthSignal) {\n result.push(converted);\n }\n }\n // Add plain values if not skippable\n else {\n result.push(x[i]);\n }\n }\n return result;\n}\n/**\n * Convert a mapping-like class to a plain JSON object.\n * We must iterate through it with a for-loop in order to gain\n * access to properties from all parent classes.\n */\nfunction classToObject(x, maxDepth, visited) {\n const result = {};\n for (const key in x) {\n try {\n // Skip anything that should not be converted\n if (shouldIgnoreValue(x[key], key, x)) {\n continue;\n }\n // Add objects as a property if we haven't reached max depth\n else if (typeof x[key] === \"object\") {\n const converted = deepCloneClass(x[key], maxDepth, visited);\n if (converted !== maxDepthSignal) {\n result[key] = converted;\n }\n }\n // Add plain values if not skippable\n else {\n result[key] = x[key];\n }\n }\n catch {\n continue;\n }\n }\n // Explicitly include dataset if it exists (it might not be enumerable)\n if (x &&\n typeof x === \"object\" &&\n \"dataset\" in x &&\n !Object.prototype.hasOwnProperty.call(result, \"dataset\")) {\n const dataset = x[\"dataset\"];\n if (!shouldIgnoreValue(dataset, \"dataset\", x)) {\n const converted = deepCloneClass(dataset, maxDepth, visited);\n if (converted !== maxDepthSignal) {\n result[\"dataset\"] = converted;\n }\n }\n }\n // Explicitly include common input properties if they exist\n const extraProps = [\"value\", \"checked\", \"files\", \"type\", \"name\"];\n for (const prop of extraProps) {\n if (x &&\n typeof x === \"object\" &&\n prop in x &&\n !Object.prototype.hasOwnProperty.call(result, prop)) {\n const val = x[prop];\n if (!shouldIgnoreValue(val, prop, x)) {\n if (typeof val === \"object\") {\n // Ensure files have enough depth to be serialized\n const propDepth = prop === \"files\" ? Math.max(maxDepth, 3) : maxDepth;\n const converted = deepCloneClass(val, propDepth, visited);\n if (converted !== maxDepthSignal) {\n result[prop] = converted;\n }\n }\n else {\n result[prop] = val;\n }\n }\n }\n }\n // Explicitly include form elements if they exist and are not enumerable\n const win = typeof window !== \"undefined\" ? window : undefined;\n // @ts-ignore\n const FormClass = win\n ? win.HTMLFormElement\n : typeof HTMLFormElement !== \"undefined\"\n ? HTMLFormElement\n : undefined;\n if (FormClass && x instanceof FormClass && x.elements) {\n for (let i = 0; i < x.elements.length; i++) {\n const element = x.elements[i];\n if (element.name &&\n !Object.prototype.hasOwnProperty.call(result, element.name) &&\n !shouldIgnoreValue(element, element.name, x)) {\n if (typeof element === \"object\") {\n const converted = deepCloneClass(element, maxDepth, visited);\n if (converted !== maxDepthSignal) {\n result[element.name] = converted;\n }\n }\n else {\n result[element.name] = element;\n }\n }\n }\n }\n return result;\n}\n/**\n * Check if a value is non-convertible or holds minimal value.\n */\nfunction shouldIgnoreValue(value, keyName = \"\", parent = undefined) {\n return (\n // Useless data\n value === null ||\n value === undefined ||\n keyName.startsWith(\"__\") ||\n (keyName.length > 0 && /^[A-Z_]+$/.test(keyName)) ||\n // Non-convertible types\n typeof value === \"function\" ||\n value instanceof CSSStyleSheet ||\n value instanceof Window ||\n value instanceof Document ||\n keyName === \"view\" ||\n keyName === \"size\" ||\n keyName === \"length\" ||\n (parent instanceof CSSStyleDeclaration && value === \"\") ||\n // DOM Node Blacklist\n (typeof Node !== \"undefined\" &&\n parent instanceof Node &&\n // Recursive properties\n (keyName === \"parentNode\" ||\n keyName === \"parentElement\" ||\n keyName === \"ownerDocument\" ||\n keyName === \"getRootNode\" ||\n keyName === \"childNodes\" ||\n keyName === \"children\" ||\n keyName === \"firstChild\" ||\n keyName === \"lastChild\" ||\n keyName === \"previousSibling\" ||\n keyName === \"nextSibling\" ||\n keyName === \"previousElementSibling\" ||\n keyName === \"nextElementSibling\" ||\n // Potentially large data\n keyName === \"innerHTML\" ||\n keyName === \"outerHTML\" ||\n // Reflow triggers\n keyName === \"offsetParent\" ||\n keyName === \"offsetWidth\" ||\n keyName === \"offsetHeight\" ||\n keyName === \"offsetLeft\" ||\n keyName === \"offsetTop\" ||\n keyName === \"clientTop\" ||\n keyName === \"clientLeft\" ||\n keyName === \"clientWidth\" ||\n keyName === \"clientHeight\" ||\n keyName === \"scrollWidth\" ||\n keyName === \"scrollHeight\" ||\n keyName === \"scrollTop\" ||\n keyName === \"scrollLeft\")));\n}\n//# sourceMappingURL=index.js.map",
15
- "import eventToObject from \"event-to-object\";\nimport log from \"./logger\";\nexport async function loadImportSource(vdomImportSource, client) {\n let module;\n if (vdomImportSource.sourceType === \"URL\") {\n module = await import(vdomImportSource.source);\n }\n else {\n module = await client.loadModule(vdomImportSource.source);\n }\n if (typeof module.bind !== \"function\") {\n throw new Error(`${vdomImportSource.source} did not export a function 'bind'`);\n }\n return (node) => {\n const binding = module.bind(node, {\n sendMessage: client.sendMessage,\n onMessage: client.onMessage,\n });\n if (!(typeof binding.create === \"function\" &&\n typeof binding.render === \"function\" &&\n typeof binding.unmount === \"function\")) {\n log.error(`${vdomImportSource.source} returned an impropper binding`);\n return null;\n }\n return {\n render: (model) => binding.render(createImportSourceElement({\n client,\n module,\n binding,\n model,\n currentImportSource: vdomImportSource,\n })),\n unmount: binding.unmount,\n };\n };\n}\nfunction createImportSourceElement(props) {\n let type;\n if (props.model.importSource) {\n if (!isImportSourceEqual(props.currentImportSource, props.model.importSource)) {\n log.error(\"Parent element import source \" +\n stringifyImportSource(props.currentImportSource) +\n \" does not match child's import source \" +\n stringifyImportSource(props.model.importSource));\n return null;\n }\n else {\n type = getComponentFromModule(props.module, props.model.tagName, props.model.importSource);\n if (!type) {\n // Error message logged within getComponentFromModule\n return null;\n }\n }\n }\n else {\n type = props.model.tagName;\n }\n return props.binding.create(type, createAttributes(props.model, props.client), createChildren(props.model, (child) => createImportSourceElement({\n ...props,\n model: child,\n })));\n}\nfunction getComponentFromModule(module, componentName, importSource) {\n /* Gets the component with the provided name from the provided module.\n \n Built specifically to work on inifinitely deep nested components.\n For example, component \"My.Nested.Component\" is accessed from\n ModuleA like so: ModuleA[\"My\"][\"Nested\"][\"Component\"].\n */\n const componentParts = componentName.split(\".\");\n let Component = null;\n for (let i = 0; i < componentParts.length; i++) {\n const iterAttr = componentParts[i];\n Component = i == 0 ? module[iterAttr] : Component[iterAttr];\n if (!Component) {\n if (i == 0) {\n log.error(\"Module from source \" +\n stringifyImportSource(importSource) +\n ` does not export ${iterAttr}`);\n }\n else {\n console.error(`Component ${componentParts.slice(0, i).join(\".\")} from source ` +\n stringifyImportSource(importSource) +\n ` does not have subcomponent ${iterAttr}`);\n }\n break;\n }\n }\n return Component;\n}\nfunction isImportSourceEqual(source1, source2) {\n return (source1.source === source2.source &&\n source1.sourceType === source2.sourceType);\n}\nfunction stringifyImportSource(importSource) {\n return JSON.stringify({\n source: importSource.source,\n sourceType: importSource.sourceType,\n });\n}\nexport function createChildren(model, createChild) {\n if (!model.children) {\n return [];\n }\n else {\n return model.children.map((child) => {\n switch (typeof child) {\n case \"object\":\n return createChild(child);\n case \"string\":\n return child;\n }\n });\n }\n}\nexport function createAttributes(model, client) {\n return Object.fromEntries(Object.entries({\n // Normal HTML attributes\n ...model.attributes,\n // Construct event handlers\n ...Object.fromEntries(Object.entries(model.eventHandlers || {}).map(([name, handler]) => createEventHandler(client, name, handler))),\n ...Object.fromEntries(Object.entries(model.inlineJavaScript || {}).map(([name, inlineJavaScript]) => createInlineJavaScript(name, inlineJavaScript))),\n }));\n}\nfunction createEventHandler(client, name, { target, preventDefault, stopPropagation }) {\n const eventHandler = function (...args) {\n const data = Array.from(args).map((value) => {\n const event = value;\n if (preventDefault) {\n event.preventDefault();\n }\n if (stopPropagation) {\n event.stopPropagation();\n }\n // Convert JavaScript objects to plain JSON, if needed\n if (typeof event === \"object\") {\n return eventToObject(event);\n }\n else {\n return event;\n }\n });\n client.sendMessage({ type: \"layout-event\", data, target });\n };\n eventHandler.isHandler = true;\n return [name, eventHandler];\n}\nfunction createInlineJavaScript(name, inlineJavaScript) {\n /* Function that will execute the string-like InlineJavaScript\n via eval in the most appropriate way */\n const wrappedExecutable = function (...args) {\n function handleExecution(...args) {\n const evalResult = eval(inlineJavaScript);\n if (typeof evalResult == \"function\") {\n return evalResult(...args);\n }\n }\n if (args.length > 0 && args[0] instanceof Event) {\n /* If being triggered by an event, set the event's current\n target to \"this\". This ensures that inline\n javascript statements such as the following work:\n html.button({\"onclick\": 'this.value = \"Clicked!\"'}, \"Click Me\")*/\n return handleExecution.call(args[0].currentTarget, ...args);\n }\n else {\n /* If not being triggered by an event, do not set \"this\" and\n just call normally */\n return handleExecution(...args);\n }\n };\n wrappedExecutable.isHandler = false;\n return [name, wrappedExecutable];\n}\n//# sourceMappingURL=vdom.js.map",
16
- "import { jsx as _jsx } from \"preact/jsx-runtime\";\nimport { render } from \"preact\";\nimport { ReactPyClient } from \"./client\";\nimport { Layout } from \"./components\";\nexport function mountReactPy(props) {\n // WebSocket route for component rendering\n const wsProtocol = `ws${window.location.protocol === \"https:\" ? \"s\" : \"\"}:`;\n const wsOrigin = `${wsProtocol}//${window.location.host}`;\n const componentUrl = new URL(`${wsOrigin}${props.pathPrefix}${props.componentPath || \"\"}`);\n // Embed the initial HTTP path into the WebSocket URL\n componentUrl.searchParams.append(\"http_pathname\", window.location.pathname);\n if (window.location.search) {\n componentUrl.searchParams.append(\"http_query_string\", window.location.search);\n }\n // Configure a new ReactPy client\n const client = new ReactPyClient({\n urls: {\n componentUrl: componentUrl,\n jsModulesPath: `${window.location.origin}${props.pathPrefix}modules/`,\n },\n reconnectOptions: {\n interval: props.reconnectInterval || 750,\n maxInterval: props.reconnectMaxInterval || 60000,\n maxRetries: props.reconnectMaxRetries || 150,\n backoffMultiplier: props.reconnectBackoffMultiplier || 1.25,\n },\n mountElement: props.mountElement,\n });\n // Start rendering the component\n render(_jsx(Layout, { client: client }), props.mountElement);\n}\n//# sourceMappingURL=mount.js.map",
17
- "import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as l,createRef as c,cloneElement as f}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useState as a,useLayoutEffect as s,useEffect as h,useCallback as v,useContext as d,useDebugValue as m,useId as p,useImperativeHandle as y,useMemo as _,useReducer as b,useRef as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in t)n[e]=t[e];return n}function E(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 C(n,t){var e=t(),r=a({t:{__:e,u:t}}),u=r[0].t,o=r[1];return s(function(){u.__=e,u.u=t,x(u)&&o({t:u})},[n,e,t]),h(function(){return x(u)&&o({t:u}),n(function(){x(u)&&o({t:u})})},[n]),e}function x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function w(n){return n}function k(){return[!1,R]}var I=s;function N(n,t){this.props=n,this.context=t}function M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u.type=n,u}(N.prototype=new n).isPureReactComponent=!0,N.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n)};var A=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function D(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=A,t.render=n,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var L=function(n,t){return null==n?null:r(r(n).map(t))},O={map:L,forEach:L,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},F=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);F(n,t,e,r)};var U=e.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null}function j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function z(n){var e,r,u,o=null;function i(i){if(e||(e=n()).then(function(n){n&&(o=n.default||n),u=!0},function(n){r=n,u=!0}),r)throw r;if(!u)throw e;return o?t(o,i):null}return i.displayName=\"Lazy\",i.__f=!0,i}function B(){this.i=null,this.l=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(P.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},P.prototype.componentWillUnmount=function(){this.o=[]},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;if(e.componentWillUnmount=function(){o(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return!0},insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}}o(t(Z,{context:e.context},n.__v),e.v)}function $(n,e){var r=t(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new n).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u()};e?e(o):o()}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t)})};var q=\"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|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q=\"undefined\"!=typeof document,X=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=e.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}e.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var ln,cn={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf(\"-\");for(var i in t){var l=t[i];if(!(\"value\"===i&&\"defaultValue\"in t&&null==l||Q&&\"children\"===i&&\"noscript\"===e||\"class\"===i||\"className\"===i)){var c=i.toLowerCase();\"defaultValue\"===i&&\"value\"in t&&null==t.value?i=\"value\":\"download\"===i&&!0===l?l=\"\":\"translate\"===c&&\"no\"===l?l=!1:\"o\"===c[0]&&\"n\"===c[1]?\"ondoubleclick\"===c?i=\"ondblclick\":\"onchange\"!==c||\"input\"!==e&&\"textarea\"!==e||X(t.type)?\"onfocus\"===c?i=\"onfocusin\":\"onblur\"===c?i=\"onfocusout\":J.test(i)&&(i=c):c=i=\"oninput\":o&&G.test(i)?i=i.replace(K,\"-$&\").toLowerCase():null===l&&(l=void 0),\"oninput\"===c&&u[i=c]&&(i=\"oninputCapture\"),u[i]=l}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",cn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=q,fn&&fn(n)};var an=e.__r;e.__r=function(n){an&&an(n),ln=n.__c};var sn=e.diffed;e.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),ln=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return ln.__n[n.__c].props.value},useCallback:v,useContext:d,useDebugValue:m,useDeferredValue:w,useEffect:h,useId:p,useImperativeHandle:y,useInsertionEffect:I,useLayoutEffect:s,useMemo:_,useReducer:b,useRef:S,useState:a,useSyncExternalStore:C,useTransition:k}}},vn=\"18.3.1\";function dn(n){return t.bind(null,n)}function mn(n){return!!n&&n.$$typeof===q}function pn(n){return mn(n)&&n.type===u}function yn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function _n(n){return mn(n)?f.apply(null,arguments):n}function bn(n){return!!n.__k&&(o(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=u,xn=mn,Rn={useState:a,useId:p,useReducer:b,useEffect:h,useLayoutEffect:s,useInsertionEffect:I,useTransition:k,useDeferredValue:w,useSyncExternalStore:C,startTransition:R,useRef:S,useImperativeHandle:y,useMemo:_,useCallback:v,useContext:d,useDebugValue:m,version:\"18.3.1\",Children:O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:$,createElement:t,createContext:l,createFactory:dn,cloneElement:_n,createRef:c,Fragment:u,isValidElement:mn,isElement:xn,isFragment:pn,isMemo:yn,findDOMNode:Sn,Component:n,PureComponent:N,memo:M,forwardRef:D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:P,SuspenseList:B,lazy:z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};export{O as Children,N as PureComponent,Cn as StrictMode,P as Suspense,B as SuspenseList,hn as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_n as cloneElement,dn as createFactory,$ as createPortal,Rn as default,Sn as findDOMNode,En as flushSync,D as forwardRef,tn as hydrate,xn as isElement,pn as isFragment,yn as isMemo,mn as isValidElement,z as lazy,M as memo,nn as render,R as startTransition,bn as unmountComponentAtNode,gn as unstable_batchedUpdates,w as useDeferredValue,I as useInsertionEffect,C as useSyncExternalStore,k as useTransition,vn as version};\n//# sourceMappingURL=compat.module.js.map\n"
12
+ "import eventToObject from \"event-to-object\";\nimport * as preact from \"preact\";\nimport log from \"./logger\";\nexport async function loadImportSource(vdomImportSource, client) {\n let module;\n if (vdomImportSource.sourceType === \"URL\") {\n module = await import(vdomImportSource.source);\n }\n else {\n module = await client.loadModule(vdomImportSource.source);\n }\n let { bind } = module;\n if (typeof bind !== \"function\") {\n console.debug(\"Using generic ReactJS binding for components in module\", module);\n bind = generic_reactjs_bind;\n }\n return (node) => {\n const binding = bind(node, {\n sendMessage: client.sendMessage,\n onMessage: client.onMessage,\n });\n if (!(typeof binding.create === \"function\" &&\n typeof binding.render === \"function\" &&\n typeof binding.unmount === \"function\")) {\n log.error(`${vdomImportSource.source} returned an impropper binding`);\n return null;\n }\n return {\n render: (model) => binding.render(createImportSourceElement({\n client,\n module,\n binding,\n model,\n currentImportSource: vdomImportSource,\n })),\n unmount: binding.unmount,\n };\n };\n}\nfunction createImportSourceElement(props) {\n let type;\n if (props.model.importSource) {\n if (!isImportSourceEqual(props.currentImportSource, props.model.importSource)) {\n return props.binding.create(\"reactpy-child\", {\n ref: (node) => {\n if (node) {\n node.client = props.client;\n node.model = props.model;\n node.requestUpdate();\n }\n },\n });\n }\n else {\n type = getComponentFromModule(props.module, props.model.tagName, props.model.importSource);\n if (!type) {\n // Error message logged within getComponentFromModule\n return null;\n }\n }\n }\n else {\n type = props.model.tagName;\n }\n return props.binding.create(type, createAttributes(props.model, props.client), createChildren(props.model, (child) => createImportSourceElement({\n ...props,\n model: child,\n })));\n}\nfunction getComponentFromModule(module, componentName, importSource) {\n /* Gets the component with the provided name from the provided module.\n \n Built specifically to work on inifinitely deep nested components.\n For example, component \"My.Nested.Component\" is accessed from\n ModuleA like so: ModuleA[\"My\"][\"Nested\"][\"Component\"].\n */\n const componentParts = componentName.split(\".\");\n let Component = null;\n for (let i = 0; i < componentParts.length; i++) {\n const iterAttr = componentParts[i];\n Component = i == 0 ? module[iterAttr] : Component[iterAttr];\n if (!Component) {\n if (i == 0) {\n log.error(\"Module from source \" +\n stringifyImportSource(importSource) +\n ` does not export ${iterAttr}`);\n }\n else {\n console.error(`Component ${componentParts.slice(0, i).join(\".\")} from source ` +\n stringifyImportSource(importSource) +\n ` does not have subcomponent ${iterAttr}`);\n }\n break;\n }\n }\n return Component;\n}\nfunction isImportSourceEqual(source1, source2) {\n return (source1.source === source2.source &&\n source1.sourceType === source2.sourceType);\n}\nfunction stringifyImportSource(importSource) {\n return JSON.stringify({\n source: importSource.source,\n sourceType: importSource.sourceType,\n });\n}\nexport function createChildren(model, createChild) {\n if (!model.children) {\n return [];\n }\n else {\n return model.children.map((child) => {\n switch (typeof child) {\n case \"object\":\n return createChild(child);\n case \"string\":\n return child;\n }\n });\n }\n}\nexport function createAttributes(model, client) {\n return Object.fromEntries(Object.entries({\n // Normal HTML attributes\n ...model.attributes,\n // Construct event handlers\n ...Object.fromEntries(Object.entries(model.eventHandlers || {}).map(([name, handler]) => createEventHandler(client, name, handler))),\n ...Object.fromEntries(Object.entries(model.inlineJavaScript || {}).map(([name, inlineJavaScript]) => createInlineJavaScript(name, inlineJavaScript))),\n }));\n}\nfunction createEventHandler(client, name, { target, preventDefault, stopPropagation }) {\n const eventHandler = function (...args) {\n const data = Array.from(args).map((value) => {\n const event = value;\n if (preventDefault) {\n event.preventDefault();\n }\n if (stopPropagation) {\n event.stopPropagation();\n }\n // Convert JavaScript objects to plain JSON, if needed\n if (typeof event === \"object\") {\n return eventToObject(event);\n }\n else {\n return event;\n }\n });\n client.sendMessage({ type: \"layout-event\", data, target });\n };\n eventHandler.isHandler = true;\n return [name, eventHandler];\n}\nfunction createInlineJavaScript(name, inlineJavaScript) {\n /* Function that will execute the string-like InlineJavaScript\n via eval in the most appropriate way */\n const wrappedExecutable = function (...args) {\n function handleExecution(...args) {\n const evalResult = eval(inlineJavaScript);\n if (typeof evalResult == \"function\") {\n return evalResult(...args);\n }\n }\n if (args.length > 0 && args[0] instanceof Event) {\n /* If being triggered by an event, set the event's current\n target to \"this\". This ensures that inline\n javascript statements such as the following work:\n html.button({\"onclick\": 'this.value = \"Clicked!\"'}, \"Click Me\")*/\n return handleExecution.call(args[0].currentTarget, ...args);\n }\n else {\n /* If not being triggered by an event, do not set \"this\" and\n just call normally */\n return handleExecution(...args);\n }\n };\n wrappedExecutable.isHandler = false;\n return [name, wrappedExecutable];\n}\nfunction generic_reactjs_bind(node) {\n return {\n create: (type, props, children) => preact.createElement(type, props, ...(children || [])),\n render: (element) => {\n preact.render(element, node);\n },\n unmount: () => preact.render(null, node),\n };\n}\nclass ReactPyChild extends HTMLElement {\n mountPoint;\n binding = null;\n _client = null;\n _model = null;\n currentImportSource = null;\n constructor() {\n super();\n this.mountPoint = document.createElement(\"div\");\n this.mountPoint.style.display = \"contents\";\n }\n connectedCallback() {\n this.appendChild(this.mountPoint);\n }\n set client(value) {\n this._client = value;\n }\n set model(value) {\n this._model = value;\n }\n requestUpdate() {\n this.update();\n }\n async update() {\n if (!this._client || !this._model || !this._model.importSource) {\n return;\n }\n const newImportSource = this._model.importSource;\n if (!this.binding ||\n !this.currentImportSource ||\n !isImportSourceEqual(this.currentImportSource, newImportSource)) {\n if (this.binding) {\n this.binding.unmount();\n this.binding = null;\n }\n this.currentImportSource = newImportSource;\n try {\n const bind = await loadImportSource(newImportSource, this._client);\n if (this.isConnected) {\n this.binding = bind(this.mountPoint);\n if (this.binding) {\n this.binding.render(this._model);\n }\n }\n }\n catch (error) {\n console.error(\"Failed to load import source\", error);\n }\n }\n else {\n if (this.binding) {\n this.binding.render(this._model);\n }\n }\n }\n disconnectedCallback() {\n if (this.binding) {\n this.binding.unmount();\n this.binding = null;\n this.currentImportSource = null;\n }\n }\n}\nif (typeof customElements !== \"undefined\" &&\n !customElements.get(\"reactpy-child\")) {\n customElements.define(\"reactpy-child\", ReactPyChild);\n}\n//# sourceMappingURL=vdom.js.map",
13
+ "import { jsx as _jsx } from \"preact/jsx-runtime\";\nimport { render } from \"preact\";\nimport { ReactPyClient } from \"./client\";\nimport { Layout } from \"./components\";\nexport function mountReactPy(props) {\n // WebSocket route for component rendering\n const wsProtocol = `ws${window.location.protocol === \"https:\" ? \"s\" : \"\"}:`;\n const wsOrigin = `${wsProtocol}//${window.location.host}`;\n const componentUrl = new URL(`${wsOrigin}${props.pathPrefix}${props.componentPath || \"\"}`);\n // Embed the initial HTTP path into the WebSocket URL\n componentUrl.searchParams.append(\"http_pathname\", window.location.pathname);\n if (window.location.search) {\n componentUrl.searchParams.append(\"http_query_string\", window.location.search);\n }\n // Configure a new ReactPy client\n const client = new ReactPyClient({\n urls: {\n componentUrl: componentUrl,\n jsModulesPath: `${window.location.origin}${props.pathPrefix}modules/`,\n },\n reconnectOptions: {\n interval: props.reconnectInterval || 750,\n maxInterval: props.reconnectMaxInterval || 60000,\n maxRetries: props.reconnectMaxRetries || 150,\n backoffMultiplier: props.reconnectBackoffMultiplier || 1.25,\n },\n mountElement: props.mountElement,\n });\n // Start rendering the component\n render(_jsx(Layout, { client: client }), props.mountElement);\n}\n//# sourceMappingURL=mount.js.map"
18
14
  ],
19
- "mappings": "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",
20
- "debugId": "A2365124B281ED7A64756E2164756E21",
15
+ "mappings": "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",
16
+ "debugId": "44B55D48AAC192FC64756E2164756E21",
21
17
  "names": []
22
18
  }
@@ -0,0 +1,4 @@
1
+ import{A as e,B as T,C as U,D as V,E as W,F as X,G as Y,H as Z,I as n,J as _,K as $,L as tt,M as ot,N as rt,O as u,a as D,b as M,c as N,d as O,e as b,f as g,g as j,h as k,i as q,j as s,k as v,l as w,m as z,n as B,o as E,p as F,q as G,r as H,s as I,t as J,u as K,v as L,w as P,x as Q,y as S,z as r}from"./index-h31022cd.js";import{W as h,X as l,Y as y,Z as A,ca as C}from"./index-y71bxs88.js";function f(t){return{render:function(o){r(o,t)},unmount:function(){n(t)}}}function p(t,o){return e(o,t),f(t)}var R=u;export{U as version,F as useTransition,z as useSyncExternalStore,D as useState,b as useRef,M as useReducer,j as useMemo,O as useLayoutEffect,G as useInsertionEffect,g as useImperativeHandle,w as useId,v as useErrorBoundary,N as useEffect,E as useDeferredValue,s as useDebugValue,q as useContext,k as useCallback,$ as unstable_batchedUpdates,n as unmountComponentAtNode,B as startTransition,r as render,I as memo,P as lazy,W as isValidElement,Y as isMemo,X as isFragment,rt as isElement,p as hydrateRoot,e as hydrate,J as forwardRef,tt as flushSync,_ as findDOMNode,R as default,f as createRoot,l as createRef,S as createPortal,V as createFactory,h as createElement,C as createContext,Z as cloneElement,T as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Q as SuspenseList,L as Suspense,ot as StrictMode,H as PureComponent,y as Fragment,A as Component,K as Children};
2
+
3
+ //# debugId=268FD8A3AAB1D8C564756E2164756E21
4
+ //# sourceMappingURL=react-dom.js.map
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../js/node_modules/preact/compat/client.mjs", "../../js/packages/@reactpy/app/src/react-dom.ts"],
4
+ "sourcesContent": [
5
+ "import { render, hydrate, unmountComponentAtNode } from 'preact/compat';\n\nexport function createRoot(container) {\n\treturn {\n\t\t// eslint-disable-next-line\n\t\trender: function (children) {\n\t\t\trender(children, container);\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tunmount: function () {\n\t\t\tunmountComponentAtNode(container);\n\t\t}\n\t};\n}\n\nexport function hydrateRoot(container, children) {\n\thydrate(children, container);\n\treturn createRoot(container);\n}\n\nexport default {\n\tcreateRoot,\n\thydrateRoot\n};\n",
6
+ "import ReactDOM from \"preact/compat\";\n\n// @ts-ignore\nexport * from \"preact/compat\";\n\n// @ts-ignore\nexport * from \"preact/compat/client\";\n\nexport default ReactDOM;\n"
7
+ ],
8
+ "mappings": "8YAEO,GAAS,CAAU,CAAC,EAAW,CACrC,MAAO,CAEN,OAAQ,QAAS,CAAC,EAAU,CAC3B,EAAO,EAAU,CAAS,GAG3B,QAAS,QAAS,EAAG,CACpB,EAAuB,CAAS,EAElC,EAGM,SAAS,CAAW,CAAC,EAAW,EAAU,CAEhD,OADA,EAAQ,EAAU,CAAS,EACpB,EAAW,CAAS,ECT5B,IAAe",
9
+ "debugId": "268FD8A3AAB1D8C564756E2164756E21",
10
+ "names": []
11
+ }
@@ -0,0 +1,4 @@
1
+ import{P as f,Q as m,R as p,S as t}from"./index-sbddj6ms.js";import{Y as e}from"./index-y71bxs88.js";export{f as jsxs,m as jsxTemplate,t as jsxEscape,f as jsxDEV,p as jsxAttr,f as jsx,e as Fragment};
2
+
3
+ //# debugId=95B2A863FE6290C864756E2164756E21
4
+ //# sourceMappingURL=react-jsx-runtime.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "95B2A863FE6290C864756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,4 @@
1
+ import{A as J,B as K,C as L,D as M,E as N,F as O,G as P,H as Q,I as S,J as T,K as U,L as V,M as W,N as X,O as o,a as d,b as i,c as l,d as u,e as R,f as b,g,h,i as j,j as k,k as n,l as q,m as s,n as v,o as w,p as y,q as z,r as A,s as B,t as C,u as D,v as E,w as F,x as G,y as H,z as I}from"./index-h31022cd.js";import{W as m,X as p,Y as a,Z as x,ca as c}from"./index-y71bxs88.js";var f=o;export{L as version,y as useTransition,s as useSyncExternalStore,d as useState,R as useRef,i as useReducer,g as useMemo,u as useLayoutEffect,z as useInsertionEffect,b as useImperativeHandle,q as useId,n as useErrorBoundary,l as useEffect,w as useDeferredValue,k as useDebugValue,j as useContext,h as useCallback,U as unstable_batchedUpdates,S as unmountComponentAtNode,v as startTransition,I as render,B as memo,F as lazy,N as isValidElement,P as isMemo,O as isFragment,X as isElement,J as hydrate,C as forwardRef,V as flushSync,T as findDOMNode,f as default,p as createRef,H as createPortal,M as createFactory,m as createElement,c as createContext,Q as cloneElement,K as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,G as SuspenseList,E as Suspense,W as StrictMode,A as PureComponent,a as Fragment,x as Component,D as Children};
2
+
3
+ //# debugId=8D5FBD04CB59E99664756E2164756E21
4
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../js/packages/@reactpy/app/src/react.ts"],
4
+ "sourcesContent": [
5
+ "import React from \"preact/compat\";\n\n// @ts-ignore\nexport * from \"preact/compat\";\n\nexport default React;\n"
6
+ ],
7
+ "mappings": "iYAKA,FAAe",
8
+ "debugId": "8D5FBD04CB59E99664756E2164756E21",
9
+ "names": []
10
+ }
@@ -2,9 +2,10 @@ from __future__ import annotations
2
2
 
3
3
  import asyncio
4
4
  import logging
5
+ from collections.abc import Callable
5
6
  from contextlib import AsyncExitStack
6
7
  from types import TracebackType
7
- from typing import Any, Callable
8
+ from typing import Any
8
9
  from urllib.parse import urlencode, urlunparse
9
10
 
10
11
  import uvicorn
@@ -21,7 +22,7 @@ from reactpy.testing.logs import (
21
22
  list_logged_exceptions,
22
23
  )
23
24
  from reactpy.testing.utils import find_available_port
24
- from reactpy.types import ComponentConstructor, ReactPyConfig
25
+ from reactpy.types import ComponentConstructor
25
26
  from reactpy.utils import Ref
26
27
 
27
28
 
@@ -47,7 +48,7 @@ class BackendFixture:
47
48
  host: str = "127.0.0.1",
48
49
  port: int | None = None,
49
50
  timeout: float | None = None,
50
- reactpy_config: ReactPyConfig | None = None,
51
+ **reactpy_config: Any,
51
52
  ) -> None:
52
53
  self.host = host
53
54
  self.port = port or find_available_port(host)
@@ -61,12 +62,12 @@ class BackendFixture:
61
62
  self._app = ReactPyMiddleware(
62
63
  app,
63
64
  root_components=["reactpy.testing.backend.root_hotswap_component"],
64
- **(reactpy_config or {}),
65
+ **reactpy_config,
65
66
  )
66
67
  else:
67
68
  self._app = ReactPy(
68
69
  root_hotswap_component,
69
- **(reactpy_config or {}),
70
+ **reactpy_config,
70
71
  )
71
72
  self.webserver = uvicorn.Server(
72
73
  uvicorn.Config(
reactpy/testing/common.py CHANGED
@@ -5,14 +5,12 @@ import inspect
5
5
  import os
6
6
  import shutil
7
7
  import time
8
- from collections.abc import Awaitable, Coroutine
8
+ from collections.abc import Awaitable, Callable, Coroutine
9
9
  from functools import wraps
10
- from typing import Any, Callable, Generic, TypeVar, cast
10
+ from typing import Any, Generic, ParamSpec, TypeVar, cast
11
11
  from uuid import uuid4
12
12
  from weakref import ref
13
13
 
14
- from typing_extensions import ParamSpec
15
-
16
14
  from reactpy.config import REACTPY_TESTS_DEFAULT_TIMEOUT, REACTPY_WEB_MODULES_DIR
17
15
  from reactpy.core._life_cycle_hook import HOOK_STACK, LifeCycleHook
18
16
  from reactpy.core.events import EventHandler, to_event_handler_function
@@ -71,7 +69,7 @@ class poll(Generic[_R]): # noqa: N801
71
69
  break
72
70
  elif (time.time() - started_at) > timeout: # nocov
73
71
  msg = f"Expected {description} after {timeout} seconds - last value was {result!r}"
74
- raise asyncio.TimeoutError(msg)
72
+ raise TimeoutError(msg)
75
73
 
76
74
  async def until_is(
77
75
  self,
@@ -57,7 +57,8 @@ class DisplayFixture:
57
57
  self.page = await browser.new_page()
58
58
 
59
59
  self.page.set_default_timeout(REACTPY_TESTS_DEFAULT_TIMEOUT.current * 1000)
60
-
60
+ self.page.on("console", lambda msg: print(f"BROWSER CONSOLE: {msg.text}")) # noqa: T201
61
+ self.page.on("pageerror", lambda exc: print(f"BROWSER ERROR: {exc}")) # noqa: T201
61
62
  if not hasattr(self, "backend"): # nocov
62
63
  self.backend = BackendFixture()
63
64
  await es.enter_async_context(self.backend)
reactpy/testing/logs.py CHANGED
@@ -175,4 +175,4 @@ def _raise_log_message_error(
175
175
  conditions.append(f"exception type {error_type}")
176
176
  if match_error:
177
177
  conditions.append(f"error message pattern {match_error!r}")
178
- raise LogAssertionError(prefix + " " + " and ".join(conditions))
178
+ raise LogAssertionError(f"{prefix} " + " and ".join(conditions))
reactpy/transforms.py CHANGED
@@ -113,8 +113,8 @@ class RequiredTransforms:
113
113
  if key is None and vdom["tagName"] in {"input", "select", "textarea"}:
114
114
  key = attributes.get("name")
115
115
 
116
- if key:
117
- vdom["key"] = key
116
+ if key and "key" not in attributes:
117
+ attributes["key"] = key
118
118
 
119
119
  def intercept_link_clicks(self, vdom: VdomDict) -> None:
120
120
  """Intercepts anchor link clicks and prevents the default behavior.