reflex 0.5.1a3__py3-none-any.whl → 0.5.2__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 (34) hide show
  1. reflex/app.py +47 -2
  2. reflex/components/datadisplay/code.py +1 -1
  3. reflex/components/datadisplay/code.pyi +1 -1
  4. reflex/components/radix/primitives/accordion.py +74 -80
  5. reflex/components/radix/primitives/accordion.pyi +5 -5
  6. reflex/components/radix/primitives/form.py +8 -9
  7. reflex/components/radix/primitives/form.pyi +4 -5
  8. reflex/components/radix/primitives/progress.py +22 -27
  9. reflex/components/radix/primitives/progress.pyi +3 -4
  10. reflex/components/radix/primitives/slider.py +47 -56
  11. reflex/components/radix/primitives/slider.pyi +4 -5
  12. reflex/components/radix/themes/components/tabs.py +46 -0
  13. reflex/components/radix/themes/components/tabs.pyi +7 -0
  14. reflex/components/radix/themes/layout/center.py +7 -9
  15. reflex/components/radix/themes/layout/center.pyi +2 -2
  16. reflex/components/radix/themes/layout/list.py +6 -9
  17. reflex/components/radix/themes/layout/list.pyi +2 -3
  18. reflex/components/radix/themes/layout/spacer.py +7 -9
  19. reflex/components/radix/themes/layout/spacer.pyi +2 -2
  20. reflex/config.py +3 -0
  21. reflex/config.pyi +2 -0
  22. reflex/custom_components/custom_components.py +39 -14
  23. reflex/event.py +2 -1
  24. reflex/experimental/layout.py +3 -1
  25. reflex/state.py +5 -5
  26. reflex/style.py +2 -0
  27. reflex/testing.py +2 -0
  28. reflex/utils/exec.py +5 -1
  29. reflex/vars.py +22 -9
  30. {reflex-0.5.1a3.dist-info → reflex-0.5.2.dist-info}/METADATA +10 -9
  31. {reflex-0.5.1a3.dist-info → reflex-0.5.2.dist-info}/RECORD +34 -34
  32. {reflex-0.5.1a3.dist-info → reflex-0.5.2.dist-info}/LICENSE +0 -0
  33. {reflex-0.5.1a3.dist-info → reflex-0.5.2.dist-info}/WHEEL +0 -0
  34. {reflex-0.5.1a3.dist-info → reflex-0.5.2.dist-info}/entry_points.txt +0 -0
reflex/state.py CHANGED
@@ -757,7 +757,9 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
757
757
  for base in cls.__bases__
758
758
  if issubclass(base, BaseState) and base is not BaseState and not base._mixin
759
759
  ]
760
- assert len(parent_states) < 2, "Only one parent state is allowed."
760
+ assert (
761
+ len(parent_states) < 2
762
+ ), f"Only one parent state is allowed {parent_states}."
761
763
  return parent_states[0] if len(parent_states) == 1 else None # type: ignore
762
764
 
763
765
  @classmethod
@@ -1887,15 +1889,13 @@ class ComponentState(State, mixin=True):
1887
1889
  _per_component_state_instance_count: ClassVar[int] = 0
1888
1890
 
1889
1891
  @classmethod
1890
- def __init_subclass__(cls, mixin: bool = False, **kwargs):
1892
+ def __init_subclass__(cls, mixin: bool = True, **kwargs):
1891
1893
  """Overwrite mixin default to True.
1892
1894
 
1893
1895
  Args:
1894
1896
  mixin: Whether the subclass is a mixin and should not be initialized.
1895
1897
  **kwargs: The kwargs to pass to the pydantic init_subclass method.
1896
1898
  """
1897
- if ComponentState in cls.__bases__:
1898
- mixin = True
1899
1899
  super().__init_subclass__(mixin=mixin, **kwargs)
1900
1900
 
1901
1901
  @classmethod
