reactpy 2.0.0b3__tar.gz → 2.0.0b4__tar.gz

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 (124) hide show
  1. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/PKG-INFO +1 -1
  2. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/pyproject.toml +1 -4
  3. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/build_scripts/copy_dir.py +0 -1
  4. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/__init__.py +2 -5
  5. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/events.py +0 -12
  6. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/hooks.py +6 -0
  7. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/layout.py +1 -1
  8. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/serve.py +3 -22
  9. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/pyscript/utils.py +1 -7
  10. reactpy-2.0.0b4/src/reactpy/static/index.js +4 -0
  11. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/index.js.map +5 -5
  12. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/types.py +16 -0
  13. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/web/module.py +78 -0
  14. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/widgets.py +3 -25
  15. reactpy-2.0.0b3/src/reactpy/static/index.js +0 -4
  16. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/.gitignore +0 -0
  17. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/LICENSE +0 -0
  18. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/README.md +0 -0
  19. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/build_scripts/clean_js_dir.py +0 -0
  20. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/js/.gitignore +0 -0
  21. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/js/bun.lockb +0 -0
  22. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/js/eslint.config.mjs +0 -0
  23. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/js/package.json +0 -0
  24. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/js/tsconfig.json +0 -0
  25. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_console/__init__.py +0 -0
  26. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_console/ast_utils.py +0 -0
  27. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_console/cli.py +0 -0
  28. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_console/rewrite_keys.py +0 -0
  29. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_console/rewrite_props.py +0 -0
  30. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_html.py +0 -0
  31. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_option.py +0 -0
  32. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/_warnings.py +0 -0
  33. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/config.py +0 -0
  34. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/__init__.py +0 -0
  35. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/_f_back.py +0 -0
  36. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/_life_cycle_hook.py +0 -0
  37. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/_thread_local.py +0 -0
  38. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/component.py +0 -0
  39. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/core/vdom.py +0 -0
  40. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/__init__.py +0 -0
  41. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/asgi/__init__.py +0 -0
  42. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/asgi/middleware.py +0 -0
  43. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/asgi/pyscript.py +0 -0
  44. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/asgi/standalone.py +0 -0
  45. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/asgi/types.py +0 -0
  46. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/executors/utils.py +0 -0
  47. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/logging.py +0 -0
  48. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/py.typed +0 -0
  49. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/pyscript/__init__.py +0 -0
  50. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/pyscript/component_template.py +0 -0
  51. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/pyscript/components.py +0 -0
  52. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/pyscript/layout_handler.py +0 -0
  53. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/morphdom/morphdom-esm.js +0 -0
  54. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/morphdom/morphdom-factory.js +0 -0
  55. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/morphdom/morphdom-umd.js +0 -0
  56. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/morphdom/morphdom-umd.min.js +0 -0
  57. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/morphdom/morphdom.js +0 -0
  58. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror-BYspKCDy.js +0 -0
  59. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror-BYspKCDy.js.map +0 -0
  60. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_commands-BLDaEdQ6.js +0 -0
  61. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_commands-BLDaEdQ6.js.map +0 -0
  62. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_lang-python-CkOVBHci.js +0 -0
  63. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_lang-python-CkOVBHci.js.map +0 -0
  64. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_language-DOkvasqm.js +0 -0
  65. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_language-DOkvasqm.js.map +0 -0
  66. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_state-BIAL8JKm.js +0 -0
  67. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_state-BIAL8JKm.js.map +0 -0
  68. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_view-Bt4sLgyA.js +0 -0
  69. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/codemirror_view-Bt4sLgyA.js.map +0 -0
  70. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/core-PTfg6inS.js +0 -0
  71. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/core-PTfg6inS.js.map +0 -0
  72. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/core.css +0 -0
  73. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/core.js +0 -0
  74. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/core.js.map +0 -0
  75. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/deprecations-manager-DIDxhyRq.js +0 -0
  76. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/deprecations-manager-DIDxhyRq.js.map +0 -0
  77. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/donkey-CLhmQOjG.js +0 -0
  78. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/donkey-CLhmQOjG.js.map +0 -0
  79. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/error-uzvvriog.js +0 -0
  80. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/error-uzvvriog.js.map +0 -0
  81. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/index-jZ1aOVVJ.js +0 -0
  82. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/index-jZ1aOVVJ.js.map +0 -0
  83. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/mpy-CnF17tqI.js +0 -0
  84. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/mpy-CnF17tqI.js.map +0 -0
  85. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-BZSSqcx3.js +0 -0
  86. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-BZSSqcx3.js.map +0 -0
  87. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-editor-DZ0Dxzzk.js +0 -0
  88. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-editor-DZ0Dxzzk.js.map +0 -0
  89. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-game-bqieV522.js +0 -0
  90. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-game-bqieV522.js.map +0 -0
  91. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-terminal-DYY4WN57.js +0 -0
  92. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/py-terminal-DYY4WN57.js.map +0 -0
  93. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/service-worker.js +0 -0
  94. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/storage.js +0 -0
  95. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/storage.js.map +0 -0
  96. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/toml-BK2RWy-G.js +0 -0
  97. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/toml-BK2RWy-G.js.map +0 -0
  98. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/toml-Blg7Izee.js +0 -0
  99. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/toml-Blg7Izee.js.map +0 -0
  100. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm-DrSYbXEP.js +0 -0
  101. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm-DrSYbXEP.js.map +0 -0
  102. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm-readline-CK_45Ygx.js +0 -0
  103. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm-readline-CK_45Ygx.js.map +0 -0
  104. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm.css +0 -0
  105. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm_addon-fit--gyF3PcZ.js +0 -0
  106. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm_addon-fit--gyF3PcZ.js.map +0 -0
  107. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm_addon-web-links-D95xh2la.js +0 -0
  108. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/xterm_addon-web-links-D95xh2la.js.map +0 -0
  109. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/zip-pccs084i.js +0 -0
  110. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript/zip-pccs084i.js.map +0 -0
  111. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/static/pyscript-hide-debug.css +0 -0
  112. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/templatetags/__init__.py +0 -0
  113. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/templatetags/jinja.py +0 -0
  114. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/__init__.py +0 -0
  115. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/backend.py +0 -0
  116. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/common.py +0 -0
  117. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/display.py +0 -0
  118. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/logs.py +0 -0
  119. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/testing/utils.py +0 -0
  120. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/transforms.py +0 -0
  121. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/utils.py +0 -0
  122. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/web/__init__.py +0 -0
  123. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/web/templates/react.js +0 -0
  124. {reactpy-2.0.0b3 → reactpy-2.0.0b4}/src/reactpy/web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reactpy
3
- Version: 2.0.0b3
3
+ Version: 2.0.0b4
4
4
  Summary: It's React, but in Python.
5
5
  Project-URL: Changelog, https://reactpy.dev/docs/about/changelog.html
6
6
  Project-URL: Documentation, https://reactpy.dev/
@@ -98,10 +98,7 @@ features = ["all"]
98
98
  python = ["3.10", "3.11", "3.12", "3.13"]
99
99
 
100
100
  [tool.pytest.ini_options]
