reflex 0.5.9a1__py3-none-any.whl → 0.5.10__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.

Potentially problematic release.


This version of reflex might be problematic. Click here for more details.

Files changed (169) hide show
  1. reflex/__init__.py +21 -2
  2. reflex/__init__.pyi +0 -1
  3. reflex/app.py +1 -1
  4. reflex/components/__init__.py +0 -1
  5. reflex/components/__init__.pyi +0 -1
  6. reflex/components/markdown/markdown.py +1 -1
  7. reflex/components/recharts/cartesian.py +3 -0
  8. reflex/components/recharts/cartesian.pyi +2 -0
  9. reflex/components/sonner/toast.py +27 -1
  10. reflex/components/sonner/toast.pyi +5 -0
  11. reflex/constants/base.py +2 -0
  12. reflex/constants/installer.py +2 -0
  13. reflex/experimental/hooks.py +1 -1
  14. reflex/reflex.py +0 -15
  15. reflex/state.py +22 -22
  16. reflex/testing.py +8 -3
  17. reflex/utils/net.py +43 -0
  18. reflex/utils/prerequisites.py +27 -126
  19. reflex/utils/registry.py +48 -0
  20. reflex/utils/types.py +1 -1
  21. reflex/vars.py +4 -2
  22. {reflex-0.5.9a1.dist-info → reflex-0.5.10.dist-info}/METADATA +2 -1
  23. {reflex-0.5.9a1.dist-info → reflex-0.5.10.dist-info}/RECORD +26 -167
  24. reflex/components/chakra/__init__.py +0 -204
  25. reflex/components/chakra/base.py +0 -210
  26. reflex/components/chakra/base.pyi +0 -319
  27. reflex/components/chakra/datadisplay/__init__.py +0 -10
  28. reflex/components/chakra/datadisplay/badge.py +0 -16
  29. reflex/components/chakra/datadisplay/badge.pyi +0 -96
  30. reflex/components/chakra/datadisplay/code.py +0 -11
  31. reflex/components/chakra/datadisplay/code.pyi +0 -87
  32. reflex/components/chakra/datadisplay/divider.py +0 -20
  33. reflex/components/chakra/datadisplay/divider.pyi +0 -100
  34. reflex/components/chakra/datadisplay/keyboard_key.py +0 -9
  35. reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -87
  36. reflex/components/chakra/datadisplay/list.py +0 -60
  37. reflex/components/chakra/datadisplay/list.pyi +0 -339
  38. reflex/components/chakra/datadisplay/stat.py +0 -80
  39. reflex/components/chakra/datadisplay/stat.pyi +0 -477
  40. reflex/components/chakra/datadisplay/table.py +0 -305
  41. reflex/components/chakra/datadisplay/table.pyi +0 -737
  42. reflex/components/chakra/datadisplay/tag.py +0 -85
  43. reflex/components/chakra/datadisplay/tag.pyi +0 -433
  44. reflex/components/chakra/disclosure/__init__.py +0 -14
  45. reflex/components/chakra/disclosure/accordion.py +0 -110
  46. reflex/components/chakra/disclosure/accordion.pyi +0 -411
  47. reflex/components/chakra/disclosure/tabs.py +0 -117
  48. reflex/components/chakra/disclosure/tabs.pyi +0 -496
  49. reflex/components/chakra/disclosure/transition.py +0 -73
  50. reflex/components/chakra/disclosure/transition.pyi +0 -509
  51. reflex/components/chakra/disclosure/visuallyhidden.py +0 -9
  52. reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -87
  53. reflex/components/chakra/feedback/__init__.py +0 -7
  54. reflex/components/chakra/feedback/alert.py +0 -68
  55. reflex/components/chakra/feedback/alert.pyi +0 -335
  56. reflex/components/chakra/feedback/circularprogress.py +0 -68
  57. reflex/components/chakra/feedback/circularprogress.pyi +0 -185
  58. reflex/components/chakra/feedback/progress.py +0 -33
  59. reflex/components/chakra/feedback/progress.pyi +0 -101
  60. reflex/components/chakra/feedback/skeleton.py +0 -70
  61. reflex/components/chakra/feedback/skeleton.pyi +0 -271
  62. reflex/components/chakra/feedback/spinner.py +0 -25
  63. reflex/components/chakra/feedback/spinner.pyi +0 -102
  64. reflex/components/chakra/forms/__init__.py +0 -49
  65. reflex/components/chakra/forms/button.py +0 -83
  66. reflex/components/chakra/forms/button.pyi +0 -262
  67. reflex/components/chakra/forms/checkbox.py +0 -77
  68. reflex/components/chakra/forms/checkbox.pyi +0 -247
  69. reflex/components/chakra/forms/colormodeswitch.py +0 -104
  70. reflex/components/chakra/forms/colormodeswitch.pyi +0 -473
  71. reflex/components/chakra/forms/date_picker.py +0 -11
  72. reflex/components/chakra/forms/date_picker.pyi +0 -129
  73. reflex/components/chakra/forms/date_time_picker.py +0 -11
  74. reflex/components/chakra/forms/date_time_picker.pyi +0 -129
  75. reflex/components/chakra/forms/editable.py +0 -67
  76. reflex/components/chakra/forms/editable.pyi +0 -343
  77. reflex/components/chakra/forms/email.py +0 -11
  78. reflex/components/chakra/forms/email.pyi +0 -129
  79. reflex/components/chakra/forms/form.py +0 -103
  80. reflex/components/chakra/forms/form.pyi +0 -484
  81. reflex/components/chakra/forms/iconbutton.py +0 -38
  82. reflex/components/chakra/forms/iconbutton.pyi +0 -108
  83. reflex/components/chakra/forms/input.py +0 -130
  84. reflex/components/chakra/forms/input.pyi +0 -566
  85. reflex/components/chakra/forms/multiselect.py +0 -355
  86. reflex/components/chakra/forms/numberinput.py +0 -128
  87. reflex/components/chakra/forms/numberinput.pyi +0 -442
  88. reflex/components/chakra/forms/password.py +0 -11
  89. reflex/components/chakra/forms/password.pyi +0 -129
  90. reflex/components/chakra/forms/pininput.py +0 -201
  91. reflex/components/chakra/forms/pininput.pyi +0 -215
  92. reflex/components/chakra/forms/radio.py +0 -101
  93. reflex/components/chakra/forms/radio.pyi +0 -197
  94. reflex/components/chakra/forms/rangeslider.py +0 -149
  95. reflex/components/chakra/forms/rangeslider.pyi +0 -354
  96. reflex/components/chakra/forms/select.py +0 -103
  97. reflex/components/chakra/forms/select.pyi +0 -204
  98. reflex/components/chakra/forms/slider.py +0 -130
  99. reflex/components/chakra/forms/slider.pyi +0 -449
  100. reflex/components/chakra/forms/switch.py +0 -49
  101. reflex/components/chakra/forms/switch.pyi +0 -159
  102. reflex/components/chakra/forms/textarea.py +0 -79
  103. reflex/components/chakra/forms/textarea.pyi +0 -123
  104. reflex/components/chakra/forms/time_picker.py +0 -11
  105. reflex/components/chakra/forms/time_picker.pyi +0 -129
  106. reflex/components/chakra/layout/__init__.py +0 -14
  107. reflex/components/chakra/layout/aspect_ratio.py +0 -13
  108. reflex/components/chakra/layout/aspect_ratio.pyi +0 -89
  109. reflex/components/chakra/layout/box.py +0 -31
  110. reflex/components/chakra/layout/box.pyi +0 -93
  111. reflex/components/chakra/layout/card.py +0 -100
  112. reflex/components/chakra/layout/card.pyi +0 -379
  113. reflex/components/chakra/layout/center.py +0 -21
  114. reflex/components/chakra/layout/center.pyi +0 -239
  115. reflex/components/chakra/layout/container.py +0 -13
  116. reflex/components/chakra/layout/container.pyi +0 -89
  117. reflex/components/chakra/layout/flex.py +0 -33
  118. reflex/components/chakra/layout/flex.pyi +0 -101
  119. reflex/components/chakra/layout/grid.py +0 -125
  120. reflex/components/chakra/layout/grid.pyi +0 -293
  121. reflex/components/chakra/layout/spacer.py +0 -9
  122. reflex/components/chakra/layout/spacer.pyi +0 -87
  123. reflex/components/chakra/layout/stack.py +0 -48
  124. reflex/components/chakra/layout/stack.pyi +0 -305
  125. reflex/components/chakra/layout/wrap.py +0 -57
  126. reflex/components/chakra/layout/wrap.pyi +0 -179
  127. reflex/components/chakra/media/__init__.py +0 -7
  128. reflex/components/chakra/media/avatar.py +0 -58
  129. reflex/components/chakra/media/avatar.pyi +0 -267
  130. reflex/components/chakra/media/icon.py +0 -111
  131. reflex/components/chakra/media/icon.pyi +0 -171
  132. reflex/components/chakra/media/image.py +0 -74
  133. reflex/components/chakra/media/image.pyi +0 -118
  134. reflex/components/chakra/navigation/__init__.py +0 -18
  135. reflex/components/chakra/navigation/breadcrumb.py +0 -98
  136. reflex/components/chakra/navigation/breadcrumb.pyi +0 -351
  137. reflex/components/chakra/navigation/link.py +0 -62
  138. reflex/components/chakra/navigation/link.pyi +0 -105
  139. reflex/components/chakra/navigation/linkoverlay.py +0 -22
  140. reflex/components/chakra/navigation/linkoverlay.pyi +0 -167
  141. reflex/components/chakra/navigation/stepper.py +0 -113
  142. reflex/components/chakra/navigation/stepper.pyi +0 -762
  143. reflex/components/chakra/overlay/__init__.py +0 -50
  144. reflex/components/chakra/overlay/alertdialog.py +0 -153
  145. reflex/components/chakra/overlay/alertdialog.pyi +0 -612
  146. reflex/components/chakra/overlay/drawer.py +0 -168
  147. reflex/components/chakra/overlay/drawer.pyi +0 -652
  148. reflex/components/chakra/overlay/menu.py +0 -225
  149. reflex/components/chakra/overlay/menu.pyi +0 -708
  150. reflex/components/chakra/overlay/modal.py +0 -166
  151. reflex/components/chakra/overlay/modal.pyi +0 -600
  152. reflex/components/chakra/overlay/popover.py +0 -183
  153. reflex/components/chakra/overlay/popover.pyi +0 -757
  154. reflex/components/chakra/overlay/tooltip.py +0 -70
  155. reflex/components/chakra/overlay/tooltip.pyi +0 -129
  156. reflex/components/chakra/typography/__init__.py +0 -10
  157. reflex/components/chakra/typography/heading.py +0 -16
  158. reflex/components/chakra/typography/heading.pyi +0 -96
  159. reflex/components/chakra/typography/highlight.py +0 -23
  160. reflex/components/chakra/typography/highlight.pyi +0 -91
  161. reflex/components/chakra/typography/span.py +0 -15
  162. reflex/components/chakra/typography/span.pyi +0 -89
  163. reflex/components/chakra/typography/text.py +0 -18
  164. reflex/components/chakra/typography/text.pyi +0 -91
  165. reflex/components/media/__init__.py +0 -1
  166. reflex/components/media/icon.py +0 -3
  167. {reflex-0.5.9a1.dist-info → reflex-0.5.10.dist-info}/LICENSE +0 -0
  168. {reflex-0.5.9a1.dist-info → reflex-0.5.10.dist-info}/WHEEL +0 -0
  169. {reflex-0.5.9a1.dist-info → reflex-0.5.10.dist-info}/entry_points.txt +0 -0