@@ -1926,7 +1926,7 @@ class ComponentState(State, mixin=True):
1926
1926
  """
1927
1927
  cls._per_component_state_instance_count += 1
1928
1928
  state_cls_name = f"{cls.__name__}_n{cls._per_component_state_instance_count}"
1929
- component_state = type(state_cls_name, (cls, State), {})
1929
+ component_state = type(state_cls_name, (cls, State), {}, mixin=False)
1930
1930
  component = component_state.get_component(*children, **props)
1931
1931
  component.State = component_state
1932
1932
  return component
reflex/style.py CHANGED
@@ -47,6 +47,8 @@ STYLE_PROP_SHORTHAND_MAPPING = {
47
47
  "marginY": ("marginTop", "marginBottom"),
48
48
  "bg": ("background",),
49
49
  "bgColor": ("backgroundColor",),
50
+ # Radix components derive their font from this CSS var, not inherited from body or class.
51
+ "fontFamily": ("fontFamily", "--default-font-family"),
50
52
  }
51
53
 
52
54
 
reflex/testing.py CHANGED
@@ -325,6 +325,8 @@ class AppHarness:
325
325
  m = re.search(reflex.constants.Next.FRONTEND_LISTENING_REGEX, line)
326
326
  if m is not None:
327
327
  self.frontend_url = m.group(1)
328
+ config = reflex.config.get_config()
329
+ config.deploy_url = self.frontend_url
328
330
  break
329
331
  if self.frontend_url is None:
330
332
  raise RuntimeError("Frontend did not start")
reflex/utils/exec.py CHANGED
@@ -217,8 +217,12 @@ def run_backend_prod(
217
217
  """
218
218
  from reflex.utils import processes
219
219
 
220
- num_workers = processes.get_num_workers()
221
220
  config = get_config()
221
+ num_workers = (
222
+ processes.get_num_workers()
223
+ if not config.gunicorn_workers
224
+ else config.gunicorn_workers
225
+ )
222
226
  RUN_BACKEND_PROD = f"gunicorn --worker-class {config.gunicorn_worker_class} --preload --timeout {config.timeout} --log-level critical".split()
223
227
  RUN_BACKEND_PROD_WINDOWS = f"uvicorn --timeout-keep-alive {config.timeout}".split()
224
228
  app_module = f"reflex.app_module_for_backend:{constants.CompileVars.APP}"
reflex/vars.py CHANGED
@@ -704,7 +704,11 @@ class Var:
704
704
  """
705
705
  try:
706
706
  var_attribute = super().__getattribute__(name)
707
- if not name.startswith("_"):
707
+ if (
708
+ not name.startswith("_")
709
+ and name not in Var.__dict__
710
+ and name not in BaseVar.__dict__
711
+ ):
708
712
  # Check if the attribute should be accessed through the Var instead of
709
713
  # accessing one of the Var operations
710
714
  type_ = types.get_attribute_access_type(
@@ -834,19 +838,19 @@ class Var:
834
838
  if invoke_fn:
835
839
  # invoke the function on left operand.
836
840
  operation_name = (
837
- f"{left_operand_full_name}.{fn}({right_operand_full_name})" # type: ignore
838
- )
841
+ f"{left_operand_full_name}.{fn}({right_operand_full_name})"
842
+ ) # type: ignore
839
843
  else:
840
844
  # pass the operands as arguments to the function.
841
845
  operation_name = (
842
- f"{left_operand_full_name} {op} {right_operand_full_name}" # type: ignore
843
- )
846
+ f"{left_operand_full_name} {op} {right_operand_full_name}"
847
+ ) # type: ignore
844
848
  operation_name = f"{fn}({operation_name})"
845
849
  else:
846
850
  # apply operator to operands (left operand <operator> right_operand)
847
851
  operation_name = (
848
- f"{left_operand_full_name} {op} {right_operand_full_name}" # type: ignore
849
- )
852
+ f"{left_operand_full_name} {op} {right_operand_full_name}"
853
+ ) # type: ignore
850
854
  operation_name = format.wrap(operation_name, "(")
851
855
  else:
852
856
  # apply operator to left operand (<operator> left_operand)
@@ -1349,11 +1353,12 @@ class Var:
1349
1353
  "'in' operator not supported for Var types, use Var.contains() instead."
1350
1354
  )
1351
1355
 
1352
- def contains(self, other: Any) -> Var:
1356
+ def contains(self, other: Any, field: Union[Var, None] = None) -> Var:
1353
1357
  """Check if a var contains the object `other`.
1354
1358
 
1355
1359
  Args:
1356
1360
  other: The object to check.
1361
+ field: Optionally specify a field to check on both object and the other var.
1357
1362
 
1358
1363
  Raises:
1359
1364
  VarTypeError: If the var is not a valid type: dict, list, tuple or str.
@@ -1389,8 +1394,16 @@ class Var:
1389
1394
  raise VarTypeError(
1390
1395
  f"'in <string>' requires string as left operand, not {other._var_type}"
1391
1396
  )
1397
+
1398
+ _var_name = None
1399
+ if field is None:
1400
+ _var_name = f"{self._var_name}.includes({other._var_full_name})"
1401
+ else:
1402
+ field = Var.create_safe(field, _var_is_string=isinstance(field, str))
1403
+ _var_name = f"{self._var_name}.some(e=>e[{field._var_name_unwrapped}]==={other._var_full_name})"
1404
+
1392
1405
  return self._replace(
1393
- _var_name=f"{self._var_name}.includes({other._var_full_name})",
1406
+ _var_name=_var_name,
1394
1407
  _var_type=bool,
1395
1408
  _var_is_string=False,
1396
1409
  merge_var_data=other._var_data,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.1a3
3
+ Version: 0.5.2
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -174,14 +174,15 @@ def index():
174
174
  on_blur=State.set_prompt,
175
175
  width="25em",
176
176
  ),
177
- rx.button("Generate Image", on_click=State.get_image, width="25em"),
177
+ rx.button(
178
+ "Generate Image",
179
+ on_click=State.get_image,
180
+ width="25em",
181
+ loading=State.processing
182
+ ),
178
183
  rx.cond(
179
- State.processing,
180
- rx.chakra.circular_progress(is_indeterminate=True),
181
- rx.cond(
182
- State.complete,
183
- rx.image(src=State.image_url, width="20em"),
184
- ),
184
+ State.complete,
185
+ rx.image(src=State.image_url, width="20em"),
185
186
  ),
186
187
  align="center",
187
188
  ),
@@ -239,7 +240,7 @@ class State(rx.State):
239
240
 
240
241
  The state defines all the variables (called vars) in an app that can change and the functions that change them.
241
242
 
242
- Here the state is comprised of a `prompt` and `image_url`. There are also the booleans `processing` and `complete` to indicate when to show the circular progress and image.
243
+ Here the state is comprised of a `prompt` and `image_url`. There are also the booleans `processing` and `complete` to indicate when to disable the button (during image generation) and when to show the resulting image.
243
244
 
244
245
  ### **Event Handlers**
245
246
 
@@ -66,7 +66,7 @@ reflex/__init__.py,sha256=fzBYk8qUFWkUlD3U-97xEAdv9N1tTMRmAzQat_9cZW0,5831
66
66
  reflex/__init__.pyi,sha256=y4jPgnR9f6xOpFAK9-WM7p-T05Y5jGFYkx7Thdok_3I,7791
67
67
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
68
68
  reflex/admin.py,sha256=-bTxFUEoHo4X9FzmcSa6KSVVPpF7wh38lBvF67GhSvQ,373
69
- reflex/app.py,sha256=vROxTXBLlPCUjI_9_-8_S7XOaExVls2j-kUE50u6-W0,47127
69
+ reflex/app.py,sha256=pvG-rNB9fZTQPVqQqafAECzzUzTYYTDbCcSUe37hf1s,48956
70
70
  reflex/app_module_for_backend.py,sha256=zGsgZWpl11exOuH34JZUimNgBnWpjL7WH4SW6LItxgY,1227
71
71
  reflex/base.py,sha256=nqvgm-f1Fcj1WQrphKFniZWIM13bzr48OgfPBo1KZd8,4274
72
72
  reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
@@ -252,8 +252,8 @@ reflex/components/core/responsive.py,sha256=ycKULWxCRiUC_eWf_B1nhk9K0JXx5Uxw7acw
252
252
  reflex/components/core/upload.py,sha256=mPAPemZBfQmPnI3ueA1hy4J7GiFKw_9gKD_n6myt5lQ,10146
253
253
  reflex/components/core/upload.pyi,sha256=IM7ZnriCs-hzFl4-0IdT2P4QNFvoJsDcr-VxkvnUyeo,17147
254
254
  reflex/components/datadisplay/__init__.py,sha256=9HXaq0tuYBDm06AeWYmi1ywwNBsFEnbSe3zlVNCw7wk,357