101
- addopts = """\
102
- --strict-config
103
- --strict-markers
104
- """
101
+ addopts = ["--strict-config", "--strict-markers"]
105
102
  filterwarnings = """
106
103
  ignore::DeprecationWarning:uvicorn.*
107
104
  ignore::DeprecationWarning:websockets.*
@@ -3,7 +3,6 @@
3
3
  # dependencies = []
4
4
  # ///
5
5
 
6
- # ruff: noqa: INP001
7
6
  import logging
8
7
  import shutil
9
8
  import sys
@@ -2,7 +2,7 @@ from reactpy import config, logging, types, web, widgets
2
2
  from reactpy._html import html
3
3
  from reactpy.core import hooks
4
4
  from reactpy.core.component import component
5
- from reactpy.core.events import Event, event
5
+ from reactpy.core.events import event
6
6
  from reactpy.core.hooks import (
7
7
  create_context,
8
8
  use_async_effect,
@@ -18,17 +18,14 @@ from reactpy.core.hooks import (
18
18
  use_scope,
19
19
  use_state,
20
20
  )
21
- from reactpy.core.layout import Layout
22
21
  from reactpy.core.vdom import Vdom
23
22
  from reactpy.pyscript.components import pyscript_component
24
23
  from reactpy.utils import Ref, reactpy_to_string, string_to_reactpy
25
24
 
26
25
  __author__ = "The Reactive Python Team"
27
- __version__ = "2.0.0b3"
26
+ __version__ = "2.0.0b4"
28
27
 
29
28
  __all__ = [
30
- "Event",
31
- "Layout",
32
29
  "Ref",
33
30
  "Vdom",
34
31
  "component",
@@ -73,18 +73,6 @@ def event(
73
73
  return setup(function) if function is not None else setup
74
74
 
75
75
 
76
- class Event(dict):
77
- def __getattr__(self, name: str) -> Any:
78
- value = self.get(name)
79
- return Event(value) if isinstance(value, dict) else value
80
-
81
- def preventDefault(self) -> None:
82
- """Prevent the default action of the event."""
83
-
84
- def stopPropagation(self) -> None:
85
- """Stop the event from propagating."""
86
-
87
-
88
76
  class EventHandler:
89
77
  """Turn a function or coroutine into an event handler
90
78
 