@@ -6,7 +6,6 @@ import functools
6
6
  import glob
7
7
  import importlib
8
8
  import importlib.metadata
9
- import inspect
10
9
  import json
11
10
  import os
12
11
  import platform
@@ -31,13 +30,13 @@ from packaging import version
31
30
  from redis import Redis as RedisSync
32
31
  from redis.asyncio import Redis
33
32
 
34
- import reflex
35
33
  from reflex import constants, model
36
34
  from reflex.base import Base
37
35
  from reflex.compiler import templates
38
36
  from reflex.config import Config, get_config
39
- from reflex.utils import console, path_ops, processes
37
+ from reflex.utils import console, net, path_ops, processes
40
38
  from reflex.utils.format import format_library_name
39
+ from reflex.utils.registry import _get_best_registry
41
40
 
42
41
  CURRENTLY_INSTALLING_NODE = False
43
42
 
@@ -81,7 +80,7 @@ def check_latest_package_version(package_name: str):
81
80
  # Get the latest version from PyPI
82
81
  current_version = importlib.metadata.version(package_name)
83
82
  url = f"https://pypi.org/pypi/{package_name}/json"
84
- response = httpx.get(url)
83
+ response = net.get(url)
85
84
  latest_version = response.json()["info"]["version"]
86
85
  if (
87
86
  version.parse(current_version) < version.parse(latest_version)
@@ -577,6 +576,15 @@ def initialize_package_json():
577
576
  code = _compile_package_json()
578
577
  output_path.write_text(code)
579
578
 
579
+ best_registry = _get_best_registry()
580
+ bun_config_path = get_web_dir() / constants.Bun.CONFIG_PATH
581
+ bun_config_path.write_text(
582
+ f"""
583
+ [install]
584
+ registry = "{best_registry}"
585
+ """
586
+ )
587
+
580
588
 
581
589
  def init_reflex_json(project_hash: int | None):
582
590
  """Write the hash of the Reflex project to a REFLEX_JSON.
@@ -662,7 +670,7 @@ def download_and_run(url: str, *args, show_status: bool = False, **env):
662
670
  """
663
671
  # Download the script
664
672
  console.debug(f"Downloading {url}")
665
- response = httpx.get(url)
673
+ response = net.get(url)
666
674
  if response.status_code != httpx.codes.OK:
667
675
  response.raise_for_status()
668
676
 
@@ -692,11 +700,11 @@ def download_and_extract_fnm_zip():
692
700
  try:
693
701
  # Download the FNM zip release.
694
702
  # TODO: show progress to improve UX
695
- with httpx.stream("GET", url, follow_redirects=True) as response:
696
- response.raise_for_status()
697
- with open(fnm_zip_file, "wb") as output_file:
698
- for chunk in response.iter_bytes():
699
- output_file.write(chunk)
703
+ response = net.get(url, follow_redirects=True)
704
+ response.raise_for_status()
705
+ with open(fnm_zip_file, "wb") as output_file:
706
+ for chunk in response.iter_bytes():
707
+ output_file.write(chunk)
700
708
 
701
709
  # Extract the downloaded zip file.
702
710
  with zipfile.ZipFile(fnm_zip_file, "r") as zip_ref:
@@ -1159,114 +1167,6 @@ def prompt_for_template(templates: list[Template]) -> str:
1159
1167
  return templates[int(template)].name
1160
1168
 
1161
1169
 
1162
- def should_show_rx_chakra_migration_instructions() -> bool:
1163
- """Should we show the migration instructions for rx.chakra.* => rx.*?.
1164
-
1165
- Returns:
1166
- bool: True if we should show the migration instructions.
1167
- """
1168
- if os.getenv("REFLEX_PROMPT_MIGRATE_TO_RX_CHAKRA") == "yes":
1169
- return True
1170
-
1171
- if not Path(constants.Config.FILE).exists():
1172
- # They are running reflex init for the first time.
1173
- return False
1174
-
1175
- existing_init_reflex_version = None
1176
- reflex_json = get_web_dir() / constants.Dirs.REFLEX_JSON
1177
- if reflex_json.exists():
1178
- with reflex_json.open("r") as f:
1179
- data = json.load(f)
1180
- existing_init_reflex_version = data.get("version", None)
1181
-
1182
- if existing_init_reflex_version is None:
1183
- # They clone a reflex app from git for the first time.
1184
- # That app may or may not be 0.4 compatible.
1185
- # So let's just show these instructions THIS TIME.
1186
- return True
1187
-
1188
- if constants.Reflex.VERSION < "0.4":
1189
- return False
1190
- else:
1191
- return existing_init_reflex_version < "0.4"
1192
-
1193
-
1194
- def show_rx_chakra_migration_instructions():
1195
- """Show the migration instructions for rx.chakra.* => rx.*."""
1196
- console.log(
1197
- "Prior to reflex 0.4.0, rx.* components are based on Chakra UI. They are now based on Radix UI. To stick to Chakra UI, use rx.chakra.*."
1198
- )
1199
- console.log("")
1200
- console.log(
1201
- "[bold]Run `reflex script keep-chakra` to automatically update your app."
1202
- )
1203
- console.log("")
1204
- console.log(
1205
- "For more details, please see https://reflex.dev/blog/2024-02-16-reflex-v0.4.0/"
1206
- )
1207
-
1208
-
1209
- def migrate_to_rx_chakra():
1210
- """Migrate rx.button => r.chakra.button, etc."""
1211
- file_pattern = os.path.join(get_config().app_name, "**/*.py")
1212
- file_list = glob.glob(file_pattern, recursive=True)
1213
-
1214
- # Populate with all rx.<x> components that have been moved to rx.chakra.<x>
1215
- patterns = {
1216
- rf"\brx\.{name}\b": f"rx.chakra.{name}"
1217
- for name in _get_rx_chakra_component_to_migrate()
1218
- }
1219
-
1220
- for file_path in file_list:
1221
- with FileInput(file_path, inplace=True) as file:
1222
- for _line_num, line in enumerate(file):
1223
- for old, new in patterns.items():
1224
- line = re.sub(old, new, line)
1225
- print(line, end="")
1226
-
1227
-
1228
- def _get_rx_chakra_component_to_migrate() -> set[str]:
1229
- from reflex.components.chakra import ChakraComponent
1230
-
1231
- rx_chakra_names = set(dir(reflex.chakra))
1232
-
1233
- names_to_migrate = set()
1234
-
1235
- # whitelist names will always be rewritten as rx.chakra.<x>
1236
- whitelist = {
1237
- "ColorModeIcon",
1238
- "MultiSelect",
1239
- "MultiSelectOption",
1240
- "color_mode_icon",
1241
- "multi_select",
1242
- "multi_select_option",
1243
- }
1244
-
1245
- for rx_chakra_name in sorted(rx_chakra_names):
1246
- if rx_chakra_name.startswith("_"):
1247
- continue
1248
-
1249
- rx_chakra_object = getattr(reflex.chakra, rx_chakra_name)
1250
- try:
1251
- if (
1252
- (
1253
- inspect.ismethod(rx_chakra_object)
1254
- and inspect.isclass(rx_chakra_object.__self__)
1255
- and issubclass(rx_chakra_object.__self__, ChakraComponent)
1256
- )
1257
- or (
1258
- inspect.isclass(rx_chakra_object)
1259
- and issubclass(rx_chakra_object, ChakraComponent)
1260
- )
1261
- or rx_chakra_name in whitelist
1262
- ):
1263
- names_to_migrate.add(rx_chakra_name)
1264
-
1265
- except Exception:
1266
- raise
1267
- return names_to_migrate
1268
-
1269
-
1270
1170
  def migrate_to_reflex():
1271
1171
  """Migration from Pynecone to Reflex."""
1272
1172
  # Check if the old config file exists.
@@ -1311,9 +1211,6 @@ def migrate_to_reflex():
1311
1211
  print(line, end="")
1312
1212
 
1313
1213
 
1314
- RELEASES_URL = f"https://api.github.com/repos/reflex-dev/templates/releases"
1315
-
1316
-
1317
1214
  def fetch_app_templates(version: str) -> dict[str, Template]:
1318
1215
  """Fetch a dict of templates from the templates repo using github API.
1319
1216
 
@@ -1325,7 +1222,7 @@ def fetch_app_templates(version: str) -> dict[str, Template]:
1325
1222
  """
1326
1223
 
1327
1224
  def get_release_by_tag(tag: str) -> dict | None:
1328
- response = httpx.get(RELEASES_URL)
1225
+ response = net.get(constants.Reflex.RELEASES_URL)
1329
1226
  response.raise_for_status()
1330
1227
  releases = response.json()
1331
1228
  for release in releases:
@@ -1346,7 +1243,7 @@ def fetch_app_templates(version: str) -> dict[str, Template]:
1346
1243
  else:
1347
1244
  templates_url = asset["browser_download_url"]
1348
1245
 
1349
- templates_data = httpx.get(templates_url, follow_redirects=True).json()["templates"]
1246
+ templates_data = net.get(templates_url, follow_redirects=True).json()["templates"]
1350
1247
 
1351
1248
  for template in templates_data:
1352
1249
  if template["name"] == "blank":
@@ -1389,7 +1286,7 @@ def create_config_init_app_from_remote_template(app_name: str, template_url: str
1389
1286
  zip_file_path = Path(temp_dir) / "template.zip"
1390
1287
  try:
1391
1288
  # Note: following redirects can be risky. We only allow this for reflex built templates at the moment.
1392
- response = httpx.get(template_url, follow_redirects=True)
1289
+ response = net.get(template_url, follow_redirects=True)
1393
1290
  console.debug(f"Server responded download request: {response}")
1394
1291
  response.raise_for_status()
1395
1292
  except httpx.HTTPError as he:
@@ -1437,7 +1334,11 @@ def create_config_init_app_from_remote_template(app_name: str, template_url: str
1437
1334
  template_code_dir_name=template_name,
1438
1335
  template_dir=template_dir,
1439
1336
  )
1440
-
1337
+ req_file = Path("requirements.txt")
1338
+ if req_file.exists() and len(req_file.read_text().splitlines()) > 1:
1339
+ console.info(
1340
+ "Run `pip install -r requirements.txt` to install the required python packages for this template."
1341
+ )
1441
1342
  # Clean up the temp directories.
1442
1343
  shutil.rmtree(temp_dir)
1443
1344
  shutil.rmtree(unzip_dir)
@@ -1516,7 +1417,7 @@ def initialize_main_module_index_from_generation(app_name: str, generation_hash:
1516
1417
  generation_hash: The generation hash from reflex.build.
1517
1418
  """
1518
1419
  # Download the reflex code for the generation.
1519
- resp = httpx.get(
1420
+ resp = net.get(
1520
1421
  constants.Templates.REFLEX_BUILD_CODE_URL.format(
1521
1422
  generation_hash=generation_hash
1522
1423
  )
@@ -0,0 +1,48 @@
1
+ """Utilities for working with registries."""
2
+
3
+ import httpx
4
+
5
+ from reflex.utils import console
6
+
7
+
8
+ def latency(registry: str) -> int:
9
+ """Get the latency of a registry.
10
+
11
+ Args:
12
+ registry (str): The URL of the registry.
13
+
14
+ Returns:
15
+ int: The latency of the registry in microseconds.
16
+ """
17
+ try:
18
+ return httpx.get(registry).elapsed.microseconds
19
+ except httpx.HTTPError:
20
+ console.info(f"Failed to connect to {registry}.")
21
+ return 10_000_000
22
+
23
+
24
+ def average_latency(registry, attempts: int = 3) -> int:
25
+ """Get the average latency of a registry.
26
+
27
+ Args:
28
+ registry (str): The URL of the registry.
29
+ attempts (int): The number of attempts to make. Defaults to 10.
30
+
31
+ Returns:
32
+ int: The average latency of the registry in microseconds.
33
+ """
34
+ return sum(latency(registry) for _ in range(attempts)) // attempts
35
+
36
+
37
+ def _get_best_registry() -> str:
38
+ """Get the best registry based on latency.
39
+
40
+ Returns:
41
+ str: The best registry.
42
+ """
43
+ registries = [
44
+ "https://registry.npmjs.org",
45
+ "https://r.cnpmjs.org",
46
+ ]
47
+
48
+ return min(registries, key=average_latency)
reflex/utils/types.py CHANGED
@@ -49,7 +49,7 @@ from reflex.base import Base
49
49
  from reflex.utils import console
50
50
 
51
51
  if sys.version_info >= (3, 12):
52
- from typing import override
52
+ from typing import override as override
53
53
  else:
54
54
 
55
55
  def override(func: Callable) -> Callable:
reflex/vars.py CHANGED
@@ -2588,15 +2588,17 @@ def get_uuid_string_var() -> Var:
2588
2588
  """
2589
2589
  from reflex.utils.imports import ImportVar
2590
2590
 
2591
+ unique_uuid_var = get_unique_variable_name()
2591
2592
  unique_uuid_var_data = VarData(
2592
2593
  imports={
2593
2594
  f"/{constants.Dirs.STATE_PATH}": {ImportVar(tag="generateUUID")}, # type: ignore
2594
2595
  "react": "useMemo",
2595
- }
2596
+ },
2597
+ hooks={f"const {unique_uuid_var} = useMemo(generateUUID, [])": None},
2596
2598
  )
2597
2599
 
2598
2600
  return BaseVar(
2599
- _var_name="useMemo(generateUUID, [])",
2601
+ _var_name=unique_uuid_var,
2600
2602
  _var_type=str,
2601
2603
  _var_data=unique_uuid_var_data,
2602
2604
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.9a1
3
+ Version: 0.5.10
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -34,6 +34,7 @@ Requires-Dist: python-engineio (!=4.6.0)
34
34
  Requires-Dist: python-multipart (>=0.0.5,<0.1)
35
35
  Requires-Dist: python-socketio (>=5.7.0,<6.0)
36
36
  Requires-Dist: redis (>=4.3.5,<6.0)
37
+ Requires-Dist: reflex-chakra (>=0.1.1a1,<0.6)
37
38
  Requires-Dist: reflex-hosting-cli (>=0.1.2,<2.0)
38
39
  Requires-Dist: rich (>=13.0.0,<14.0)
39
40
  Requires-Dist: setuptools (>=69.1.1,<70.2)
@@ -63,11 +63,11 @@ reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8T
63
63
  reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
64
64
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
65
65
  reflex/.templates/web/utils/state.js,sha256=G_mjYXiYhP4wnR36HnVrJXsexFJ8tiJfSUHMtdbGNYA,26088
66
- reflex/__init__.py,sha256=ODbR-WJ4-ugGhepPf34fUy2GZdkxo3TpZaca1tpD7kw,9728
67
- reflex/__init__.pyi,sha256=brBPyevzsUhaSKKgJVkXmm8VmXy8umVIIBjjV4IwcTI,10751
66
+ reflex/__init__.py,sha256=o83mgcAAofcdyPV2g3eyerAEpTGnqkaurGMdnjJLu6Y,10244
67
+ reflex/__init__.pyi,sha256=EOPrAjsyIr2i2uT2QB8k9ZZywp8uAXQQiKABYs89a3c,10710
68
68
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
69
69
  reflex/admin.py,sha256=_3pkkauMiTGJJ0kwAEBnsUWAgZZ_1WNnCaaObbhpmUI,374
70
- reflex/app.py,sha256=QlpVJWwkmVyTPRiEitwWh5I6rO7NNVI6311NurG8W1c,54708
70
+ reflex/app.py,sha256=Sa8Vpcgqs6WMzXhgtZWonBximPbWKrCHUKfTR9zzcgM,54702
71
71
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
72
72
  reflex/app_mixins/lifespan.py,sha256=0PaavAPTYmF7JdLKGfZQu_NT7oAaxyq7-5fauLZ9e8Y,2048
73
73
  reflex/app_mixins/middleware.py,sha256=6Yby_Uw1-J0K7NgPyh-X7tGGhmezn6D7-KsfABYAVBU,3130
@@ -78,8 +78,8 @@ reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,2
78
78
  reflex/compiler/compiler.py,sha256=1_PfhgLXozGmkMhFx58NBmCLF3gA4erf-vVerERB3_4,17814
79
79
  reflex/compiler/templates.py,sha256=qY3qH7Z4oH_5i4nhMxffAFXbY6Fc9mEnCtlVP7uU7nU,4562
80
80
  reflex/compiler/utils.py,sha256=7pEs27NEdDy2cORe3I4ues8lFGXfNuc7y7CEaZ-N5jU,13957
81
- reflex/components/__init__.py,sha256=W_KyltR_KeMweL1-j0Q1tu3e7wJ8osDGxEh0LAFfqDI,638
82
- reflex/components/__init__.pyi,sha256=yQyzkFsaQMsJkDYUbj-ITwyWcoYxRpnlpGUrdg4Hmy8,892
81
+ reflex/components/__init__.py,sha256=zbIXThv1WPI0FdIGf9G9RAmGoCRoGy7nHcSZ8K5D5bA,624
82
+ reflex/components/__init__.pyi,sha256=qoj1zIWaitcZOGcJ6k7wuGJk_GAJCE9Xtx8CeRVrvoE,861
83
83
  reflex/components/base/__init__.py,sha256=QIOxOPT87WrSE4TSHAsZ-358VzvUXAe1w8vWogQ3Uuo,730
84
84
  reflex/components/base/__init__.pyi,sha256=c-8lUF9MAgAo9OHMjKIrV2ScM5S0fg8gTXp3iYFwVKU,1055
85
85
  reflex/components/base/app_wrap.py,sha256=45fkel5ATAcCp7-eUCGXNuq4QwnCpI33VNJOIP_L6k4,574
@@ -101,147 +101,6 @@ reflex/components/base/meta.py,sha256=RWITTQTA_35-FbaVGhjkAWDOmU65rzJ-WedENRJk-3
101
101
  reflex/components/base/meta.pyi,sha256=u5THQWPAlBppkdDr7Cw8aWeTNmLZeHxK9o7PyToeqwo,12712
102
102
  reflex/components/base/script.py,sha256=EMypn_Azzr1SXLI4mHrdHTaMweOjC0FEyTcM-WV480A,2391
103
103
  reflex/components/base/script.pyi,sha256=5x0DBkIQKJ0f1Rz3izBa7t4JZJAGcbAaigys7RjXAbE,4616
104
- reflex/components/chakra/__init__.py,sha256=IvxaXNdJH_df-HZRf4IXilvl6XpLLzIzCSlLL0KVMsU,6378
105
- reflex/components/chakra/base.py,sha256=DTCbEFl0k_Xdm_qNLc8Kh6Zmz03ZQ_YqxT6j4mmlHLw,5270
106
- reflex/components/chakra/base.pyi,sha256=o5ggy_LK6TbK_52imBcJ8z_xQq0qx4kcXUgK3MXyl_M,10870
107
- reflex/components/chakra/datadisplay/__init__.py,sha256=yDWJHYXf8i-WTXMdAAU4alskP1RLizvsYt9BKAi0Uts,459
108
- reflex/components/chakra/datadisplay/badge.py,sha256=G0x7yacjFYQSD0Wrxc6UvC3kHJJ-qlRNbDyONxpbVmU,352
109
- reflex/components/chakra/datadisplay/badge.pyi,sha256=dTTnosdaMC9bOJJZa_aVbsC5NiOCEmhwCkTncEQzQEw,3597
110
- reflex/components/chakra/datadisplay/code.py,sha256=z1NfmQGghbiyvfl8lFm__162l9iCKXids2nZpWRpKws,175
111
- reflex/components/chakra/datadisplay/code.pyi,sha256=6CCAVyGSiaV3tovSuS4d-Wi1E8-Da1CAFK99roWJLaw,3207
112
- reflex/components/chakra/datadisplay/divider.py,sha256=C2MdeT5l1pkB14Tznzru5TLi06OsBMRkNzk2Wt1nUlY,658
113
- reflex/components/chakra/datadisplay/divider.pyi,sha256=Sms5AczWPZ7_AO8jFXMkM9JLZqw4RLtw_l380eE99ho,3843
114
- reflex/components/chakra/datadisplay/keyboard_key.py,sha256=twR7opuIdsWBKQJYIC8WVxMgWTufTqQmWOWGVvSAX0c,180
115
- reflex/components/chakra/datadisplay/keyboard_key.pyi,sha256=Zyus9JpZx4A418TMXzkwHlwXnJvhqnmhN40BknKKqoM,3229
116
- reflex/components/chakra/datadisplay/list.py,sha256=v6oQIKaLuwUBfH7mnaHi6Q52EUPAI-0hc0i-rUq4gfM,1484
117
- reflex/components/chakra/datadisplay/list.pyi,sha256=b_JAI2ggUcNKPbnjrGZrUXUYZx02_iZZg41oQwhDRY4,12843
118
- reflex/components/chakra/datadisplay/stat.py,sha256=vIIemV6DSusZ7Rh73u2GK1VJaVAIDniNASWjJQcWq_g,2149
119
- reflex/components/chakra/datadisplay/stat.pyi,sha256=Kn5-ggQyLZyQgYRzp-nAQ3qV2DNz49rSHrcDl1jNhuY,17366
120
- reflex/components/chakra/datadisplay/table.py,sha256=njazO71jUtjHHJjcpEOLgMd6656_9xZbhI87gsNndzk,9123
121
- reflex/components/chakra/datadisplay/table.pyi,sha256=bkapJgZ1R_561txTb9w_PrwFQp9aCNQUCnkdQMdypMk,27050
122
- reflex/components/chakra/datadisplay/tag.py,sha256=qKolJdjwN6YbOss1sMp1SMuACp04Nu20Axo-BGTP5JM,2295
123
- reflex/components/chakra/datadisplay/tag.pyi,sha256=xT98KGGwwlH8i0gIMeSu29GXkvJt7mccqKuTEjca1TM,15602
124
- reflex/components/chakra/disclosure/__init__.py,sha256=x3d_1fLJVoxNyabvcB_Ik9CiFlALbHE6pzcfSrEfP_M,384
125
- reflex/components/chakra/disclosure/accordion.py,sha256=kEYXTdBujmEgcF50nOTIEkxYTWpyP-mTIqvV1Nt--bk,3510
126
- reflex/components/chakra/disclosure/accordion.pyi,sha256=bKyBbChIX7w4ESkwO_Cvuj8ZOG_m6ugRI2YYJ4Vtprk,15611
127
- reflex/components/chakra/disclosure/tabs.py,sha256=u05ZQwgWU4dZ7fZ5h6hpj75gt_yASO8tT5b8wxgVWUw,3295
128
- reflex/components/chakra/disclosure/tabs.pyi,sha256=W_55XK70ADuSO2zbTDZo1VvwA7nYhHH7usguiMu8G3w,18341
129
- reflex/components/chakra/disclosure/transition.py,sha256=vs1O0H5c91Rv7hMq39zqgPxnhCMRGIyX2CmwM4IeUM0,1733
130
- reflex/components/chakra/disclosure/transition.pyi,sha256=54k0pe2XViwUaIhDkUlBjpTsQVsPz8AiLu3WsDW6Ack,19912
131
- reflex/components/chakra/disclosure/visuallyhidden.py,sha256=ofooF8gUOWDaDj_43sSLLjYJMSnszv1_mIjOkKp3eV0,278
132
- reflex/components/chakra/disclosure/visuallyhidden.pyi,sha256=P8F0dS6I4DTAQ-ti3EVYz5Wcabuag5PG71nEo1nxQqg,3236
133
- reflex/components/chakra/feedback/__init__.py,sha256=07F8-Y7FJxJSNmKEDqeTHIAJ9jyXsX-ii67-LaJ-0GY,313
134
- reflex/components/chakra/feedback/alert.py,sha256=9f6-mqPgjc4oMm3cViGHA89dt9NPt9opgxCA57cQAL8,1623
135
- reflex/components/chakra/feedback/alert.pyi,sha256=1MgMftgly32K6pxhiBxsJCEqRlOz9GggAg4JCzTT5lw,12257
136
- reflex/components/chakra/feedback/circularprogress.py,sha256=-njwnhScQQ9qNOx2ZkFo7J-F0q3f2w2VbSMmyovzKnQ,2007
137
- reflex/components/chakra/feedback/circularprogress.pyi,sha256=of3aN_R4W0axGilsG1e2JIItMY3EAUIN7bNLjhji0As,7506
138
- reflex/components/chakra/feedback/progress.py,sha256=9PNzfkcoGz62DjZb2NKciAEmlVfnqojbg0Ri-oy5Iic,871
139
- reflex/components/chakra/feedback/progress.pyi,sha256=1n6uiAUTJeCaumL32Is8IFHmyVS4JIYhmh_4RhrL9bc,4196
140
- reflex/components/chakra/feedback/skeleton.py,sha256=A_3XRK_5PVei9vtgN0nE5NpLROse8w6W9LBiDRuGADI,1776
141
- reflex/components/chakra/feedback/skeleton.pyi,sha256=Cxcwc2uBHgR2NZ3LrZPvd0DFAHIP-xRMyjRAFDi35oI,10642
142
- reflex/components/chakra/feedback/spinner.py,sha256=NlnnwyTIf-I8AVkc2cDKN-522DjE-taG5dtzmBHar74,704
143
- reflex/components/chakra/feedback/spinner.pyi,sha256=hEQR3Os7EVhQGyZZmNQWHFL6hfFmoshzZycVxBDsl48,4046
144
- reflex/components/chakra/forms/__init__.py,sha256=6TeCxpmKfVy3IxkhTE8amKowHiprEs5Q9P4C_BArygE,1453
145
- reflex/components/chakra/forms/button.py,sha256=IWkGc_AK5k4JMywCQsuAwAZX7mBjYZ5h06E-iO1PjD4,2396
146
- reflex/components/chakra/forms/button.pyi,sha256=FG0-hqUxIyTywV16rn7j4MpUzlNrgtVdrlfczoTxehg,10379
147
- reflex/components/chakra/forms/checkbox.py,sha256=IbmVGW7susNvzO3CsTLX2JLVCQeMaKfeedOmCcwoJhE,2461
148
- reflex/components/chakra/forms/checkbox.pyi,sha256=zjEyM9x6GHrdYq-plkUZ-oX-3_kVaSbI9YYy3c3St-Q,10084
149
- reflex/components/chakra/forms/colormodeswitch.py,sha256=TYOuhjmsAUXJTL7Btjp90eLBz7CKn-AMWvngkwbU-18,2861
150
- reflex/components/chakra/forms/colormodeswitch.pyi,sha256=d0lqdowpdeljc4oj5LXtW2TaEkRSuIQOEUrgf_z9pGA,18360
151
- reflex/components/chakra/forms/date_picker.py,sha256=ntDsnY5eDN8aiRbjMmpS6yriUGpuJt5ik5ffACYY1ds,246
152
- reflex/components/chakra/forms/date_picker.pyi,sha256=AQNTl7_2LWoOx8v2MIWuCjKO6vDreXQkQOHB_5qW_R4,5800
153
- reflex/components/chakra/forms/date_time_picker.py,sha256=4rRwpXVcTXtMEwkpstH0QKL159Sv4ze-2bimDqzw5Qc,280
154
- reflex/components/chakra/forms/date_time_picker.pyi,sha256=C08-DI3oz7RrHgX6IJZ8dWqknxFdV4z4-kWRpGW5VtQ,5813
155
- reflex/components/chakra/forms/editable.py,sha256=ZfJzGpO2XOuWhMh4blRb1DwD5zlXBqVEfbshvwrFVmc,1884
156
- reflex/components/chakra/forms/editable.pyi,sha256=1v6J0FfpeQAxPdXRF0zhMMh0XR37thZr6H_IseBF4aA,13151
157
- reflex/components/chakra/forms/email.py,sha256=1uoXLW7GgUm2FbHOmCy-sgipZk3SMZCUuzJAn008sHk,246
158
- reflex/components/chakra/forms/email.pyi,sha256=9hwIbna9_S7Ju3QHctaugl6OpfEKv9ZxkNR4DE2WoiM,5784
159
- reflex/components/chakra/forms/form.py,sha256=Ekrgx7czqaxQCz4eCWS1hlIkUw58D5onmGk7QybX1oc,2580
160
- reflex/components/chakra/forms/form.pyi,sha256=RPruZAvgs4HVWF-X7ppcyg22u_PZZET4EZBR4gb1ERQ,20040
161
- reflex/components/chakra/forms/iconbutton.py,sha256=KgmCYKOVAUgCLDSnyoDGd4aoRPdBtOjk-eykiDBQiBI,935
162
- reflex/components/chakra/forms/iconbutton.pyi,sha256=fl0Cedm0cEmLBVQ3KJIgaQbIIyMHz6OenDJX6JlhV5A,4590
163
- reflex/components/chakra/forms/input.py,sha256=tsFDXLIrjDvnoWBeEF3e3gYuu5g9tGYoAL7jNPFNfys,4152
164
- reflex/components/chakra/forms/input.pyi,sha256=EMzAvMggQnsxS7lJam7zBHpghcS23yl8fV_Sj9qoWSs,21177
165
- reflex/components/chakra/forms/multiselect.py,sha256=PAkLRdNipO1VLWR7AN3gOpQe2LaOfri5PzWh1_-r6D0,12941
166
- reflex/components/chakra/forms/numberinput.py,sha256=c0gGhE3dVKxohlOiNDOxQK3m6gCm81_FOeRC30Tqa44,4011
167
- reflex/components/chakra/forms/numberinput.pyi,sha256=X4Mdd6VoMGlwqV6I8j3O2mgF5STwEfdUTwzCqWYV5Hg,17830
168
- reflex/components/chakra/forms/password.py,sha256=rjFELopI5j5exce9QZJqf4hSIp5aW44DUbpbpfiB24w,256
169
- reflex/components/chakra/forms/password.pyi,sha256=Ox5zX6-5drO2CnoMR3LdRrJ505awZsqM3ZH9FYa19YQ,5793
170
- reflex/components/chakra/forms/pininput.py,sha256=23aajygkQPQcd1rqrkf66x1OxJRM7tyGpqoHEF01fdc,6245
171
- reflex/components/chakra/forms/pininput.pyi,sha256=E2Vwf0WPT59E0RhG_sUnGRcWw9RJNzU3wvW5URZVYKg,8973
172
- reflex/components/chakra/forms/radio.py,sha256=7XbqcoK8NRzTJIURLNzWET1n828lRoy2B_Q6Lx0Z1Jw,2858
173
- reflex/components/chakra/forms/radio.pyi,sha256=KkupbIAT7-w_px5FnhocO8Ss3eIy64laJMOFRf69qa4,8064
174
- reflex/components/chakra/forms/rangeslider.py,sha256=y9l7VB7WUYZqwCdwJ3C9z-EujIoOJjk2g2Eg_zO3ZOU,4313
175
- reflex/components/chakra/forms/rangeslider.pyi,sha256=m9hkwHRAvqUvLZWdFcEy2TvVke-QmYvJiyBUzQ6qQPs,13644
176
- reflex/components/chakra/forms/select.py,sha256=IgSolfMABBzOCwP8Zoh0mP2b2WB8E_ShnclXqMvTU1s,3299
177
- reflex/components/chakra/forms/select.pyi,sha256=4vLsk1-K0FPgM2K-53u3P7bZ2mNo487zp7YGE5DGXs0,8510
178
- reflex/components/chakra/forms/slider.py,sha256=U9PHz3BYRDvUBxudwZ1tpZQ_LckcT3vJ89qzhSFLyjY,3264
179
- reflex/components/chakra/forms/slider.pyi,sha256=3Qkb4BZWDLV0Rs-xnrYpQiKIOeQGhQsF3LQKLm7ZrM4,17200
180
- reflex/components/chakra/forms/switch.py,sha256=XfmJleQbiqNkYMqFNyFkhjYEGLjMG0YSQCb1DGR_kg8,1502
181
- reflex/components/chakra/forms/switch.pyi,sha256=ZRZaPmXobcMlWCHiiAhSa8aGR16iSvoNFOc3BQj0tWU,6329
182
- reflex/components/chakra/forms/textarea.py,sha256=TidqIehxzu7WkXpcpraTbSWYyqQCVE6Qu-bDXlMajuw,2273
183
- reflex/components/chakra/forms/textarea.pyi,sha256=BIssqwQ_r5f_v_IJZ5rOGXqatmapwz3OhFli44qPw8s,5108
184
- reflex/components/chakra/forms/time_picker.py,sha256=BriPTj3MYdmSbgqUJfTGGbQCPNWl6DjXWEX-iyE-l4s,246
185
- reflex/components/chakra/forms/time_picker.pyi,sha256=WTLM7WURTx_wU97CisPGrWY_4wswr13c5adN8Xr8xMs,5800
186
- reflex/components/chakra/layout/__init__.py,sha256=PDSgqTkLhaXAFOXUtaSOp_v_0P7fLX_Q3TBOHXCRnqM,487
187
- reflex/components/chakra/layout/aspect_ratio.py,sha256=8_qwFZeeHmdaRJ0oNtBWfJrvYirvNTeHdw7bvVnlJ8I,315
188
- reflex/components/chakra/layout/aspect_ratio.pyi,sha256=L7p5gMxQFNw52vGyS71j0xGedIL2aKKEVdAOubKgU-E,3329
189
- reflex/components/chakra/layout/box.py,sha256=S1zYdFGFVTeUCQz5OrmFqnN6zS86LRkHNcJvYjl1dtA,755
190
- reflex/components/chakra/layout/box.pyi,sha256=QbQEde8pSr0olhZH_iaug_ZGmBZQqN5ZJ9p2L_QMwkw,3573
191
- reflex/components/chakra/layout/card.py,sha256=QplYEaWhe-O7uHYN4b5nZyKcnwcJjcTqpt1aTPcZ298,2967
192
- reflex/components/chakra/layout/card.pyi,sha256=zqIgRu8Ue_txoRnCuHSYw3dubaM-KWL2CXNGfjkaK78,13716
193
- reflex/components/chakra/layout/center.py,sha256=B1k9QmzSjPzohmTry_CxHlhJrldOXYmr4TZJsa7dE0Y,389
194
- reflex/components/chakra/layout/center.pyi,sha256=xUNCmA0op45mpTh7YrAULaXhS2-mO8nirmpRHPsqPJA,8672
195
- reflex/components/chakra/layout/container.py,sha256=qvisCz961B6UixsPD2FH8LbJEa6Wqpaopte3nCCDLXQ,354
196
- reflex/components/chakra/layout/container.pyi,sha256=5e37fqha8wiGr7R1Qx9HJFFwRcidRfEqZSsxPuinw6g,3381
197
- reflex/components/chakra/layout/flex.py,sha256=reu2d5JwtsiFq06Z3g1En7Tm0-wIBJEpSo22h2huMog,715
198
- reflex/components/chakra/layout/flex.pyi,sha256=06JFUfQ4UlMzPiptJQ6NPh59qAkbdI_W3_seM6hit4o,4027
199
- reflex/components/chakra/layout/grid.py,sha256=TAVeomIWYnRtQVmTJFbQJ-ScHDLrd4gZos99LYTNLb0,4318
200
- reflex/components/chakra/layout/grid.pyi,sha256=4gcsQKFHhwmv3tRqYlEkwT_VNqGrdOJFFmtjCgqNtRE,13787
201
- reflex/components/chakra/layout/spacer.py,sha256=r1dBTNzqYnfX15sn-dEd28lp8nzFzOJgK9eWyiqHnU8,179
202
- reflex/components/chakra/layout/spacer.pyi,sha256=F6honfDvPGXWzJcGRwnumIJC0TXsJG-4VzHysdbzWWk,3208
203
- reflex/components/chakra/layout/stack.py,sha256=Qhi-fMRiX7m_31G-Nq7_zZMJgtOITyy6oimtvXFFfpc,1077
204
- reflex/components/chakra/layout/stack.pyi,sha256=xx6RIiIpBejksUS_bKe8FyTMyXv9wTYEBw_vo_NnOSY,12159
205
- reflex/components/chakra/layout/wrap.py,sha256=NW_Lymib9klEBE_PxQruF1EUsxyzIzAYvHDFi0z3FWQ,1463
206
- reflex/components/chakra/layout/wrap.pyi,sha256=rrPByNBBqb0nK7W2pDKR-fn8tEIaaqC4A6E5miJf154,6844
207
- reflex/components/chakra/media/__init__.py,sha256=hVpGoLNC4OTGRW0MFzR1Qao_-8j65fzZHTO_CYddxgs,190
208
- reflex/components/chakra/media/avatar.py,sha256=WuTwJVMEFXdSIOtgbQqyTjadJYpSsnN2OBycdyCogzQ,1471
209
- reflex/components/chakra/media/avatar.pyi,sha256=UvN3L8zSsNmyU1jlO7vdl-3ovMWm9f5QPlnQXNOyCr0,10289
210
- reflex/components/chakra/media/icon.py,sha256=1tmT8liwQIhmKeVALaOrcU94NsQVYc3nzu4MjfUcrJs,2463
211
- reflex/components/chakra/media/icon.pyi,sha256=g1ncRGXRmTJ0zZX0nLFO4ZCulhEPbHaDZXbVflAlvH0,6200
212
- reflex/components/chakra/media/image.py,sha256=aZ1-E4ct-jdofQjK8VBhL7usypUSBFHue0PtpaMzn_Q,2269
213
- reflex/components/chakra/media/image.pyi,sha256=Xruhtuv440n5HhPnwVa0HHzyrrxjZzsCBOgV_8pVBU0,5253
214
- reflex/components/chakra/navigation/__init__.py,sha256=4S77tyjUNQfrKW1ablw3L8q2hNz8k04eSvtmoPN65tg,419
215
- reflex/components/chakra/navigation/breadcrumb.py,sha256=b6hhci_Qw3qgCGYa-_xqsQNJSZyoWkVA48rXkTe6Ocs,2925
216
- reflex/components/chakra/navigation/breadcrumb.pyi,sha256=PQe651FjIn9bzdlz51xHTFN2HpvleJa0fqZrE9H8meo,13427
217
- reflex/components/chakra/navigation/link.py,sha256=ndiyKjFDlhN49sUQHbRT22VhhhH7oeAvuRcia83lWcM,1604
218
- reflex/components/chakra/navigation/link.pyi,sha256=kVrjTegfdPwfcxKFuisDFUo-TPwK1XM9X5n7Ph_o4JA,3946
219
- reflex/components/chakra/navigation/linkoverlay.py,sha256=eaGeVhohX5-NuQN8FqheHfRp79NVJN-cNslR978P7bE,521
220
- reflex/components/chakra/navigation/linkoverlay.pyi,sha256=Toqv_fys6GA3G5-6RSWo6f9JtjlM8jeyLd1SmZ2Gr3o,6184
221
- reflex/components/chakra/navigation/stepper.py,sha256=AEcovUKA6UkdZUbA2IJwtSQX_NExo2Rw4xso5J_HBAs,2935
222
- reflex/components/chakra/navigation/stepper.pyi,sha256=ar2uwzp4IXoDFXSZ5oVkHeFx27OHozj1W1nQxgBVgYI,27782
223
- reflex/components/chakra/overlay/__init__.py,sha256=mXTw82F74gn9Jg-wovAP3Icrdzmr7I2ySDdT9hsnSH8,850
224
- reflex/components/chakra/overlay/alertdialog.py,sha256=5gDQA9FGC8CRFtycmtFZsrAP3AAh-Km-VIqymHLUFF8,5167
225
- reflex/components/chakra/overlay/alertdialog.pyi,sha256=w6fn2_Zv_7KGE099Vaq5UDqGJUAAxCNs6q9bXCM6l_M,23725
226
- reflex/components/chakra/overlay/drawer.py,sha256=kLdZnjDYHj0w6cKSYjLpyy2EEh_k93yAlVsma2TTyKQ,5153
227
- reflex/components/chakra/overlay/drawer.pyi,sha256=4notTGVQfOPBiW22Sumdghao2bljs5yoXl7eeQ1JU4I,25123
228
- reflex/components/chakra/overlay/menu.py,sha256=yFUSpoq5lwt5MBNlBI31x3chusZ3v8n6-6RQ7Qa8mtw,6832
229
- reflex/components/chakra/overlay/menu.pyi,sha256=PL7Jdx-589EFnTKnQ2uQYvcnQ_rGjOEFey4_lzOUVIc,28407
230
- reflex/components/chakra/overlay/modal.py,sha256=vUYp1SM3Qf8A6IBpKcNILnqCF_Oxpw-c91DZ37ZYtxI,5263
231
- reflex/components/chakra/overlay/modal.pyi,sha256=3doip2ltD1XZodiSmAhUdDQzoeaqnJoHcV96DI9pvMU,23349
232
- reflex/components/chakra/overlay/popover.py,sha256=dJzDYffVW99wCJSb7s2lgmJb6dL-aU4Meaqgfe_XYsQ,5812
233
- reflex/components/chakra/overlay/popover.pyi,sha256=TFcaVph6Dr02kuyzP5Oy8SVFTU9O4OYOl7_tN1bf_iI,29632
234
- reflex/components/chakra/overlay/tooltip.py,sha256=Ng0h9NTrd2nXTkoAgyO3Evvon0Jry18yY0fecfhJbwo,1973
235
- reflex/components/chakra/overlay/tooltip.pyi,sha256=hQuhPLY6n5rkAHpNnY2VuChywZjJeBI2Rydxa9LZeVU,5897
236
- reflex/components/chakra/typography/__init__.py,sha256=MiaAaf19bItqPAgQ_oHYJAnKnZeXT4nXSA7eGVBVJOs,271
237
- reflex/components/chakra/typography/heading.py,sha256=CzGudsC5Uqlqkq7r1wbp26Wt5zgQVTBC5FBTJxf-ULw,378
238
- reflex/components/chakra/typography/heading.pyi,sha256=JmZ1wyZdGc-yEa1WrelDSJhEzeIdwrA53b5lidLKK-Q,3645
239
- reflex/components/chakra/typography/highlight.py,sha256=qk_lihqY5Y9huSDbD0M3B786p_hs9CIKF6qg_dLkDag,671
240
- reflex/components/chakra/typography/highlight.pyi,sha256=xMAO7NnwxUzni5Kar5Zg_71YSCFHXJ1yUkJRhu4LUpA,3532
241
- reflex/components/chakra/typography/span.py,sha256=232EckN22_fOv5aodO6jXPzmLZwJHF-Lu7cwJeNvJEI,329
242
- reflex/components/chakra/typography/span.pyi,sha256=ABOFwFt9qsaZDSGDmkWH4OTJ4CCfnKHDDljbFsfguMY,3322
243
- reflex/components/chakra/typography/text.py,sha256=hJuVhzYtUbHpf7ZBEvCelNH2Rj8vOVbL9nKddbMISc4,473
244
- reflex/components/chakra/typography/text.pyi,sha256=BAB7RTUo8GnF1TRy8Ee0EsG8nJB4HU3EqvUEvefzEUk,3546
245
104
  reflex/components/component.py,sha256=SzrB2f4pBDgn8nCODb0RT0KM1DjtUqlgrW1Hnzrx6NE,79673
246
105
  reflex/components/core/__init__.py,sha256=msAsWb_6bmZGSei4gEpyYczuJ0VNEZtg20fRtyb3wwM,1285
247
106
  reflex/components/core/__init__.pyi,sha256=hmng2kT4e3iBSSI_x9t7g2-58G6Cb4rhuwz_APJ-UZM,1994
@@ -309,10 +168,8 @@ reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO
309
168
  reflex/components/lucide/icon.py,sha256=L-Nc9AGk0neNlZqe_RofhTgOrSfmmhKO1ZTuMsgNdsU,34077
310
169
  reflex/components/lucide/icon.pyi,sha256=zSBpYtzFztrVh8Bbv-4rZCHBgSflksHzbAVd3BLlb1k,37828
311
170
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
312
- reflex/components/markdown/markdown.py,sha256=d8N9N155Iy1i8Y-Ps18cBsyRtMDOWsHD8WVx4beyGRU,10905
171
+ reflex/components/markdown/markdown.py,sha256=xvGcFXsikeGidgjzPNgd6TjJb7QgqFzelTjqKAC72Ro,10927
313
172
  reflex/components/markdown/markdown.pyi,sha256=VqZrqm9kfa2JRG5OG1ITxzFDan78DkM7Fuauu5MIfX0,4777
314
- reflex/components/media/__init__.py,sha256=TsrfSzpXcRImityfegI2N9-vfj1a47ONUS-vyCUCEds,44
315
- reflex/components/media/icon.py,sha256=JL1vzcrhW6mspMW215SGGbf6KOeOAMD9N-bqKSK27aI,103
316
173
  reflex/components/moment/__init__.py,sha256=jGnZgRBivYJQPIcFgtLaXFteCeIG3gGH5ACXkjEgmsI,92
317
174
  reflex/components/moment/moment.py,sha256=ZfS3nCsKCoy7bBm-QvLKWsKoJ-TpRbBp6dQ1_iGvc68,3673
318
175
  reflex/components/moment/moment.pyi,sha256=QFrM9Tt9SAohnUtzQiwIjgeVGQfgWqqFXkpqjY-P_QQ,6764
@@ -467,8 +324,8 @@ reflex/components/react_player/video.py,sha256=2V6tiwCwrzu9WPI1Wmuepk8kQ6M6K8nnM
467
324
  reflex/components/react_player/video.pyi,sha256=dzqTEpt5wZ1odNNvK2OhsO1lPYt1ww1nGTPoBXHT7b8,6191
468
325
  reflex/components/recharts/__init__.py,sha256=GUifJIUtG91u4K55junZ_-l5ArcRFFDIyjS4y0lyAL4,2644
469
326
  reflex/components/recharts/__init__.pyi,sha256=FUu_BmjhVTbjU92KH2NnYEFr4eeZLMkthX8iIwswDIM,5076
470
- reflex/components/recharts/cartesian.py,sha256=6FNC-ze-pHsGl2ujMkGr_WSOwMLkMLoljeHYBJ-7A9E,31032
471
- reflex/components/recharts/cartesian.pyi,sha256=iiNZxKdA0llw260CGj87gv9NS7VbGogT_Ln1NLwSX8U,108485
327
+ reflex/components/recharts/cartesian.py,sha256=oKlCQQzpfttcnRzqslXNv8Jd64Z-FqeAvFDSP__pvCg,31134
328
+ reflex/components/recharts/cartesian.pyi,sha256=EC72cXEu0ts-9Wa-oIBOrtDhiDobTW0dVXAVbfP8wIc,108635
472
329
  reflex/components/recharts/charts.py,sha256=hG30Prn3w3C4zi6giXazjv0hgeVZeihDCfMhyVNhEgE,17770
473
330
  reflex/components/recharts/charts.pyi,sha256=zwE0ijRdw387uH-ESrMTg5ZrpTA7x7ptC0HMYDJRomU,54587
474
331
  reflex/components/recharts/general.py,sha256=zOrYHP6NJm4sOnuBT1qnNiNPYRPBukhvfAcJEyUm9Zc,7835
@@ -478,8 +335,8 @@ reflex/components/recharts/polar.pyi,sha256=WpNnvR87iVvwT243HFQesemxOQ3faYNKv3gC
478
335
  reflex/components/recharts/recharts.py,sha256=Krz2U0DNzr0Q_Z7Kuwr6_dFX8HdLpH6eBBwp29CdPq4,3433
479
336
  reflex/components/recharts/recharts.pyi,sha256=42KHKkYPwzLcH8uLd9IHd8J_hQ4lh3yniVG2luyy9xI,8592
480
337
  reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29_ErrvGg,68
481
- reflex/components/sonner/toast.py,sha256=U1FPg_D99Ecb1KQ7Uf1FJyIyTqFdH1WQezFC4DudIBA,11350
482
- reflex/components/sonner/toast.pyi,sha256=K5O6LDuGZVs2kNfOFicen7BKqNqHCN3ciWt-SBgHouE,8194
338
+ reflex/components/sonner/toast.py,sha256=rSQJi2vxlvtVg_70mYgNFErBAs0jrClfbwAH-7EZsiM,12205
339
+ reflex/components/sonner/toast.pyi,sha256=XYJPbO7n2RRsru0V00wrdpux_NX1X_ID0QjoBPH3HYA,8308
483
340
  reflex/components/suneditor/__init__.py,sha256=htkPzy0O_1ro1nw8w8gFPjYhg5xywMpsUfc4Dl3OHuw,109
484
341
  reflex/components/suneditor/editor.py,sha256=MTj3QBN11TSUDgsv8fToWrjEgkMSRVGohAVRi2VzS_k,7525
485
342
  reflex/components/suneditor/editor.pyi,sha256=a28U4PcxCd0pRoWt8WYCFzuJeJDnXdjue0ii39Nbz2s,9998
@@ -491,13 +348,13 @@ reflex/components/tags/tag.py,sha256=iORWH5NBQ8U1cdMfUKaAkvFiZhvs5FPR9eHKlGjmPYg
491
348
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
492
349
  reflex/config.py,sha256=YbLTNeQ8P31b4HiYmC1rFPfRplP0OQp_2BZU6Azv-aw,11958
493
350
  reflex/constants/__init__.py,sha256=ICWLo-8TEu_HuMqy-dXdw3Zi7NYbA7ZvHmWGpt3L_VY,2030
494
- reflex/constants/base.py,sha256=R0wnIJh_SSz2C9_KKSNEGz0nkEJSJjapHplEr-isFUo,6356
351
+ reflex/constants/base.py,sha256=riWCfpgc2ppHJGdSxkjdRXmcSAjenuA75zk0zaodWsY,6438
495
352
  reflex/constants/colors.py,sha256=gab_GwjKcbpRJGS2zX0gkmc_yFT1nmQbFDHqx0mXKB0,1625
496
353
  reflex/constants/compiler.py,sha256=Nool-szUS4fMEvEZx829sCyOw2g7f__RCfd1rNcAtec,4933
497
354
  reflex/constants/config.py,sha256=1ocFCpfKmCo8UPpeSSqjt45-bmjvl1nFgeAY2pBs7so,1475
498
355
  reflex/constants/custom_components.py,sha256=SX0SQVb-d6HJkZdezFL4UgkumyF6eJF682y4OvRUqUM,1268
499
356
  reflex/constants/event.py,sha256=LeZFFqVpiuzMJZ99VvhSbrd88rWmCS-pdzgtRei4GfM,2795
500
- reflex/constants/installer.py,sha256=kLchxwqV2jfTVkqfwhbOw5_dVRweoJUnqFD4mp3pZsE,3427
357
+ reflex/constants/installer.py,sha256=IOjAPppNHXjdBEGSj07cmzubcfUzEylVoFPOsHfGfBE,3489
501
358
  reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,2144
502
359
  reflex/constants/style.py,sha256=sJ6LuPY1OWemwMXnI1Htm-pa087HWT6PWljUeyokcUI,474
503
360
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
@@ -506,7 +363,7 @@ reflex/event.py,sha256=FGGrItbo0B-DoFQ6c0t2Hx0iislVL9pDa4733W2gixM,29635
506
363
  reflex/experimental/__init__.py,sha256=TuRC9SlIR4mEQ7KlKKtIj5Eyv_bQjUtlz-TyOn_VmnE,1406
507
364
  reflex/experimental/assets.py,sha256=nWj4454REHDP2gybtlhOac0Xyb0uqBMzjAFqYlaYwcE,1758
508
365
  reflex/experimental/client_state.py,sha256=DvBZhdW43nGL3Trx5fciwuP4U5hsghA0BmJTv5KzvCA,8733
509
- reflex/experimental/hooks.py,sha256=veeds9cSvEdLZDDNIFD-Ye5XRQombrBQNRmiVYOBXp8,2437
366
+ reflex/experimental/hooks.py,sha256=VsBkhBtLLj9q82cQJjW4grNvaroX4olN5XeVI1h5AFk,2422
510
367
  reflex/experimental/layout.py,sha256=Zx8AGqWJrSzXY1XapsorOx-jNo2kRqaWOc4QJRulQdU,7656
511
368
  reflex/experimental/layout.pyi,sha256=aThlDKlifnG3QqIMQH5SwYewrLLXws8u38z3VW8BRSk,18933
512
369
  reflex/experimental/misc.py,sha256=Ikmr-XuQfzOZqrY6yxDXkmpr7C5uDagc4nnowYmjWsc,610
@@ -521,11 +378,11 @@ reflex/middleware/hydrate_middleware.py,sha256=gZ5RTvsfKfrTkQN6QsTLfSnBAczCtGiBQ
521
378
  reflex/middleware/middleware.py,sha256=1tEckRzSNWAwW8VsKt_x88lkk2vSFnRWH1uorsauNwI,1170
522
379
  reflex/model.py,sha256=f9F3J3JZX_NmUCU5mN4Lh7afclq9fikPUB1K2FmNlhU,13545
523
380
  reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
524
- reflex/reflex.py,sha256=QfywgrbaQYnhTxgXLYegbcU8pB4q216csgzj8VRWFS8,18989
381
+ reflex/reflex.py,sha256=xkghsOzZJVP-Obnw7okr-GK_LXxL67qK6uvbNZ3pZWQ,18440
525
382
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
526
- reflex/state.py,sha256=-0yvUXVK2SFMZRtWSBz1UsHWvpq-4SG9Jx7y4E96G9k,114551
383
+ reflex/state.py,sha256=_PGFnIFiMGadh-HeAGsRNpGxkN10LqqKD0lg0SWf950,114404
527
384
  reflex/style.py,sha256=sLeIKBKUpZV1q1QwexVyckqFphjoxsPqCstVQf-D0Ak,11703
528
- reflex/testing.py,sha256=zyIoa0PZuTuPP0My64zUc1aiqiekLKkb6GAXFUjzFfc,34081
385
+ reflex/testing.py,sha256=EkQJlwGFtiURbCyJNB5yDacp1sLYWOW6oauyTjwN8Fw,34285
529
386
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
530
387
  reflex/utils/build.py,sha256=DJryIUJ_3DV2nn4pZ9SiV60lwIGYPZWgYw9prsQXrKA,8482
531
388
  reflex/utils/codespaces.py,sha256=tKmju4aGzDMPy76_eQSzJd3RYmVmiiNZy3Yc0e3zG_w,2856
@@ -537,19 +394,21 @@ reflex/utils/export.py,sha256=3dI9QjoU0ZA_g8OSQipVLpFWQcxWa_sHkpezWemvWbo,2366
537
394
  reflex/utils/format.py,sha256=elfO3XY5dVBvv6drfZFbfMUokcldiOk03qupvvRuDkk,26389
538
395
  reflex/utils/imports.py,sha256=Pvdcr_bkFpTgZ5gZfc5SKKPCvbcqlZSfwyGVhxNh2kc,4770
539
396
  reflex/utils/lazy_loader.py,sha256=utVpUjKcz32GC1I7g0g7OlTyvVoZNFcuAjNtnxiSYww,1282
397
+ reflex/utils/net.py,sha256=UFCfaOjvRDVLTeTzLKJ5iDAWtPNuhng5gOs-pIMYQek,1267
540
398
  reflex/utils/path_ops.py,sha256=XQVq_r_2tFHECWuJPyxzk3GzijCJemgXxfI5w2rc_Vs,4924
541
- reflex/utils/prerequisites.py,sha256=HtlkDnQ3EfUecwerL1KUN60mjT9VbS83_O29osz-nF8,54892
399
+ reflex/utils/prerequisites.py,sha256=8dlCDS71EvwxoGNlZVA2Og9lHDhsO4hQEosC2jpU2ao,51721
542
400
  reflex/utils/processes.py,sha256=y8X5PxycEWT1ItLtpIS-rzrUvNQ9MUOkHdIg_zK9Vp0,13228
543
401
  reflex/utils/pyi_generator.py,sha256=7kz5F0hzE8nEdybnrU8C_y3xaZwpjX3J50d3PVPwIhs,34363
544
402
  reflex/utils/redir.py,sha256=B0K9m6ejDW0ABeclBb4AsRRORvx_stCTWsrDe1YvkzY,1679
403
+ reflex/utils/registry.py,sha256=NKtd1ewsu0_p-FoD0pmLWCEzRrm_6t4Lis8Erip3w4g,1161
545
404
  reflex/utils/serializers.py,sha256=lARTafxXhtNmC15lFaw424MJVwGRcWb8D42_osjKDWE,11689
546
405
  reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
547
- reflex/utils/types.py,sha256=nXB0RTGDfNQkiAvfb2RdXLHxFS9TX9cy-wfgqbPiIpw,17826
406
+ reflex/utils/types.py,sha256=tTA5z7rSWQjOcKi_hdw9wLioU4UP3fDZQolgdMBc37M,17838
548
407
  reflex/utils/watch.py,sha256=ukPT3YrvqsXYN6BInWiO_RPry5osSch9lOomQhxDyk0,2685
549
- reflex/vars.py,sha256=h3rj-A3YN9Gq_Iie9QqYVzlM3m-T0Mkd-jofyjfPwLI,85181
408
+ reflex/vars.py,sha256=Ft-DOADYSOyWdLuQ9Axjzg777n9ZdZ8glEZMvU5u_G0,85297
550
409
  reflex/vars.pyi,sha256=d55fH5lM6vt8RU_CPSvvOYVTr6orhXOCbL_XY2HgGIc,7214
551
- reflex-0.5.9a1.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
552
- reflex-0.5.9a1.dist-info/METADATA,sha256=4TG0ex6VJvvNRW89M1btH0hAfGTKSjqAEQpu7Ml-abA,12190
553
- reflex-0.5.9a1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
554
- reflex-0.5.9a1.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
555
- reflex-0.5.9a1.dist-info/RECORD,,
410
+ reflex-0.5.10.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
411
+ reflex-0.5.10.dist-info/METADATA,sha256=S0e7nISkX-CpLewOXaKyAj-wWPIkbTnufgVJN3dU-Fc,12235
412
+ reflex-0.5.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
413
+ reflex-0.5.10.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
414
+ reflex-0.5.10.dist-info/RECORD,,