255
- reflex/components/datadisplay/code.py,sha256=z-F0WgV9oF8sHmg_D5PT2aM7fy-rkvwh_sHAOS9P5Jg,11363
256
- reflex/components/datadisplay/code.pyi,sha256=aRQIIJfbpPHlYxjl6bDKhyX9dBFRKu-DWu606kozRrQ,31213
255
+ reflex/components/datadisplay/code.py,sha256=Z_-ozKCdaXpXKzZIWmh151RMoJBTVATNwCWD-veOH_I,11347
256
+ reflex/components/datadisplay/code.pyi,sha256=HCYVvF7b2-tqKYGdQUGp7khHF5fuNNdwQUE1doF4-3Y,31197
257
257
  reflex/components/datadisplay/dataeditor.py,sha256=WdeEGRVlC1W2WnPn4zKhmyoaKTqgowqiiLg8zeuHTGw,12632
258
258
  reflex/components/datadisplay/dataeditor.pyi,sha256=e451O8T16GDPd01W5wPeIYynFO16keYW5EcSpOgF0m0,10485
259
259
  reflex/components/datadisplay/logo.py,sha256=fdQ9gDxBln8MDRDN3hP4JkF6BhttnD6GhgGRaBmu0EU,2562
@@ -315,18 +315,18 @@ reflex/components/plotly/plotly.pyi,sha256=FrY0iQX7elz2ZWKW-DXdg8cz_v7bB7QqkZkpU
315
315
  reflex/components/props.py,sha256=0zyzw4dmAAPh_-mbr0_jGSRDQFKUM9vkz5MXA81nZX0,906
316
316
  reflex/components/radix/__init__.py,sha256=5BGBr3z1_GcgCbNXUqAlK5AR13J7fxzFn4Wj-nTDNa4,112
317
317
  reflex/components/radix/primitives/__init__.py,sha256=wkbCDG6q2MuZobhD6FeH9PgLXKZhb6cImguCV4n-aGs,214
318
- reflex/components/radix/primitives/accordion.py,sha256=aOj_p-MpKq4vcRgVpDyO6bOWXIbKbSAycfGyHP9iOZs,16159
319
- reflex/components/radix/primitives/accordion.pyi,sha256=GtWMMaWHXW0kjFmXJCWz37rmhq9AnlyIcrj3JovwmjA,37999
318
+ reflex/components/radix/primitives/accordion.py,sha256=BKNvkuAjGiKy6YU39xwW9y_G9cLe_28Mtbnh25xVjEg,15801
319
+ reflex/components/radix/primitives/accordion.pyi,sha256=BXQRJy7SlivFm_lwFO4XRSA9-yve_8k4EmGHQFUpqWk,38019
320
320
  reflex/components/radix/primitives/base.py,sha256=s3OX4V2pNl6AQ3H9rz-pkE-2TNuNrqj0Mn2mOItF0eM,869
321
321
  reflex/components/radix/primitives/base.pyi,sha256=_SqXWZfCB80_VHW-jO33WhoRunUpiUcUIxziG9Fb2fw,6478
322
322
  reflex/components/radix/primitives/drawer.py,sha256=Y4XDgSECoKnOopHiech3uXFhZPZOB3D6iQoicTDEuDc,8660
323
323
  reflex/components/radix/primitives/drawer.pyi,sha256=n6lRm9UvTc3iWdXFZsmDVPvzZGlWmrvnaUEHEGChub8,34484