@@ -146,6 +146,12 @@ def use_effect(
146
146
  Returns:
147
147
  If not function is provided, a decorator. Otherwise ``None``.
148
148
  """
149
+ if asyncio.iscoroutinefunction(function):
150
+ raise TypeError(
151
+ "`use_effect` does not support async functions. "
152
+ "Use `use_async_effect` instead."
153
+ )
154
+
149
155
  hook = HOOK_STACK.current_hook()
150
156
  dependencies = _try_to_infer_closure_values(function, dependencies)
151
157
  memoize = use_memo(dependencies=dependencies)
@@ -36,11 +36,11 @@ from reactpy.config import (
36
36
  REACTPY_DEBUG,
37
37
  )
38
38
  from reactpy.core._life_cycle_hook import LifeCycleHook
39
- from reactpy.core.events import Event
40
39
  from reactpy.core.vdom import validate_vdom_json
41
40
  from reactpy.types import (
42
41
  ComponentType,
43
42
  Context,
43
+ Event,
44
44
  EventHandlerDict,
45
45
  Key,
46
46
  LayoutEventMessage,
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
  from collections.abc import Awaitable
4
4
  from logging import getLogger
5
5
  from typing import Any, Callable
6
- from warnings import warn
7
6
 
8
7
  from anyio import create_task_group
9
8
  from anyio.abc import TaskGroup
@@ -25,16 +24,6 @@ The event will then trigger an :class:`reactpy.core.proto.EventHandlerType` in a
25
24
  """
26
25
 
27
26
 
28
- class Stop(BaseException):
29
- """Deprecated
30
-
31
- Stop serving changes and events
32
-
33
- Raising this error will tell dispatchers to gracefully exit. Typically this is
34
- called by code running inside a layout to tell it to stop rendering.
35
- """
36
-
37
-
38
27
  async def serve_layout(
39
28
  layout: LayoutType[
40
29
  LayoutUpdateMessage | dict[str, Any], LayoutEventMessage | dict[str, Any]
@@ -44,17 +33,9 @@ async def serve_layout(
44
33
  ) -> None:
45
34
  """Run a dispatch loop for a single view instance"""
46
35
  async with layout:
47
- try:
48
- async with create_task_group() as task_group:
49
- task_group.start_soon(_single_outgoing_loop, layout, send)
50
- task_group.start_soon(_single_incoming_loop, task_group, layout, recv)
51
- except Stop: # nocov
52
- warn(
53
- "The Stop exception is deprecated and will be removed in a future version",
54
- UserWarning,
55
- stacklevel=1,
56
- )
57
- logger.info(f"Stopped serving {layout}")
36
+ async with create_task_group() as task_group:
37
+ task_group.start_soon(_single_outgoing_loop, layout, send)
38
+ task_group.start_soon(_single_incoming_loop, task_group, layout, recv)
58
39
 
59
40
 
60
41
  async def _single_outgoing_loop(
@@ -13,8 +13,6 @@ from pathlib import Path
13
13
  from typing import TYPE_CHECKING, Any
14
14
  from uuid import uuid4
15
15
 
16
- import jsonpointer
17
-
18
16
  import reactpy
19
17
  from reactpy.config import REACTPY_DEBUG, REACTPY_PATH_PREFIX, REACTPY_WEB_MODULES_DIR
20
18
  from reactpy.types import VdomDict
@@ -116,11 +114,7 @@ def extend_pyscript_config(
116
114
 
117
115
  # Extends ReactPy's default PyScript config with user provided values.
118
116
  pyscript_config: dict[str, Any] = {
119
- "packages": [
120
- reactpy_version_string(),
121
- f"jsonpointer=={jsonpointer.__version__}",
122
- "ssl",
123
- ],
117
+ "packages": [reactpy_version_string(), "jsonpointer==3.*", "ssl"],
124
118
  "js_modules": {
125
119
  "main": {
126
120
  f"{REACTPY_PATH_PREFIX.current}static/morphdom/morphdom-esm.js": "morphdom"
@@ -0,0 +1,4 @@
1
+ var C1=Object.create;var{getPrototypeOf:N1,defineProperty:I0,getOwnPropertyNames:S1}=Object;var g1=Object.prototype.hasOwnProperty;var j1=(X,Y,Z)=>{Z=X!=null?C1(N1(X)):{};let K=Y||!X||!X.__esModule?I0(Z,"default",{value:X,enumerable:!0}):Z;for(let Q of S1(X))if(!g1.call(K,Q))I0(K,Q,{get:()=>X[Q],enumerable:!0});return K};var C0=(X,Y)=>()=>(Y||X((Y={exports:{}}).exports,Y),Y.exports);var u0=C0((N4,i0)=>{var c1=Object.prototype.hasOwnProperty,s1=Object.prototype.toString;i0.exports=function(Y,Z,K){if(s1.call(Z)!=="[object Function]")throw TypeError("iterator must be a function");var Q=Y.length;if(Q===+Q)for(var G=0;G<Q;G++)Z.call(K,Y[G],G,Y);else for(var W in Y)if(c1.call(Y,W))Z.call(K,Y[W],W,Y)}});var r0=C0((S4,l0)=>{var p1=u0();l0.exports=B;function B(X,Y,Z){if(arguments.length===3)return B.set(X,Y,Z);if(arguments.length===2)return B.get(X,Y);var K=B.bind(B,X);for(var Q in B)if(B.hasOwnProperty(Q))K[Q]=B[Q].bind(K,X);return K}B.get=function(Y,Z){var K=Array.isArray(Z)?Z:B.parse(Z);for(var Q=0;Q<K.length;++Q){var G=K[Q];if(!(typeof Y=="object"&&(G in Y)))throw Error("Invalid reference token: "+G);Y=Y[G]}return Y};B.set=function(Y,Z,K){var Q=Array.isArray(Z)?Z:B.parse(Z),G=Q[0];if(Q.length===0)throw Error("Can not set the root object");for(var W=0;W<Q.length-1;++W){var q=Q[W];if(typeof q!=="string"&&typeof q!=="number")q=String(q);if(q==="__proto__"||q==="constructor"||q==="prototype")continue;if(q==="-"&&Array.isArray(Y))q=Y.length;if(G=Q[W+1],!(q in Y))if(G.match(/^(\d+|-)$/))Y[q]=[];else Y[q]={};Y=Y[q]}if(G==="-"&&Array.isArray(Y))G=Y.length;return Y[G]=K,this};B.remove=function(X,Y){var Z=Array.isArray(Y)?Y:B.parse(Y),K=Z[Z.length-1];if(K===void 0)throw Error('Invalid JSON pointer for remove: "'+Y+'"');var Q=B.get(X,Z.slice(0,-1));if(Array.isArray(Q)){var G=+K;if(K===""&&isNaN(G))throw Error('Invalid array index: "'+K+'"');Array.prototype.splice.call(Q,G,1)}else delete Q[K]};B.dict=function(Y,Z){var K={};return B.walk(Y,function(Q,G){K[G]=Q},Z),K};B.walk=function(Y,Z,K){var Q=[];K=K||function(G){var W=Object.prototype.toString.call(G);return W==="[object Object]"||W==="[object Array]"},function G(W){p1(W,function(q,F){if(Q.push(String(F)),K(q))G(q);else Z(q,B.compile(Q));Q.pop()})}(Y)};B.has=function(Y,Z){try{B.get(Y,Z)}catch(K){return!1}return!0};B.escape=function(Y){return Y.toString().replace(/~/g,"~0").replace(/\//g,"~1")};B.unescape=function(Y){return Y.replace(/~1/g,"/").replace(/~0/g,"~")};B.parse=function(Y){if(Y==="")return[];if(Y.charAt(0)!=="/")throw Error("Invalid JSON pointer: "+Y);return Y.substring(1).split(/\//).map(B.unescape)};B.compile=function(Y){if(Y.length===0)return"";return"/"+Y.map(B.escape).join("/")}});var M={log:(...X)=>console.log("[ReactPy]",...X),info:(...X)=>console.info("[ReactPy]",...X),warn:(...X)=>console.warn("[ReactPy]",...X),error:(...X)=>console.error("[ReactPy]",...X)};function N0(X){let{interval:Y,maxInterval:Z,maxRetries:K,backoffMultiplier:Q}=X,G=0,W=Y,q=!1,F=!1,$={},z=()=>{if(F)return;$.current=new WebSocket(X.url),$.current.onopen=()=>{if(q=!0,M.info("Connected!"),W=Y,G=0,X.onOpen)X.onOpen()},$.current.onmessage=(J)=>{if(X.onMessage)X.onMessage(J)},$.current.onclose=()=>{if(X.onClose)X.onClose();if(!q){M.info("Failed to connect!");return}if(M.info("Disconnected!"),G>=K){M.info("Connection max retries exhausted!");return}M.info(`Reconnecting in ${(W/1000).toPrecision(4)} seconds...`),setTimeout(z,W),W=y1(W,Q,Z),G++}};return X.readyPromise.then(()=>M.info("Starting client...")).then(z),$}function y1(X,Y,Z){return Math.min(X*Y,Z)}class S0{handlers={};ready;resolveReady;constructor(){this.resolveReady=()=>{},this.ready=new Promise((X)=>this.resolveReady=X)}onMessage(X,Y){return(this.handlers[X]||(this.handlers[X]=[])).push(Y),this.resolveReady(void 0),()=>{this.handlers[X]=this.handlers[X].filter((Z)=>Z!==Y)}}handleIncoming(X){if(!X.type){M.warn("Received message without type",X);return}let Y=this.handlers[X.type];if(!Y){M.warn("Received message without handler",X);return}Y.forEach((Z)=>Z(X))}}class F0 extends S0{urls;socket;mountElement;constructor(X){super();this.urls=X.urls,this.mountElement=X.mountElement,this.socket=N0({url:this.urls.componentUrl,readyPromise:this.ready,...X.reconnectOptions,onMessage:async({data:Y})=>this.handleIncoming(JSON.parse(Y))})}sendMessage(X){this.socket.current?.send(JSON.stringify(X))}loadModule(X){return import(`${this.urls.jsModulesPath}${X}`)}}var n,H,b0,b1,b,g0,f0,v0,x0,B0,H0,z0,k0,s={},h0=[],f1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,p=Array.isArray;function C(X,Y){for(var Z in Y)X[Z]=Y[Z];return X}function w0(X){X&&X.parentNode&&X.parentNode.removeChild(X)}function S(X,Y,Z){var K,Q,G,W={};for(G in Y)G=="key"?K=Y[G]:G=="ref"?Q=Y[G]:W[G]=Y[G];if(arguments.length>2&&(W.children=arguments.length>3?n.call(arguments,2):Z),typeof X=="function"&&X.defaultProps!=null)for(G in X.defaultProps)W[G]===void 0&&(W[G]=X.defaultProps[G]);return o(X,W,K,Q,null)}function o(X,Y,Z,K,Q){var G={type:X,props:Y,key:Z,ref:K,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:Q==null?++b0:Q,__i:-1,__u:0};return Q==null&&H.vnode!=null&&H.vnode(G),G}function E(X){return X.children}function T(X,Y){this.props=X,this.context=Y}function x(X,Y){if(Y==null)return X.__?x(X.__,X.__i+1):null;for(var Z;Y<X.__k.length;Y++)if((Z=X.__k[Y])!=null&&Z.__e!=null)return Z.__e;return typeof X.type=="function"?x(X):null}function d0(X){var Y,Z;if((X=X.__)!=null&&X.__c!=null){for(X.__e=X.__c.base=null,Y=0;Y<X.__k.length;Y++)if((Z=X.__k[Y])!=null&&Z.__e!=null){X.__e=X.__c.base=Z.__e;break}return d0(X)}}function V0(X){(!X.__d&&(X.__d=!0)&&b.push(X)&&!t.__r++||g0!=H.debounceRendering)&&((g0=H.debounceRendering)||f0)(t)}function t(){for(var X,Y,Z,K,Q,G,W,q=1;b.length;)b.length>q&&b.sort(v0),X=b.shift(),q=b.length,X.__d&&(Z=void 0,K=void 0,Q=(K=(Y=X).__v).__e,G=[],W=[],Y.__P&&((Z=C({},K)).__v=K.__v+1,H.vnode&&H.vnode(Z),U0(Y.__P,Z,K,Y.__n,Y.__P.namespaceURI,32&K.__u?[Q]:null,G,Q==null?x(K):Q,!!(32&K.__u),W),Z.__v=K.__v,Z.__.__k[Z.__i]=Z,s0(G,Z,W),K.__e=K.__=null,Z.__e!=Q&&d0(Z)));t.__r=0}function m0(X,Y,Z,K,Q,G,W,q,F,$,z){var J,A,V,P,D,O,U,w=K&&K.__k||h0,N=Y.length;for(F=v1(Z,Y,w,F,N),J=0;J<N;J++)(V=Z.__k[J])!=null&&(A=V.__i==-1?s:w[V.__i]||s,V.__i=J,O=U0(X,V,A,Q,G,W,q,F,$,z),P=V.__e,V.ref&&A.ref!=V.ref&&(A.ref&&R0(A.ref,null,V),z.push(V.ref,V.__c||P,V)),D==null&&P!=null&&(D=P),(U=!!(4&V.__u))||A.__k===V.__k?F=c0(V,F,X,U):typeof V.type=="function"&&O!==void 0?F=O:P&&(F=P.nextSibling),V.__u&=-7);return Z.__e=D,F}function v1(X,Y,Z,K,Q){var G,W,q,F,$,z=Z.length,J=z,A=0;for(X.__k=Array(Q),G=0;G<Q;G++)(W=Y[G])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=X.__k[G]=o(null,W,null,null,null):p(W)?W=X.__k[G]=o(E,{children:W},null,null,null):W.constructor==null&&W.__b>0?W=X.__k[G]=o(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):X.__k[G]=W,F=G+A,W.__=X,W.__b=X.__b+1,($=W.__i=x1(W,Z,F,J))!=-1&&(J--,(q=Z[$])&&(q.__u|=2)),q==null||q.__v==null?($==-1&&(Q>z?A--:Q<z&&A++),typeof W.type!="function"&&(W.__u|=4)):$!=F&&($==F-1?A--:$==F+1?A++:($>F?A--:A++,W.__u|=4))):X.__k[G]=null;if(J)for(G=0;G<z;G++)(q=Z[G])!=null&&(2&q.__u)==0&&(q.__e==K&&(K=x(q)),a0(q,q));return K}function c0(X,Y,Z,K){var Q,G;if(typeof X.type=="function"){for(Q=X.__k,G=0;Q&&G<Q.length;G++)Q[G]&&(Q[G].__=X,Y=c0(Q[G],Y,Z,K));return Y}X.__e!=Y&&(K&&(Y&&X.type&&!Y.parentNode&&(Y=x(X)),Z.insertBefore(X.__e,Y||null)),Y=X.__e);do Y=Y&&Y.nextSibling;while(Y!=null&&Y.nodeType==8);return Y}function a(X,Y){return Y=Y||[],X==null||typeof X=="boolean"||(p(X)?X.some(function(Z){a(Z,Y)}):Y.push(X)),Y}function x1(X,Y,Z,K){var Q,G,W,q=X.key,F=X.type,$=Y[Z],z=$!=null&&(2&$.__u)==0;if($===null&&q==null||z&&q==$.key&&F==$.type)return Z;if(K>(z?1:0)){for(Q=Z-1,G=Z+1;Q>=0||G<Y.length;)if(($=Y[W=Q>=0?Q--:G++])!=null&&(2&$.__u)==0&&q==$.key&&F==$.type)return W}return-1}function j0(X,Y,Z){Y[0]=="-"?X.setProperty(Y,Z==null?"":Z):X[Y]=Z==null?"":typeof Z!="number"||f1.test(Y)?Z:Z+"px"}function r(X,Y,Z,K,Q){var G,W;X:if(Y=="style")if(typeof Z=="string")X.style.cssText=Z;else{if(typeof K=="string"&&(X.style.cssText=K=""),K)for(Y in K)Z&&Y in Z||j0(X.style,Y,"");if(Z)for(Y in Z)K&&Z[Y]==K[Y]||j0(X.style,Y,Z[Y])}else if(Y[0]=="o"&&Y[1]=="n")G=Y!=(Y=Y.replace(x0,"$1")),W=Y.toLowerCase(),Y=W in X||Y=="onFocusOut"||Y=="onFocusIn"?W.slice(2):Y.slice(2),X.l||(X.l={}),X.l[Y+G]=Z,Z?K?Z.u=K.u:(Z.u=B0,X.addEventListener(Y,G?z0:H0,G)):X.removeEventListener(Y,G?z0:H0,G);else{if(Q=="http://www.w3.org/2000/svg")Y=Y.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(Y!="width"&&Y!="height"&&Y!="href"&&Y!="list"&&Y!="form"&&Y!="tabIndex"&&Y!="download"&&Y!="rowSpan"&&Y!="colSpan"&&Y!="role"&&Y!="popover"&&Y in X)try{X[Y]=Z==null?"":Z;break X}catch(q){}typeof Z=="function"||(Z==null||Z===!1&&Y[4]!="-"?X.removeAttribute(Y):X.setAttribute(Y,Y=="popover"&&Z==1?"":Z))}}function y0(X){return function(Y){if(this.l){var Z=this.l[Y.type+X];if(Y.t==null)Y.t=B0++;else if(Y.t<Z.u)return;return Z(H.event?H.event(Y):Y)}}}function U0(X,Y,Z,K,Q,G,W,q,F,$){var z,J,A,V,P,D,O,U,w,N,y,u,m,T0,l,c,$0,I=Y.type;if(Y.constructor!=null)return null;128&Z.__u&&(F=!!(32&Z.__u),G=[q=Y.__e=Z.__e]),(z=H.__b)&&z(Y);X:if(typeof I=="function")try{if(U=Y.props,w="prototype"in I&&I.prototype.render,N=(z=I.contextType)&&K[z.__c],y=z?N?N.props.value:z.__:K,Z.__c?O=(J=Y.__c=Z.__c).__=J.__E:(w?Y.__c=J=new I(U,y):(Y.__c=J=new T(U,y),J.constructor=I,J.render=h1),N&&N.sub(J),J.state||(J.state={}),J.__n=K,A=J.__d=!0,J.__h=[],J._sb=[]),w&&J.__s==null&&(J.__s=J.state),w&&I.getDerivedStateFromProps!=null&&(J.__s==J.state&&(J.__s=C({},J.__s)),C(J.__s,I.getDerivedStateFromProps(U,J.__s))),V=J.props,P=J.state,J.__v=Y,A)w&&I.getDerivedStateFromProps==null&&J.componentWillMount!=null&&J.componentWillMount(),w&&J.componentDidMount!=null&&J.__h.push(J.componentDidMount);else{if(w&&I.getDerivedStateFromProps==null&&U!==V&&J.componentWillReceiveProps!=null&&J.componentWillReceiveProps(U,y),Y.__v==Z.__v||!J.__e&&J.shouldComponentUpdate!=null&&J.shouldComponentUpdate(U,J.__s,y)===!1){for(Y.__v!=Z.__v&&(J.props=U,J.state=J.__s,J.__d=!1),Y.__e=Z.__e,Y.__k=Z.__k,Y.__k.some(function(v){v&&(v.__=Y)}),u=0;u<J._sb.length;u++)J.__h.push(J._sb[u]);J._sb=[],J.__h.length&&W.push(J);break X}J.componentWillUpdate!=null&&J.componentWillUpdate(U,J.__s,y),w&&J.componentDidUpdate!=null&&J.__h.push(function(){J.componentDidUpdate(V,P,D)})}if(J.context=y,J.props=U,J.__P=X,J.__e=!1,m=H.__r,T0=0,w){for(J.state=J.__s,J.__d=!1,m&&m(Y),z=J.render(J.props,J.state,J.context),l=0;l<J._sb.length;l++)J.__h.push(J._sb[l]);J._sb=[]}else do J.__d=!1,m&&m(Y),z=J.render(J.props,J.state,J.context),J.state=J.__s;while(J.__d&&++T0<25);J.state=J.__s,J.getChildContext!=null&&(K=C(C({},K),J.getChildContext())),w&&!A&&J.getSnapshotBeforeUpdate!=null&&(D=J.getSnapshotBeforeUpdate(V,P)),c=z,z!=null&&z.type===E&&z.key==null&&(c=p0(z.props.children)),q=m0(X,p(c)?c:[c],Y,Z,K,Q,G,W,q,F,$),J.base=Y.__e,Y.__u&=-161,J.__h.length&&W.push(J),O&&(J.__E=J.__=null)}catch(v){if(Y.__v=null,F||G!=null)if(v.then){for(Y.__u|=F?160:128;q&&q.nodeType==8&&q.nextSibling;)q=q.nextSibling;G[G.indexOf(q)]=null,Y.__e=q}else{for($0=G.length;$0--;)w0(G[$0]);A0(Y)}else Y.__e=Z.__e,Y.__k=Z.__k,v.then||A0(Y);H.__e(v,Y,Z)}else G==null&&Y.__v==Z.__v?(Y.__k=Z.__k,Y.__e=Z.__e):q=Y.__e=k1(Z.__e,Y,Z,K,Q,G,W,F,$);return(z=H.diffed)&&z(Y),128&Y.__u?void 0:q}function A0(X){X&&X.__c&&(X.__c.__e=!0),X&&X.__k&&X.__k.forEach(A0)}function s0(X,Y,Z){for(var K=0;K<Z.length;K++)R0(Z[K],Z[++K],Z[++K]);H.__c&&H.__c(Y,X),X.some(function(Q){try{X=Q.__h,Q.__h=[],X.some(function(G){G.call(Q)})}catch(G){H.__e(G,Q.__v)}})}function p0(X){return typeof X!="object"||X==null||X.__b&&X.__b>0?X:p(X)?X.map(p0):C({},X)}function k1(X,Y,Z,K,Q,G,W,q,F){var $,z,J,A,V,P,D,O=Z.props||s,U=Y.props,w=Y.type;if(w=="svg"?Q="http://www.w3.org/2000/svg":w=="math"?Q="http://www.w3.org/1998/Math/MathML":Q||(Q="http://www.w3.org/1999/xhtml"),G!=null){for($=0;$<G.length;$++)if((V=G[$])&&"setAttribute"in V==!!w&&(w?V.localName==w:V.nodeType==3)){X=V,G[$]=null;break}}if(X==null){if(w==null)return document.createTextNode(U);X=document.createElementNS(Q,w,U.is&&U),q&&(H.__m&&H.__m(Y,G),q=!1),G=null}if(w==null)O===U||q&&X.data==U||(X.data=U);else{if(G=G&&n.call(X.childNodes),!q&&G!=null)for(O={},$=0;$<X.attributes.length;$++)O[(V=X.attributes[$]).name]=V.value;for($ in O)if(V=O[$],$=="children");else if($=="dangerouslySetInnerHTML")J=V;else if(!($ in U)){if($=="value"&&"defaultValue"in U||$=="checked"&&"defaultChecked"in U)continue;r(X,$,null,V,Q)}for($ in U)V=U[$],$=="children"?A=V:$=="dangerouslySetInnerHTML"?z=V:$=="value"?P=V:$=="checked"?D=V:q&&typeof V!="function"||O[$]===V||r(X,$,V,O[$],Q);if(z)q||J&&(z.__html==J.__html||z.__html==X.innerHTML)||(X.innerHTML=z.__html),Y.__k=[];else if(J&&(X.innerHTML=""),m0(Y.type=="template"?X.content:X,p(A)?A:[A],Y,Z,K,w=="foreignObject"?"http://www.w3.org/1999/xhtml":Q,G,W,G?G[0]:Z.__k&&x(Z,0),q,F),G!=null)for($=G.length;$--;)w0(G[$]);q||($="value",w=="progress"&&P==null?X.removeAttribute("value"):P!=null&&(P!==X[$]||w=="progress"&&!P||w=="option"&&P!=O[$])&&r(X,$,P,O[$],Q),$="checked",D!=null&&D!=X[$]&&r(X,$,D,O[$],Q))}return X}function R0(X,Y,Z){try{if(typeof X=="function"){var K=typeof X.__u=="function";K&&X.__u(),K&&Y==null||(X.__u=X(Y))}else X.current=Y}catch(Q){H.__e(Q,Z)}}function a0(X,Y,Z){var K,Q;if(H.unmount&&H.unmount(X),(K=X.ref)&&(K.current&&K.current!=X.__e||R0(K,null,Y)),(K=X.__c)!=null){if(K.componentWillUnmount)try{K.componentWillUnmount()}catch(G){H.__e(G,Y)}K.base=K.__P=null}if(K=X.__k)for(Q=0;Q<K.length;Q++)K[Q]&&a0(K[Q],Y,Z||typeof X.type!="function");Z||w0(X.__e),X.__c=X.__=X.__e=void 0}function h1(X,Y,Z){return this.constructor(X,Z)}function L0(X,Y,Z){var K,Q,G,W;Y==document&&(Y=document.documentElement),H.__&&H.__(X,Y),Q=(K=typeof Z=="function")?null:Z&&Z.__k||Y.__k,G=[],W=[],U0(Y,X=(!K&&Z||Y).__k=S(E,null,[X]),Q||s,s,Y.namespaceURI,!K&&Z?[Z]:Q?null:Y.firstChild?n.call(Y.childNodes):null,G,!K&&Z?Z:Q?Q.__e:Y.firstChild,K,W),s0(G,X,W)}function e(X){function Y(Z){var K,Q;return this.getChildContext||(K=new Set,(Q={})[Y.__c]=this,this.getChildContext=function(){return Q},this.componentWillUnmount=function(){K=null},this.shouldComponentUpdate=function(G){this.props.value!=G.value&&K.forEach(function(W){W.__e=!0,V0(W)})},this.sub=function(G){K.add(G);var W=G.componentWillUnmount;G.componentWillUnmount=function(){K&&K.delete(G),W&&W.call(G)}}),Z.children}return Y.__c="__cC"+k0++,Y.__=X,Y.Provider=Y.__l=(Y.Consumer=function(Z,K){return Z.children(K)}).contextType=Y,Y}n=h0.slice,H={__e:function(X,Y,Z,K){for(var Q,G,W;Y=Y.__;)if((Q=Y.__c)&&!Q.__)try{if((G=Q.constructor)&&G.getDerivedStateFromError!=null&&(Q.setState(G.getDerivedStateFromError(X)),W=Q.__d),Q.componentDidCatch!=null&&(Q.componentDidCatch(X,K||{}),W=Q.__d),W)return Q.__E=Q}catch(q){X=q}throw X}},b0=0,b1=function(X){return X!=null&&X.constructor==null},T.prototype.setState=function(X,Y){var Z;Z=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=C({},this.state),typeof X=="function"&&(X=X(C({},Z),this.props)),X&&C(Z,X),X!=null&&this.__v&&(Y&&this._sb.push(Y),V0(this))},T.prototype.forceUpdate=function(X){this.__v&&(this.__e=!0,X&&this.__h.push(X),V0(this))},T.prototype.render=E,b=[],f0=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,v0=function(X,Y){return X.__v.__b-Y.__v.__b},t.__r=0,x0=/(PointerCapture)$|Capture$/i,B0=0,H0=y0(!1),z0=y0(!0),k0=0;var m1=0;function _(X,Y,Z,K,Q,G){Y||(Y={});var W,q,F=Y;if("ref"in F)for(q in F={},Y)q=="ref"?W=Y[q]:F[q]=Y[q];var $={type:X,props:F,key:Z,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--m1,__i:-1,__u:0,__source:Q,__self:G};if(typeof X=="function"&&(W=X.defaultProps))for(q in W)F[q]===void 0&&(F[q]=W[q]);return H.vnode&&H.vnode($),$}var z1=j1(r0(),1);var k,R,P0,o0,Y0=0,Q1=[],L=H,t0=L.__b,n0=L.__r,e0=L.diffed,X1=L.__c,Y1=L.unmount,Z1=L.__;function Z0(X,Y){L.__h&&L.__h(R,X,Y0||Y),Y0=0;var Z=R.__H||(R.__H={__:[],__h:[]});return X>=Z.__.length&&Z.__.push({}),Z.__[X]}function h(X){return Y0=1,G1(J1,X)}function G1(X,Y,Z){var K=Z0(k++,2);if(K.t=X,!K.__c&&(K.__=[Z?Z(Y):J1(void 0,Y),function(q){var F=K.__N?K.__N[0]:K.__[0],$=K.t(F,q);F!==$&&(K.__N=[$,K.__[1]],K.__c.setState({}))}],K.__c=R,!R.__f)){var Q=function(q,F,$){if(!K.__c.__H)return!0;var z=K.__c.__H.__.filter(function(A){return!!A.__c});if(z.every(function(A){return!A.__N}))return!G||G.call(this,q,F,$);var J=K.__c.props!==q;return z.forEach(function(A){if(A.__N){var V=A.__[0];A.__=A.__N,A.__N=void 0,V!==A.__[0]&&(J=!0)}}),G&&G.call(this,q,F,$)||J};R.__f=!0;var{shouldComponentUpdate:G,componentWillUpdate:W}=R;R.componentWillUpdate=function(q,F,$){if(this.__e){var z=G;G=void 0,Q(q,F,$),G=z}W&&W.call(this,q,F,$)},R.shouldComponentUpdate=Q}return K.__N||K.__}function f(X,Y){var Z=Z0(k++,3);!L.__s&&q1(Z.__H,Y)&&(Z.__=X,Z.u=Y,R.__H.__h.push(Z))}function K0(X){return Y0=5,W1(function(){return{current:X}},[])}function W1(X,Y){var Z=Z0(k++,7);return q1(Z.__H,Y)&&(Z.__=X(),Z.__H=Y,Z.__h=X),Z.__}function i(X){var Y=R.context[X.__c],Z=Z0(k++,9);return Z.c=X,Y?(Z.__==null&&(Z.__=!0,Y.sub(R)),Y.props.value):X.__}function a1(){for(var X;X=Q1.shift();)if(X.__P&&X.__H)try{X.__H.__h.forEach(X0),X.__H.__h.forEach(O0),X.__H.__h=[]}catch(Y){X.__H.__h=[],L.__e(Y,X.__v)}}L.__b=function(X){R=null,t0&&t0(X)},L.__=function(X,Y){X&&Y.__k&&Y.__k.__m&&(X.__m=Y.__k.__m),Z1&&Z1(X,Y)},L.__r=function(X){n0&&n0(X),k=0;var Y=(R=X.__c).__H;Y&&(P0===R?(Y.__h=[],R.__h=[],Y.__.forEach(function(Z){Z.__N&&(Z.__=Z.__N),Z.u=Z.__N=void 0})):(Y.__h.forEach(X0),Y.__h.forEach(O0),Y.__h=[],k=0)),P0=R},L.diffed=function(X){e0&&e0(X);var Y=X.__c;Y&&Y.__H&&(Y.__H.__h.length&&(Q1.push(Y)!==1&&o0===L.requestAnimationFrame||((o0=L.requestAnimationFrame)||i1)(a1)),Y.__H.__.forEach(function(Z){Z.u&&(Z.__H=Z.u),Z.u=void 0})),P0=R=null},L.__c=function(X,Y){Y.some(function(Z){try{Z.__h.forEach(X0),Z.__h=Z.__h.filter(function(K){return!K.__||O0(K)})}catch(K){Y.some(function(Q){Q.__h&&(Q.__h=[])}),Y=[],L.__e(K,Z.__v)}}),X1&&X1(X,Y)},L.unmount=function(X){Y1&&Y1(X);var Y,Z=X.__c;Z&&Z.__H&&(Z.__H.__.forEach(function(K){try{X0(K)}catch(Q){Y=Q}}),Z.__H=void 0,Y&&L.__e(Y,Z.__v))};var K1=typeof requestAnimationFrame=="function";function i1(X){var Y,Z=function(){clearTimeout(K),K1&&cancelAnimationFrame(Y),setTimeout(X)},K=setTimeout(Z,35);K1&&(Y=requestAnimationFrame(Z))}function X0(X){var Y=R,Z=X.__c;typeof Z=="function"&&(X.__c=void 0,Z()),R=Y}function O0(X){var Y=R;X.__c=X.__(),R=Y}function q1(X,Y){return!X||X.length!==Y.length||Y.some(function(Z,K){return Z!==X[K]})}function J1(X,Y){return typeof Y=="function"?Y(X):Y}var g={__stop__:!0};function M0(X,Y=10){if(!X||typeof X!=="object")return console.warn("eventToObject: Expected an object input, received:",X),X;let Z=new WeakSet;Z.add(X);let K={};for(let Q in X)try{if(d(X[Q],Q))continue;else if(typeof X[Q]==="object"){let G=j(X[Q],Y,Z);if(G!==g)K[Q]=G}else K[Q]=X[Q]}catch{continue}if(typeof window<"u"&&window.Event&&X instanceof window.Event)K.selection=u1(Y,Z);return K}function u1(X,Y){if(typeof window>"u"||!window.getSelection)return null;let Z=window.getSelection();if(!Z)return null;return{type:Z.type,anchorNode:Z.anchorNode?j(Z.anchorNode,X,Y):null,anchorOffset:Z.anchorOffset,focusNode:Z.focusNode?j(Z.focusNode,X,Y):null,focusOffset:Z.focusOffset,isCollapsed:Z.isCollapsed,rangeCount:Z.rangeCount,selectedText:Z.toString()}}function j(X,Y,Z){let K=Y-1;if(K<=0&&typeof X==="object")return g;if(!X||typeof X!=="object")return X;if(Z.has(X))return g;Z.add(X);try{if(Array.isArray(X)||typeof X?.length==="number"&&typeof X[Symbol.iterator]==="function"&&!Object.prototype.toString.call(X).includes("Map")&&!(X instanceof CSSStyleDeclaration))return l1(X,K,Z);return r1(X,K,Z)}finally{Z.delete(X)}}function l1(X,Y,Z){let K=[];for(let Q=0;Q<X.length;Q++)if(d(X[Q]))continue;else if(typeof X[Q]==="object"){let G=j(X[Q],Y,Z);if(G!==g)K.push(G)}else K.push(X[Q]);return K}function r1(X,Y,Z){let K={};for(let q in X)try{if(d(X[q],q,X))continue;else if(typeof X[q]==="object"){let F=j(X[q],Y,Z);if(F!==g)K[q]=F}else K[q]=X[q]}catch{continue}if(X&&typeof X==="object"&&"dataset"in X&&!Object.prototype.hasOwnProperty.call(K,"dataset")){let q=X.dataset;if(!d(q,"dataset",X)){let F=j(q,Y,Z);if(F!==g)K.dataset=F}}let Q=["value","checked","files","type","name"];for(let q of Q)if(X&&typeof X==="object"&&q in X&&!Object.prototype.hasOwnProperty.call(K,q)){let F=X[q];if(!d(F,q,X))if(typeof F==="object"){let $=q==="files"?Math.max(Y,3):Y,z=j(F,$,Z);if(z!==g)K[q]=z}else K[q]=F}let G=typeof window<"u"?window:void 0,W=G?G.HTMLFormElement:typeof HTMLFormElement<"u"?HTMLFormElement:void 0;if(W&&X instanceof W&&X.elements)for(let q=0;q<X.elements.length;q++){let F=X.elements[q];if(F.name&&!Object.prototype.hasOwnProperty.call(K,F.name)&&!d(F,F.name,X))if(typeof F==="object"){let $=j(F,Y,Z);if($!==g)K[F.name]=$}else K[F.name]=F}return K}function d(X,Y="",Z=void 0){return X===null||X===void 0||Y.startsWith("__")||Y.length>0&&/^[A-Z_]+$/.test(Y)||typeof X==="function"||X instanceof CSSStyleSheet||X instanceof Window||X instanceof Document||Y==="view"||Y==="size"||Y==="length"||Z instanceof CSSStyleDeclaration&&X===""||typeof Node<"u"&&Z instanceof Node&&(Y==="parentNode"||Y==="parentElement"||Y==="ownerDocument"||Y==="getRootNode"||Y==="childNodes"||Y==="children"||Y==="firstChild"||Y==="lastChild"||Y==="previousSibling"||Y==="nextSibling"||Y==="previousElementSibling"||Y==="nextElementSibling"||Y==="innerHTML"||Y==="outerHTML"||Y==="offsetParent"||Y==="offsetWidth"||Y==="offsetHeight"||Y==="offsetLeft"||Y==="offsetTop"||Y==="clientTop"||Y==="clientLeft"||Y==="clientWidth"||Y==="clientHeight"||Y==="scrollWidth"||Y==="scrollHeight"||Y==="scrollTop"||Y==="scrollLeft")}async function $1(X,Y){let Z;if(X.sourceType==="URL")Z=await import(X.source);else Z=await Y.loadModule(X.source);if(typeof Z.bind!=="function")throw Error(`${X.source} did not export a function 'bind'`);return(K)=>{let Q=Z.bind(K,{sendMessage:Y.sendMessage,onMessage:Y.onMessage});if(!(typeof Q.create==="function"&&typeof Q.render==="function"&&typeof Q.unmount==="function"))return M.error(`${X.source} returned an impropper binding`),null;return{render:(G)=>Q.render(F1({client:Y,module:Z,binding:Q,model:G,currentImportSource:X})),unmount:Q.unmount}}}function F1(X){let Y;if(X.model.importSource){if(!t1(X.currentImportSource,X.model.importSource))return M.error("Parent element import source "+Q0(X.currentImportSource)+" does not match child's import source "+Q0(X.model.importSource)),null;else if(Y=o1(X.module,X.model.tagName,X.model.importSource),!Y)return null}else Y=X.model.tagName;return X.binding.create(Y,W0(X.model,X.client),G0(X.model,(Z)=>F1({...X,model:Z})))}function o1(X,Y,Z){let K=Y.split("."),Q=null;for(let G=0;G<K.length;G++){let W=K[G];if(Q=G==0?X[W]:Q[W],!Q){if(G==0)M.error("Module from source "+Q0(Z)+` does not export ${W}`);else console.error(`Component ${K.slice(0,G).join(".")} from source `+Q0(Z)+` does not have subcomponent ${W}`);break}}return Q}function t1(X,Y){return X.source===Y.source&&X.sourceType===Y.sourceType}function Q0(X){return JSON.stringify({source:X.source,sourceType:X.sourceType})}function G0(X,Y){if(!X.children)return[];else return X.children.map((Z)=>{switch(typeof Z){case"object":return Y(Z);case"string":return Z}})}function W0(X,Y){return Object.fromEntries(Object.entries({...X.attributes,...Object.fromEntries(Object.entries(X.eventHandlers||{}).map(([Z,K])=>n1(Y,Z,K))),...Object.fromEntries(Object.entries(X.inlineJavaScript||{}).map(([Z,K])=>e1(Z,K)))}))}function n1(X,Y,{target:Z,preventDefault:K,stopPropagation:Q}){let G=function(...W){let q=Array.from(W).map((F)=>{let $=F;if(K)$.preventDefault();if(Q)$.stopPropagation();if(typeof $==="object")return M0($);else return $});X.sendMessage({type:"layout-event",data:q,target:Z})};return G.isHandler=!0,[Y,G]}function e1(name,inlineJavaScript){let wrappedExecutable=function(...args){function handleExecution(...args){let evalResult=eval(inlineJavaScript);if(typeof evalResult=="function")return evalResult(...args)}if(args.length>0&&args[0]instanceof Event)return handleExecution.call(args[0].currentTarget,...args);else return handleExecution(...args)};return wrappedExecutable.isHandler=!1,[name,wrappedExecutable]}var q0=e(null);function V1(X){let Y=h({tagName:""})[0],Z=Z4();return f(()=>X.client.onMessage("layout-update",({path:K,model:Q})=>{if(K==="")Object.assign(Y,Q);else z1.set(Y,K,Q);Z()}),[Y,X.client]),_(q0.Provider,{value:X.client,children:_(E0,{model:Y})})}function E0({model:X}){if(X.error!==void 0)if(X.error)return _("pre",{children:X.error});else return null;let Y;if(X.tagName in H1)Y=H1[X.tagName];else if(X.importSource)Y=Y4;else Y=A1;return _(Y,{model:X})}function A1({model:X}){let Y=i(q0);return S(X.tagName===""?E:X.tagName,W0(X,Y),...G0(X,(Z)=>{return _(E0,{model:Z},Z.key)}))}function _0({model:X}){let Y=i(q0),Z=W0(X,Y),[K,Q]=h(Z.value);f(()=>Q(Z.value),[Z.value]);let G=Z.onChange;if(typeof G==="function")Z.onChange=(W)=>{if(W.target)Q(W.target.value);G(W)};return S(X.tagName,{...Z,value:K},...G0(X,(W)=>_(E0,{model:W},W.key)))}function X4({model:X}){let Y=K0(null);return f(()=>{if(!Y.current)return;let Z=document.createElement("script");for(let[Q,G]of Object.entries(X.attributes||{}))Z.setAttribute(Q,G);let K=X?.children?.filter((Q)=>typeof Q=="string")[0];if(K)Z.appendChild(document.createTextNode(K));return Y.current.appendChild(Z),()=>{Y.current?.removeChild(Z)}},[X.key]),_("div",{ref:Y})}function Y4({model:X}){let Y=X.importSource,Z=K4(X);if(!Y)return null;let K=Y.fallback;if(!Y)if(!K)return null;else if(typeof K==="string")return _("span",{children:K});else return _(A1,{model:K});else return _("span",{ref:Z})}function Z4(){let[,X]=h(!1);return()=>X((Y)=>!Y)}function K4(X){let Y=X.importSource,Z=JSON.stringify(Y),K=K0(null),Q=i(q0),[G,W]=h(null);return f(()=>{let q=!1;if(Y)$1(Y,Q).then((F)=>{if(!q&&K.current)W(F(K.current))});return()=>{if(q=!0,G&&Y&&!Y.unmountBeforeUpdate)G.unmount()}},[Q,Z,W,K.current]),f(()=>{if(!(G&&Y))return;if(G.render(X),Y.unmountBeforeUpdate)return G.unmount}),K}var H1={input:_0,script:X4,select:_0,textarea:_0};function Q4(X){let Z=`${`ws${window.location.protocol==="https:"?"s":""}:`}//${window.location.host}`,K=new URL(`${Z}${X.pathPrefix}${X.componentPath||""}`);if(K.searchParams.append("http_pathname",window.location.pathname),window.location.search)K.searchParams.append("http_query_string",window.location.search);let Q=new F0({urls:{componentUrl:K,jsModulesPath:`${window.location.origin}${X.pathPrefix}modules/`},reconnectOptions:{interval:X.reconnectInterval||750,maxInterval:X.reconnectMaxInterval||60000,maxRetries:X.reconnectMaxRetries||150,backoffMultiplier:X.reconnectBackoffMultiplier||1.25},mountElement:X.mountElement});L0(_(V1,{client:Q}),X.mountElement)}function W4(X,Y){for(var Z in Y)X[Z]=Y[Z];return X}function B1(X,Y){for(var Z in X)if(Z!=="__source"&&!(Z in Y))return!0;for(var K in Y)if(K!=="__source"&&X[K]!==Y[K])return!0;return!1}function w1(X,Y){this.props=X,this.context=Y}(w1.prototype=new T).isPureReactComponent=!0,w1.prototype.shouldComponentUpdate=function(X,Y){return B1(this.props,X)||B1(this.state,Y)};var U1=H.__b;H.__b=function(X){X.type&&X.type.__f&&X.ref&&(X.props.ref=X.ref,X.ref=null),U1&&U1(X)};var q4=H.__e;H.__e=function(X,Y,Z,K){if(X.then){for(var Q,G=Y;G=G.__;)if((Q=G.__c)&&Q.__c)return Y.__e==null&&(Y.__e=Z.__e,Y.__k=Z.__k),Q.__c(X,Y)}q4(X,Y,Z,K)};var R1=H.unmount;function E1(X,Y,Z){return X&&(X.__c&&X.__c.__H&&(X.__c.__H.__.forEach(function(K){typeof K.__c=="function"&&K.__c()}),X.__c.__H=null),(X=W4({},X)).__c!=null&&(X.__c.__P===Z&&(X.__c.__P=Y),X.__c.__e=!0,X.__c=null),X.__k=X.__k&&X.__k.map(function(K){return E1(K,Y,Z)})),X}function D1(X,Y,Z){return X&&Z&&(X.__v=null,X.__k=X.__k&&X.__k.map(function(K){return D1(K,Y,Z)}),X.__c&&X.__c.__P===Y&&(X.__e&&Z.appendChild(X.__e),X.__c.__e=!0,X.__c.__P=Z)),X}function D0(){this.__u=0,this.o=null,this.__b=null}function T1(X){var Y=X.__.__c;return Y&&Y.__a&&Y.__a(X)}function J0(){this.i=null,this.l=null}H.unmount=function(X){var Y=X.__c;Y&&Y.__R&&Y.__R(),Y&&32&X.__u&&(X.type=null),R1&&R1(X)},(D0.prototype=new T).__c=function(X,Y){var Z=Y.__c,K=this;K.o==null&&(K.o=[]),K.o.push(Z);var Q=T1(K.__v),G=!1,W=function(){G||(G=!0,Z.__R=null,Q?Q(q):q())};Z.__R=W;var q=function(){if(!--K.__u){if(K.state.__a){var F=K.state.__a;K.__v.__k[0]=D1(F,F.__c.__P,F.__c.__O)}var $;for(K.setState({__a:K.__b=null});$=K.o.pop();)$.forceUpdate()}};K.__u++||32&Y.__u||K.setState({__a:K.__b=K.__v.__k[0]}),X.then(W,W)},D0.prototype.componentWillUnmount=function(){this.o=[]},D0.prototype.render=function(X,Y){if(this.__b){if(this.__v.__k){var Z=document.createElement("div"),K=this.__v.__k[0].__c;this.__v.__k[0]=E1(this.__b,Z,K.__O=K.__P)}this.__b=null}var Q=Y.__a&&S(E,null,X.fallback);return Q&&(Q.__u&=-33),[S(E,null,Y.__a?null:X.children),Q]};var L1=function(X,Y,Z){if(++Z[1]===Z[0]&&X.l.delete(Y),X.props.revealOrder&&(X.props.revealOrder[0]!=="t"||!X.l.size))for(Z=X.i;Z;){for(;Z.length>3;)Z.pop()();if(Z[1]<Z[0])break;X.i=Z=Z[2]}};(J0.prototype=new T).__a=function(X){var Y=this,Z=T1(Y.__v),K=Y.l.get(X);return K[0]++,function(Q){var G=function(){Y.props.revealOrder?(K.push(Q),L1(Y,X,K)):Q()};Z?Z(G):G()}},J0.prototype.render=function(X){this.i=null,this.l=new Map;var Y=a(X.children);X.revealOrder&&X.revealOrder[0]==="b"&&Y.reverse();for(var Z=Y.length;Z--;)this.l.set(Y[Z],this.i=[1,0,this.i]);return X.children},J0.prototype.componentDidUpdate=J0.prototype.componentDidMount=function(){var X=this;this.l.forEach(function(Y,Z){L1(X,Z,Y)})};var J4=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,$4=/^(?: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]/,F4=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,H4=/[A-Z0-9]/g,z4=typeof document<"u",V4=function(X){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(X)};T.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(X){Object.defineProperty(T.prototype,X,{configurable:!0,get:function(){return this["UNSAFE_"+X]},set:function(Y){Object.defineProperty(this,X,{configurable:!0,writable:!0,value:Y})}})});var P1=H.event;function A4(){}function B4(){return this.cancelBubble}function w4(){return this.defaultPrevented}H.event=function(X){return P1&&(X=P1(X)),X.persist=A4,X.isPropagationStopped=B4,X.isDefaultPrevented=w4,X.nativeEvent=X};var I1,U4={enumerable:!1,configurable:!0,get:function(){return this.class}},O1=H.vnode;H.vnode=function(X){typeof X.type=="string"&&function(Y){var{props:Z,type:K}=Y,Q={},G=K.indexOf("-")===-1;for(var W in Z){var q=Z[W];if(!(W==="value"&&("defaultValue"in Z)&&q==null||z4&&W==="children"&&K==="noscript"||W==="class"||W==="className")){var F=W.toLowerCase();W==="defaultValue"&&"value"in Z&&Z.value==null?W="value":W==="download"&&q===!0?q="":F==="translate"&&q==="no"?q=!1:F[0]==="o"&&F[1]==="n"?F==="ondoubleclick"?W="ondblclick":F!=="onchange"||K!=="input"&&K!=="textarea"||V4(Z.type)?F==="onfocus"?W="onfocusin":F==="onblur"?W="onfocusout":F4.test(W)&&(W=F):F=W="oninput":G&&$4.test(W)?W=W.replace(H4,"-$&").toLowerCase():q===null&&(q=void 0),F==="oninput"&&Q[W=F]&&(W="oninputCapture"),Q[W]=q}}K=="select"&&Q.multiple&&Array.isArray(Q.value)&&(Q.value=a(Z.children).forEach(function($){$.props.selected=Q.value.indexOf($.props.value)!=-1})),K=="select"&&Q.defaultValue!=null&&(Q.value=a(Z.children).forEach(function($){$.props.selected=Q.multiple?Q.defaultValue.indexOf($.props.value)!=-1:Q.defaultValue==$.props.value})),Z.class&&!Z.className?(Q.class=Z.class,Object.defineProperty(Q,"className",U4)):(Z.className&&!Z.class||Z.class&&Z.className)&&(Q.class=Q.className=Z.className),Y.props=Q}(X),X.$$typeof=J4,O1&&O1(X)};var M1=H.__r;H.__r=function(X){M1&&M1(X),I1=X.__c};var _1=H.diffed;H.diffed=function(X){_1&&_1(X);var{props:Y,__e:Z}=X;Z!=null&&X.type==="textarea"&&"value"in Y&&Y.value!==Z.value&&(Z.value=Y.value==null?"":Y.value),I1=null};export{Q4 as mountReactPy};
2
+
3
+ //# debugId=A2365124B281ED7A64756E2164756E21
4
+ //# sourceMappingURL=index.js.map