324
- reflex/components/radix/primitives/form.py,sha256=eocMNACMNtEWCZG6XnwHrLfRSHGYNAtusAT8KqSgAA4,4964
325
- reflex/components/radix/primitives/form.pyi,sha256=dqzqclVIP612jWCnxJP99JN0y_CfQf4FKbMlZGM-1rY,48138
326
- reflex/components/radix/primitives/progress.py,sha256=H9Xz_HEc5lXJbRcr0G3S9r9zb6XiVrR1f2ZWwUwC-8s,4160
327
- reflex/components/radix/primitives/progress.pyi,sha256=2_G6T8AeBo2InfM7i4kRAWIzBz2bXqNR2-YnVunlKE4,22874
328
- reflex/components/radix/primitives/slider.py,sha256=ZJClHhTyR43z1gufN8xgojVZ_cy6quNg3Nz7FmBqYEU,5198
329
- reflex/components/radix/primitives/slider.pyi,sha256=mgVdvP64yRKgLe_Zxi1z2Q5o7Bgole94NyG08Lt7HCc,16877
324
+ reflex/components/radix/primitives/form.py,sha256=S1psavWwPoE1k71ANq_K_JiQq5rMi7Q4uHnnHrCx4yw,4941
325
+ reflex/components/radix/primitives/form.pyi,sha256=4A-q4QCBvrnorfeOo-IFRsjB7xmSyGB75QINwdPEwV0,48143
326
+ reflex/components/radix/primitives/progress.py,sha256=-O0puNQxxRDlgucNI697mzsMy-ce9pTSPtLaqCqpGWQ,4022
327
+ reflex/components/radix/primitives/progress.pyi,sha256=S4KuRSo46qdtGff-4RMUBOPshvVjDEKfU7lt8AyA3cU,22866
328
+ reflex/components/radix/primitives/slider.py,sha256=whEo2n09mRqRJgq7JGRzrfMjvxHOnJAuGo-5ceSY_fE,4931
329
+ reflex/components/radix/primitives/slider.pyi,sha256=m-BYgslIMcTkoBYdeDysbpC5XTf9WjX-TylOZWkXNNk,16882
330
330
  reflex/components/radix/themes/__init__.py,sha256=G7nHi3YqfM17fVE_XycJYapjB6en3wCcuwFz6xci45Q,292
331
331
  reflex/components/radix/themes/base.py,sha256=RepABp4uqffOZhzmFd210BgMcyXmsQrWTQXKqyjR5o8,8294
332
332
  reflex/components/radix/themes/base.pyi,sha256=zAo0VQcLpSU4sxGT0DX6TaUF0IAjIei8IM04IgZFsHE,26971
@@ -395,8 +395,8 @@ reflex/components/radix/themes/components/switch.py,sha256=AY0kvgUxIv6o-YVSy8rWV
395
395
  reflex/components/radix/themes/components/switch.pyi,sha256=hcDJUSdNuAlbxlOZc9vbT8pIllSSWcxjAePUv_x2q_Q,7404
396
396
  reflex/components/radix/themes/components/table.py,sha256=WN9MVfm4PsvB6L5Qtqmh_84mBdPjFv5CPcGbQA3WCG0,3111
397
397
  reflex/components/radix/themes/components/table.pyi,sha256=gfIrd4WXdUwR-i08m-RVAMKosWWc9Uy0P6kQ4Z16R5k,47387
398
- reflex/components/radix/themes/components/tabs.py,sha256=CE5MBVzf7yvxUMuqy4r4JL5o-gRakMqTDElpY4MUC7s,2985
399
- reflex/components/radix/themes/components/tabs.pyi,sha256=WIihKityGiACxT3ylGW8p7DqaBsGvbN3uSbp7l3gE4A,19119
398
+ reflex/components/radix/themes/components/tabs.py,sha256=czB2Sd6eOZfgz7flh63jchBJJEWFO1aZwCgs25xjdkQ,4150
399
+ reflex/components/radix/themes/components/tabs.pyi,sha256=3BCOTLgxO24E04zaACvsxcFzy4jjaGDodC-5dx06ehs,19419
400
400
  reflex/components/radix/themes/components/text_area.py,sha256=9AhvEXcr87B1o0wmCTyIWYuzUNes_kMbXJh95Gai01o,3233
401
401
  reflex/components/radix/themes/components/text_area.pyi,sha256=xOeJ23O-LKoGsgRbFDOsubkGJjZeAEKvjGasTi5J09Y,11711
402
402
  reflex/components/radix/themes/components/text_field.py,sha256=IO8AEvpUvkysH5hCS-X7EaN3sR42GgzLvQj8_Evkb3M,6527
@@ -408,20 +408,20 @@ reflex/components/radix/themes/layout/base.py,sha256=4vLbCSo4MgR_SH1grNZpE6IzVSK
408
408
  reflex/components/radix/themes/layout/base.pyi,sha256=eJOKNW9ClfS5YTssNTq6oSTg-d-Ytv_Ee1Vg8LoPTDM,7663
409
409
  reflex/components/radix/themes/layout/box.py,sha256=YNQi7sK95oatWia-rHnePte_qYBQ4Oss1E7Djn4VqXs,281
410
410
  reflex/components/radix/themes/layout/box.pyi,sha256=4HQmd6w6DG3DzPIRh79FkxHAlC-pKbrNcUXxX-jdikk,6462
411
- reflex/components/radix/themes/layout/center.py,sha256=uzsPCQM0u1kQv_ooOGX2jLK4hfDIzkVxHQXeWRIjOV8,509
412
- reflex/components/radix/themes/layout/center.pyi,sha256=nKuVMX-RV6DHN55qTFcEKEzgQBal2TksbmDKcr8wjNw,8271
411
+ reflex/components/radix/themes/layout/center.py,sha256=QCOo4mO8R_ziI1qn_6zhQfLA-RGkuWgQvWFvCIdbwYo,465
412
+ reflex/components/radix/themes/layout/center.pyi,sha256=6-olLg2ISelUSDuTeBwVJ_s2mXnsalsdn-esIKqgTpw,8272
413
413
  reflex/components/radix/themes/layout/container.py,sha256=PrwC_MjJmeyJ1Vu9zyFDcAJA0WIhY8BvXRVOT8I7YiI,1405
414
414
  reflex/components/radix/themes/layout/container.pyi,sha256=SFwzZKYohv7y6_6WfjIhRagDj0XUY3IqwUi8Hdzd4M0,5247
415
415
  reflex/components/radix/themes/layout/flex.py,sha256=Jrr02gH7RzBUY-ul3POs9IepkOLdDEUEhNF6VQgoA4Y,1374
416
416
  reflex/components/radix/themes/layout/flex.pyi,sha256=oeO_VKqRakzH2IkAwVSJ191PeD2j_j8CIJi1LMiEnNg,8501
417
417
  reflex/components/radix/themes/layout/grid.py,sha256=LOxEEtdfCtPgbW84aaQrX5zkASi6aqBHieYRUo_BGuY,1498
418
418
  reflex/components/radix/themes/layout/grid.pyi,sha256=mfeSPKYoQISusvTDoUA0QV0PYS01uA_cBT8B_zC_-R0,8907
419
- reflex/components/radix/themes/layout/list.py,sha256=vTMWoArtyK5awxky6q6CTJ6IM_zt25JNDDIm-1ftQec,4991
420
- reflex/components/radix/themes/layout/list.pyi,sha256=AhCMSkerWGLFtHmVL9XmuHXu5Y6oSKm4vauGKyR18kY,28927
419
+ reflex/components/radix/themes/layout/list.py,sha256=1kgtVnuzcq-hMjj79nFsDlzKyKeqthDFvstz7sP7iDE,4933
420
+ reflex/components/radix/themes/layout/list.pyi,sha256=1GCbKR8YKWl_aOpKtkBeH9k5zI1_u97MQ0I1H6LUYA4,28910
421
421
  reflex/components/radix/themes/layout/section.py,sha256=w9OmAycanmWtFndDGDNIkJZZJJ54wIg6OQn5WaQ_Q-w,458
422
422
  reflex/components/radix/themes/layout/section.pyi,sha256=6yQnmu_aIE0tXKBExtUumzCWnq5HU6-uhPNqGI2sTXw,6758
423
- reflex/components/radix/themes/layout/spacer.py,sha256=3ZTI1kV6aTwjKGn5b6mYN_Qla2vEYwf8ew2odrcAjag,492
424
- reflex/components/radix/themes/layout/spacer.pyi,sha256=mcXdMA4tkp6XWIpSRvkpAfHZ5hXXxByTIAdnEBTKaCE,8271
423
+ reflex/components/radix/themes/layout/spacer.py,sha256=Vb7-F1TgrAhFsrVr0Eqr7yP3i-z_-L2iJEDHbemevXw,448
424
+ reflex/components/radix/themes/layout/spacer.pyi,sha256=aGDZJyYVKhmzm8BhYO6qNfGSN9wG-EkOetDENE9D-Uc,8272
425
425
  reflex/components/radix/themes/layout/stack.py,sha256=dGIRKYnx7jns_V-LL-OJ2aC-p-C0ZLnlIC2bXgxVDiY,1522
426
426
  reflex/components/radix/themes/layout/stack.pyi,sha256=Gq87nlYHn1MMNHfWGeS14NVQmxrowscfMLs_9VnHTnw,22132
427
427
  reflex/components/radix/themes/typography/__init__.py,sha256=gbsMbniQAZ6UPS7ReL67r28BSd4-fLoMEVS5wx1Ymro,343
@@ -466,8 +466,8 @@ reflex/components/tags/iter_tag.py,sha256=FKPZtSR0wKyNrigEOYnGsndhXJzwNurTCEAS6Z
466
466
  reflex/components/tags/match_tag.py,sha256=pMwy46ewquPNwa1S71sDS_0Ga8YuviSrbpBU-_CWsoQ,387
467
467
  reflex/components/tags/tag.py,sha256=hT7zHJyut6SlCiQS6SZ-CaUrHgfLgm9NjNDQWo7uCEQ,2778
468
468
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
469
- reflex/config.py,sha256=Z5VgjXRexhnjQjx2rmarR0u10VXFgtol-Amc-9Y-AfM,10772
470
- reflex/config.pyi,sha256=zQwPQ1bN4HjTHQGeKGOONrFPpw7XN7Osi2L41cRwtyw,3318
469
+ reflex/config.py,sha256=zXD24XiquKXXVvDSkQ8xQ8OE9jz2KAHlas1VPfXbYqQ,10859
470
+ reflex/config.pyi,sha256=tDVkbrlLXLAM2HYe6U4XM9I8r3E_NAZ2ivBAco94Q2g,3402
471
471
  reflex/constants/__init__.py,sha256=jraOx-vMBIhpcvw3Pk0j3syZ3SSC2IXc1XsuIY0cgBc,2036
472
472
  reflex/constants/base.py,sha256=qaJIa0W_IJ_s7uoe17PWN6T7a2Yvw8c-elGgPGG1M8M,5640
473
473
  reflex/constants/base.pyi,sha256=S9mWWVp88KP16Cnh3guOPqLtIHc24SBBk6oKdoU1jgc,2980
@@ -480,12 +480,12 @@ reflex/constants/installer.py,sha256=p-Nm54CykffQmjKXMZHBiViUH06kLDggvCD_BI-yi0I
480
480
  reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,2144
481
481
  reflex/constants/style.py,sha256=gSzu0sQEQjW81PekxJnwRs7SXQQVco-LxtVjCi0IQZc,636
482
482
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
483
- reflex/custom_components/custom_components.py,sha256=IAy_9dhH7XHPMO3VBZK70c-9Sv0rkzT4ckLPcKDQ0xs,32298
484
- reflex/event.py,sha256=ipN_UKknu3lyblBNG5Hce0MTcHcmS7Qzw0NUdaqwOH0,28047
483
+ reflex/custom_components/custom_components.py,sha256=vYBhEt0ceCTaXG_zQlD8aEUxEzyGwlc7D6RKah2Pp2A,33067
484
+ reflex/event.py,sha256=L0D-OwtLUaNuwJKuwMTKMdiwm-ErtO7fjKcnTDYP0Zw,28087
485
485
  reflex/experimental/__init__.py,sha256=tAWhAQUz4uc-MLQrKU3rbNN94YXPlKun5rG0-qAODA0,778
486
486
  reflex/experimental/client_state.py,sha256=LL28NtZ5alVXfcgBa1J8kf8k91p9doaiBFTNWM-27Zc,6597
487
487
  reflex/experimental/hooks.py,sha256=ruqdKV3smQT53vVwYvs8Zx4RyTy6nY00rD0Loe1gWdU,2196
488
- reflex/experimental/layout.py,sha256=g2tuJjgtaWn8sD-yO_H8B_DbIPjDCpORMNSgueP9UHo,7234
488
+ reflex/experimental/layout.py,sha256=qQI7zaxoXhk2JIvyBj8jymFowuBeOgcrPBwNbYEY7Ew,7267
489
489
  reflex/experimental/misc.py,sha256=4xlHrSCZaDyyiSexNKRbSfJ_UZy6-fzIBhKDeHNt94Q,281
490
490
  reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
491
491
  reflex/middleware/hydrate_middleware.py,sha256=iXgB_VID2moU9gNpc79TJHGGhQgDH6miT32T_0Ow5tU,1484
@@ -494,15 +494,15 @@ reflex/model.py,sha256=WMcJiT04HSM4fKTP9SIZJQoDrIO2vaPTsoao-X169V4,13227
494
494
  reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
495
495
  reflex/reflex.py,sha256=VJZAwe9lIqbS3VB3QkP5-OMmNXmM4gi-5TWMCJgZPcc,17826
496
496
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
497
- reflex/state.py,sha256=muy6eMhNKwv0T-mcpSoKIvI_7MAsZPnb2Y4M8RtPVbI,107042
498
- reflex/style.py,sha256=iqXJzDZ5pgkpaYHkIn_AZxu7iz1DmVg5mBSFShZhPSE,9389
499
- reflex/testing.py,sha256=vY6eRztzOVmrFqKdCVOEOICaFBuhF9K6948G68moNns,31461
497
+ reflex/state.py,sha256=46yCLK8Lu63IEuD248cYfAEN_Proa9LTXyl6ZACswLM,107026
498
+ reflex/style.py,sha256=SQJ4bCRZXII-thSwY_WjTFx4GV7Y0VWjotrUJGON5Hc,9542
499
+ reflex/testing.py,sha256=Dc8scI1LILDfBSaiWK6J0urYywWbmFXXKNr3Jec1rTE,31567
500
500
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
501
501
  reflex/utils/build.py,sha256=9LE93QlbfTHYyQWTgGZYSXX7QGDYzuE01ttWUVw_rGQ,8573
502
502
  reflex/utils/compat.py,sha256=rfN5mMcNWFXT1ESLnZlR-bYG7XJKHvAScXMWo9iBsKg,1255
503
503
  reflex/utils/console.py,sha256=-BHtwUabv8QlhGfEHupSn68fOOmPRZpkSvcqcjNBV-k,5182
504
504
  reflex/utils/exceptions.py,sha256=3dHTYMHKHBCl1PZttA9AZ4Pa813I5RlfU58JXnI8T2c,2163
505
- reflex/utils/exec.py,sha256=Y8XqS8uosanlkKzbItGQHXs8OPh16f4_gJOzSjbpvSk,10406
505
+ reflex/utils/exec.py,sha256=PQWzLALn2lojaxUFKkPePxtRseAm_aWm--JDadCbAvU,10498
506
506
  reflex/utils/export.py,sha256=UJd4BYFW9_eexhLCP4C5Ri8Cq2tWAPNVspq70lPLCyo,2270
507
507
  reflex/utils/format.py,sha256=BFadhZX6oFvIZLQ0aUnul8SDN2iURSkFz-7tJcvDlRk,25149
508
508
  reflex/utils/imports.py,sha256=v_xLZiMn7UxxPu5mXln74tXi52wYKqPuZe11Ka31WuM,2309
@@ -514,10 +514,10 @@ reflex/utils/serializers.py,sha256=bKY4UxwumFfzE-75tpCFQWRfCeXn301fALwCAUgzgDw,9
514
514
  reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
515
515
  reflex/utils/types.py,sha256=1CJQsNf2wMrMJi-3th7eELZ3MFOFUBgoIs3j5rU-MNE,15152
516
516
  reflex/utils/watch.py,sha256=HzGrHQIZ_62Di0BO46kd2AZktNA3A6nFIBuf8c6ip30,2609
517
- reflex/vars.py,sha256=MlooFk2EYY-1FeaJOSDovBWKGiEhVgR9Nrk_feid0FI,69074
517
+ reflex/vars.py,sha256=KNXryhBdIlozn1LU83VS85pTbfIQ5951kCaYPVi_nZw,69637
518
518
  reflex/vars.pyi,sha256=p7rrP7ZcV0KN26a8LSqjTWP7IzZXXSee0H9Rl4fjEtg,5753
519
- reflex-0.5.1a3.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
520
- reflex-0.5.1a3.dist-info/METADATA,sha256=4Fy6e5bOAsm_S9x0rbBUPE84IfcdVW8nW3nuv365a-E,12089
521
- reflex-0.5.1a3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
522
- reflex-0.5.1a3.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
523
- reflex-0.5.1a3.dist-info/RECORD,,
519
+ reflex-0.5.2.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
520
+ reflex-0.5.2.dist-info/METADATA,sha256=bhZKGbtAnfSViyaz2PlDKpfubTjW_9t-GN85-hJ-rOU,12083
521
+ reflex-0.5.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
522
+ reflex-0.5.2.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
523
+ reflex-0.5.2.dist-info/RECORD,,