reflex 0.5.4__py3-none-any.whl → 0.5.4a1__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 (42) hide show
  1. reflex/components/chakra/base.py +1 -3
  2. reflex/components/chakra/forms/checkbox.py +1 -1
  3. reflex/components/chakra/forms/pininput.py +1 -1
  4. reflex/components/chakra/forms/rangeslider.py +1 -1
  5. reflex/components/chakra/navigation/link.py +1 -3
  6. reflex/components/component.py +9 -24
  7. reflex/components/core/banner.py +1 -2
  8. reflex/components/core/client_side_routing.py +1 -1
  9. reflex/components/core/debounce.py +1 -3
  10. reflex/components/core/foreach.py +1 -1
  11. reflex/components/core/upload.py +0 -1
  12. reflex/components/datadisplay/code.py +1 -4
  13. reflex/components/datadisplay/dataeditor.py +6 -4
  14. reflex/components/el/elements/forms.py +3 -7
  15. reflex/components/el/elements/forms.pyi +1 -1
  16. reflex/components/markdown/markdown.py +10 -16
  17. reflex/components/markdown/markdown.pyi +8 -12
  18. reflex/components/plotly/plotly.py +3 -7
  19. reflex/components/radix/primitives/accordion.py +1 -1
  20. reflex/components/radix/themes/base.py +0 -1
  21. reflex/components/radix/themes/color_mode.py +1 -1
  22. reflex/components/radix/themes/components/checkbox.py +1 -3
  23. reflex/components/radix/themes/components/radio_group.py +4 -6
  24. reflex/components/radix/themes/components/separator.py +1 -1
  25. reflex/components/radix/themes/layout/container.py +1 -1
  26. reflex/components/radix/themes/layout/section.py +1 -1
  27. reflex/components/recharts/charts.py +1 -1
  28. reflex/components/sonner/toast.py +3 -7
  29. reflex/components/sonner/toast.pyi +1 -1
  30. reflex/components/tags/tag.py +1 -2
  31. reflex/event.py +9 -12
  32. reflex/experimental/hooks.py +2 -8
  33. reflex/experimental/layout.py +2 -9
  34. reflex/style.py +2 -2
  35. reflex/utils/compat.py +0 -5
  36. reflex/utils/format.py +1 -4
  37. reflex/vars.py +10 -18
  38. {reflex-0.5.4.dist-info → reflex-0.5.4a1.dist-info}/METADATA +1 -1
  39. {reflex-0.5.4.dist-info → reflex-0.5.4a1.dist-info}/RECORD +42 -42
  40. {reflex-0.5.4.dist-info → reflex-0.5.4a1.dist-info}/LICENSE +0 -0
  41. {reflex-0.5.4.dist-info → reflex-0.5.4a1.dist-info}/WHEEL +0 -0
  42. {reflex-0.5.4.dist-info → reflex-0.5.4a1.dist-info}/entry_points.txt +0 -0
@@ -65,9 +65,7 @@ class ChakraProvider(ChakraComponent):
65
65
  A new ChakraProvider component.
66
66
  """
67
67
  return super().create(
68
- theme=Var.create(
69
- "extendTheme(theme)", _var_is_local=False, _var_is_string=False
70
- ),
68
+ theme=Var.create("extendTheme(theme)", _var_is_local=False),
71
69
  )
72
70
 
73
71
  def _get_imports(self) -> imports.ImportDict:
@@ -51,7 +51,7 @@ class Checkbox(ChakraComponent):
51
51
  name: Var[str]
52
52
 
53
53
  # The value of the input field when checked (use is_checked prop for a bool)
54
- value: Var[str] = Var.create("true", _var_is_string=True) # type: ignore
54
+ value: Var[str] = Var.create("true") # type: ignore
55
55
 
56
56
  # The spacing between the checkbox and its label text (0.5rem)
57
57
  spacing: Var[str]
@@ -122,7 +122,7 @@ class PinInput(ChakraComponent):
122
122
  if ref:
123
123
  return (
124
124
  f"const {ref} = {str(refs_declaration)}; "
125
- f"{str(Var.create_safe(ref, _var_is_string=False).as_ref())} = {ref}"
125
+ f"{str(Var.create_safe(ref).as_ref())} = {ref}"
126
126
  )
127
127
  return super()._get_ref_hook()
128
128
 
@@ -80,7 +80,7 @@ class RangeSlider(ChakraComponent):
80
80
  if ref:
81
81
  return (
82
82
  f"const {ref} = Array.from({{length:2}}, () => useRef(null)); "
83
- f"{str(Var.create_safe(ref, _var_is_string=False).as_ref())} = {ref}"
83
+ f"{str(Var.create_safe(ref).as_ref())} = {ref}"
84
84
  )
85
85
  return super()._get_ref_hook()
86
86
 
@@ -25,9 +25,7 @@ class Link(ChakraComponent):
25
25
  text: Var[str]
26
26
 
27
27
  # What the link renders to.
28
- as_: Var[str] = BaseVar.create(
29
- value="{NextLink}", _var_is_local=False, _var_is_string=False
30
- ) # type: ignore
28
+ as_: Var[str] = BaseVar.create(value="{NextLink}", _var_is_local=False) # type: ignore
31
29
 
32
30
  # If true, the link will open in new tab.
33
31
  is_external: Var[bool]
@@ -319,9 +319,7 @@ class Component(BaseComponent, ABC):
319
319
  # Set default values for any props.
320
320
  if types._issubclass(field.type_, Var):
321
321
  field.required = False
322
- field.default = Var.create(
323
- field.default, _var_is_string=isinstance(field.default, str)
324
- )
322
+ field.default = Var.create(field.default)
325
323
  elif types._issubclass(field.type_, EventHandler):
326
324
  field.required = False
327
325
 
@@ -350,10 +348,7 @@ class Component(BaseComponent, ABC):
350
348
  "id": kwargs.get("id"),
351
349
  "children": children,
352
350
  **{
353
- prop: Var.create(
354
- kwargs[prop],
355
- _var_is_string=False if isinstance(kwargs[prop], str) else None,
356
- )
351
+ prop: Var.create(kwargs[prop])
357
352
  for prop in self.get_initial_props()
358
353
  if prop in kwargs
359
354
  },
@@ -400,10 +395,7 @@ class Component(BaseComponent, ABC):
400
395
  passed_types = None
401
396
  try:
402
397
  # Try to create a var from the value.
403
- kwargs[key] = Var.create(
404
- value,
405
- _var_is_string=False if isinstance(value, str) else None,
406
- )
398
+ kwargs[key] = Var.create(value)
407
399
 
408
400
  # Check that the var type is not None.
409
401
  if kwargs[key] is None:
@@ -428,9 +420,7 @@ class Component(BaseComponent, ABC):
428
420
  if types.is_union(passed_type):
429
421
  # We need to check all possible types in the union.
430
422
  passed_types = (
431
- arg
432
- for arg in passed_type.__args__ # type: ignore
433
- if arg is not type(None)
423
+ arg for arg in passed_type.__args__ if arg is not type(None)
434
424
  )
435
425
  if (
436
426
  # If the passed var is a union, check if all possible types are valid.
@@ -452,8 +442,7 @@ class Component(BaseComponent, ABC):
452
442
  if key in component_specific_triggers:
453
443
  # Temporarily disable full control for event triggers.
454
444
  kwargs["event_triggers"][key] = self._create_event_chain(
455
- value=value, # type: ignore
456
- args_spec=component_specific_triggers[key],
445
+ value=value, args_spec=component_specific_triggers[key]
457
446
  )
458
447
 
459
448
  # Remove any keys that were added as events.
@@ -683,9 +672,7 @@ class Component(BaseComponent, ABC):
683
672
  # Add ref to element if `id` is not None.
684
673
  ref = self.get_ref()
685
674
  if ref is not None:
686
- props["ref"] = Var.create(
687
- ref, _var_is_local=False, _var_is_string=False
688
- )
675
+ props["ref"] = Var.create(ref, _var_is_local=False)
689
676
  else:
690
677
  props = props.copy()
691
678
 
@@ -1104,9 +1091,7 @@ class Component(BaseComponent, ABC):
1104
1091
  vars.append(comp_prop)
1105
1092
  elif isinstance(comp_prop, str):
1106
1093
  # Collapse VarData encoded in f-strings.
1107
- var = Var.create_safe(
1108
- comp_prop, _var_is_string=isinstance(comp_prop, str)
1109
- )
1094
+ var = Var.create_safe(comp_prop)
1110
1095
  if var._var_data is not None:
1111
1096
  vars.append(var)
1112
1097
 
@@ -1403,7 +1388,7 @@ class Component(BaseComponent, ABC):
1403
1388
  """
1404
1389
  ref = self.get_ref()
1405
1390
  if ref is not None:
1406
- return f"const {ref} = useRef(null); {str(Var.create_safe(ref, _var_is_string=False).as_ref())} = {ref};"
1391
+ return f"const {ref} = useRef(null); {str(Var.create_safe(ref).as_ref())} = {ref};"
1407
1392
 
1408
1393
  def _get_vars_hooks(self) -> dict[str, None]:
1409
1394
  """Get the hooks required by vars referenced in this component.
@@ -2162,7 +2147,7 @@ class StatefulComponent(BaseComponent):
2162
2147
 
2163
2148
  # Store the memoized function name and hook code for this event trigger.
2164
2149
  trigger_memo[event_trigger] = (
2165
- Var.create_safe(memo_name, _var_is_string=False)._replace(
2150
+ Var.create_safe(memo_name)._replace(
2166
2151
  _var_type=EventChain, merge_var_data=memo_var_data
2167
2152
  ),
2168
2153
  f"const {memo_name} = useCallback({rendered_chain}, [{', '.join(var_deps)}])",
@@ -132,8 +132,7 @@ useEffect(() => {{
132
132
  toast.dismiss("{toast_id}");
133
133
  setUserDismissed(false); // after reconnection reset dismissed state
134
134
  }}
135
- }}, [{connect_errors}]);""",
136
- _var_is_string=False,
135
+ }}, [{connect_errors}]);"""
137
136
  )
138
137
 
139
138
  hook._var_data = VarData.merge( # type: ignore
@@ -14,7 +14,7 @@ from reflex.components.component import Component
14
14
  from reflex.components.core.cond import cond
15
15
  from reflex.vars import Var
16
16
 
17
- route_not_found: Var = Var.create_safe(constants.ROUTE_NOT_FOUND, _var_is_string=False)
17
+ route_not_found: Var = Var.create_safe(constants.ROUTE_NOT_FOUND)
18
18
 
19
19
 
20
20
  class ClientSideRouting(Component):
@@ -99,9 +99,7 @@ class DebounceInput(Component):
99
99
  props["class_name"] = f"{props.get('class_name', '')} {child.class_name}"
100
100
  child_ref = child.get_ref()
101
101
  if props.get("input_ref") is None and child_ref:
102
- props["input_ref"] = Var.create_safe(
103
- child_ref, _var_is_local=False, _var_is_string=False
104
- )
102
+ props["input_ref"] = Var.create_safe(child_ref, _var_is_local=False)
105
103
  props["id"] = child.id
106
104
 
107
105
  # Set the child element to wrap, including any imports/hooks from the child.
@@ -60,7 +60,7 @@ class Foreach(Component):
60
60
  deprecation_version="0.5.0",
61
61
  removal_version="0.6.0",
62
62
  )
63
- iterable = Var.create_safe(iterable, _var_is_string=False)
63
+ iterable = Var.create_safe(iterable)
64
64
  if iterable._var_type == Any:
65
65
  raise ForeachVarError(
66
66
  f"Could not foreach over var `{iterable._var_full_name}` of type Any. "
@@ -119,7 +119,6 @@ def get_upload_dir() -> Path:
119
119
 
120
120
  uploaded_files_url_prefix: Var = Var.create_safe(
121
121
  "${getBackendURL(env.UPLOAD)}",
122
- _var_is_string=False,
123
122
  _var_data=VarData(
124
123
  imports={
125
124
  f"/{Dirs.STATE_PATH}": [imports.ImportVar(tag="getBackendURL")],
@@ -504,13 +504,10 @@ class CodeBlock(Component):
504
504
  style=Var.create(
505
505
  format.to_camel_case(f"{predicate}{qmark}{value.replace('`', '')}"),
506
506
  _var_is_local=False,
507
- _var_is_string=False,
508
507
  )
509
508
  ).remove_props("theme", "code")
510
509
  if self.code is not None:
511
- out.special_props.add(
512
- Var.create_safe(f"children={str(self.code)}", _var_is_string=False)
513
- )
510
+ out.special_props.add(Var.create_safe(f"children={str(self.code)}"))
514
511
  return out
515
512
 
516
513
  @staticmethod
@@ -263,9 +263,7 @@ class DataEditor(NoSSRComponent):
263
263
 
264
264
  # Define the name of the getData callback associated with this component and assign to get_cell_content.
265
265
  data_callback = f"getData_{editor_id}"
266
- self.get_cell_content = Var.create(
267
- data_callback, _var_is_local=False, _var_is_string=False
268
- ) # type: ignore
266
+ self.get_cell_content = Var.create(data_callback, _var_is_local=False) # type: ignore
269
267
 
270
268
  code = [f"function {data_callback}([col, row])" "{"]
271
269
 
@@ -303,7 +301,11 @@ class DataEditor(NoSSRComponent):
303
301
 
304
302
  # If rows is not provided, determine from data.
305
303
  if rows is None:
306
- props["rows"] = data.length() if isinstance(data, Var) else len(data)
304
+ props["rows"] = (
305
+ data.length() # BaseVar.create(value=f"{data}.length()", is_local=False)
306
+ if isinstance(data, Var)
307
+ else len(data)
308
+ )
307
309
 
308
310
  if not isinstance(columns, Var) and len(columns):
309
311
  if (
@@ -17,7 +17,7 @@ from reflex.vars import BaseVar, Var
17
17
 
18
18
  from .base import BaseHTML
19
19
 
20
- FORM_DATA = Var.create("form_data", _var_is_string=False)
20
+ FORM_DATA = Var.create("form_data")
21
21
  HANDLE_SUBMIT_JS_JINJA2 = Environment().from_string(
22
22
  """
23
23
  const handleSubmit_{{ handle_submit_unique_name }} = useCallback((ev) => {
@@ -221,19 +221,17 @@ class Form(BaseHTML):
221
221
  # when ref start with refs_ it's an array of refs, so we need different method
222
222
  # to collect data
223
223
  if ref.startswith("refs_"):
224
- ref_var = Var.create_safe(ref[:-3], _var_is_string=False).as_ref()
224
+ ref_var = Var.create_safe(ref[:-3]).as_ref()
225
225
  form_refs[ref[5:-3]] = Var.create_safe(
226
226
  f"getRefValues({str(ref_var)})",
227
227
  _var_is_local=False,
228
- _var_is_string=False,
229
228
  _var_data=ref_var._var_data,
230
229
  )
231
230
  else:
232
- ref_var = Var.create_safe(ref, _var_is_string=False).as_ref()
231
+ ref_var = Var.create_safe(ref).as_ref()
233
232
  form_refs[ref[4:]] = Var.create_safe(
234
233
  f"getRefValue({str(ref_var)})",
235
234
  _var_is_local=False,
236
- _var_is_string=False,
237
235
  _var_data=ref_var._var_data,
238
236
  )
239
237
  return form_refs
@@ -632,7 +630,6 @@ class Textarea(BaseHTML):
632
630
  on_key_down=Var.create_safe(
633
631
  f"(e) => enterKeySubmitOnKeyDown(e, {self.enter_key_submit._var_name_unwrapped})",
634
632
  _var_is_local=False,
635
- _var_is_string=False,
636
633
  _var_data=self.enter_key_submit._var_data,
637
634
  )
638
635
  )
@@ -641,7 +638,6 @@ class Textarea(BaseHTML):
641
638
  on_input=Var.create_safe(
642
639
  f"(e) => autoHeightOnInput(e, {self.auto_height._var_name_unwrapped})",
643
640
  _var_is_local=False,
644
- _var_is_string=False,
645
641
  _var_data=self.auto_height._var_data,
646
642
  )
647
643
  )
@@ -19,7 +19,7 @@ from reflex.utils.format import format_event_chain
19
19
  from reflex.vars import BaseVar, Var
20
20
  from .base import BaseHTML
21
21
 
22
- FORM_DATA = Var.create("form_data", _var_is_string=False)
22
+ FORM_DATA = Var.create("form_data")
23
23
  HANDLE_SUBMIT_JS_JINJA2 = Environment().from_string(
24
24
  "\n const handleSubmit_{{ handle_submit_unique_name }} = useCallback((ev) => {\n const $form = ev.target\n ev.preventDefault()\n const {{ form_data }} = {...Object.fromEntries(new FormData($form).entries()), ...{{ field_ref_mapping }}}\n\n {{ on_submit_event_chain }}\n\n if ({{ reset_on_submit }}) {\n $form.reset()\n }\n })\n "
25
25
  )
@@ -23,23 +23,19 @@ from reflex.utils.imports import ImportVar
23
23
  from reflex.vars import Var
24
24
 
25
25
  # Special vars used in the component map.
26
- _CHILDREN = Var.create_safe("children", _var_is_local=False, _var_is_string=False)
27
- _PROPS = Var.create_safe("...props", _var_is_local=False, _var_is_string=False)
28
- _MOCK_ARG = Var.create_safe("", _var_is_string=False)
26
+ _CHILDREN = Var.create_safe("children", _var_is_local=False)
27
+ _PROPS = Var.create_safe("...props", _var_is_local=False)
28
+ _MOCK_ARG = Var.create_safe("")
29
29
 
30
30
  # Special remark plugins.
31
- _REMARK_MATH = Var.create_safe("remarkMath", _var_is_local=False, _var_is_string=False)
32
- _REMARK_GFM = Var.create_safe("remarkGfm", _var_is_local=False, _var_is_string=False)
33
- _REMARK_UNWRAP_IMAGES = Var.create_safe(
34
- "remarkUnwrapImages", _var_is_local=False, _var_is_string=False
35
- )
31
+ _REMARK_MATH = Var.create_safe("remarkMath", _var_is_local=False)
32
+ _REMARK_GFM = Var.create_safe("remarkGfm", _var_is_local=False)
33
+ _REMARK_UNWRAP_IMAGES = Var.create_safe("remarkUnwrapImages", _var_is_local=False)
36
34
  _REMARK_PLUGINS = Var.create_safe([_REMARK_MATH, _REMARK_GFM, _REMARK_UNWRAP_IMAGES])
37
35
 
38
36
  # Special rehype plugins.
39
- _REHYPE_KATEX = Var.create_safe(
40
- "rehypeKatex", _var_is_local=False, _var_is_string=False
41
- )
42
- _REHYPE_RAW = Var.create_safe("rehypeRaw", _var_is_local=False, _var_is_string=False)
37
+ _REHYPE_KATEX = Var.create_safe("rehypeKatex", _var_is_local=False)
38
+ _REHYPE_RAW = Var.create_safe("rehypeRaw", _var_is_local=False)
43
39
  _REHYPE_PLUGINS = Var.create_safe([_REHYPE_KATEX, _REHYPE_RAW])
44
40
 
45
41
  # These tags do NOT get props passed to them
@@ -214,9 +210,7 @@ class Markdown(Component):
214
210
  # If the children are set as a prop, don't pass them as children.
215
211
  children_prop = props.pop("children", None)
216
212
  if children_prop is not None:
217
- special_props.add(
218
- Var.create_safe(f"children={str(children_prop)}", _var_is_string=False)
219
- )
213
+ special_props.add(Var.create_safe(f"children={str(children_prop)}"))
220
214
  children = []
221
215
 
222
216
  # Get the component.
@@ -265,7 +259,7 @@ class Markdown(Component):
265
259
  return inline ? (
266
260
  {self.format_component("code")}
267
261
  ) : (
268
- {self.format_component("codeblock", language=Var.create_safe("language", _var_is_local=False, _var_is_string=False))}
262
+ {self.format_component("codeblock", language=Var.create_safe("language", _var_is_local=False))}
269
263
  );
270
264
  }}}}""".replace("\n", " ")
271
265
 
@@ -26,19 +26,15 @@ from reflex.utils import imports, types
26
26
  from reflex.utils.imports import ImportVar
27
27
  from reflex.vars import Var
28
28
 
29
- _CHILDREN = Var.create_safe("children", _var_is_local=False, _var_is_string=False)
30
- _PROPS = Var.create_safe("...props", _var_is_local=False, _var_is_string=False)
31
- _MOCK_ARG = Var.create_safe("", _var_is_string=False)
32
- _REMARK_MATH = Var.create_safe("remarkMath", _var_is_local=False, _var_is_string=False)
33
- _REMARK_GFM = Var.create_safe("remarkGfm", _var_is_local=False, _var_is_string=False)
34
- _REMARK_UNWRAP_IMAGES = Var.create_safe(
35
- "remarkUnwrapImages", _var_is_local=False, _var_is_string=False
36
- )
29
+ _CHILDREN = Var.create_safe("children", _var_is_local=False)
30
+ _PROPS = Var.create_safe("...props", _var_is_local=False)
31
+ _MOCK_ARG = Var.create_safe("")
32
+ _REMARK_MATH = Var.create_safe("remarkMath", _var_is_local=False)
33
+ _REMARK_GFM = Var.create_safe("remarkGfm", _var_is_local=False)
34
+ _REMARK_UNWRAP_IMAGES = Var.create_safe("remarkUnwrapImages", _var_is_local=False)
37
35
  _REMARK_PLUGINS = Var.create_safe([_REMARK_MATH, _REMARK_GFM, _REMARK_UNWRAP_IMAGES])
38
- _REHYPE_KATEX = Var.create_safe(
39
- "rehypeKatex", _var_is_local=False, _var_is_string=False
40
- )
41
- _REHYPE_RAW = Var.create_safe("rehypeRaw", _var_is_local=False, _var_is_string=False)
36
+ _REHYPE_KATEX = Var.create_safe("rehypeKatex", _var_is_local=False)
37
+ _REHYPE_RAW = Var.create_safe("rehypeRaw", _var_is_local=False)
42
38
  _REHYPE_PLUGINS = Var.create_safe([_REHYPE_KATEX, _REHYPE_RAW])
43
39
  NO_PROPS_TAGS = ("ul", "ol", "li")
44
40
 
@@ -29,7 +29,7 @@ def _event_data_signature(e0: Var) -> List[Any]:
29
29
  Returns:
30
30
  The event key extracted from the event data (if defined).
31
31
  """
32
- return [Var.create_safe(f"{e0}?.event", _var_is_string=False)]
32
+ return [Var.create_safe(f"{e0}?.event")]
33
33
 
34
34
 
35
35
  def _event_points_data_signature(e0: Var) -> List[Any]:
@@ -42,10 +42,9 @@ def _event_points_data_signature(e0: Var) -> List[Any]:
42
42
  The event data and the extracted points.
43
43
  """
44
44
  return [
45
- Var.create_safe(f"{e0}?.event", _var_is_string=False),
45
+ Var.create_safe(f"{e0}?.event"),
46
46
  Var.create_safe(
47
47
  f"extractPoints({e0}?.points)",
48
- _var_is_string=False,
49
48
  ),
50
49
  ]
51
50
 
@@ -278,14 +277,11 @@ const extractPoints = (points) => {
278
277
  Var.create_safe(
279
278
  f"{{...mergician({figure._var_name_unwrapped},"
280
279
  f"{','.join(md._var_name_unwrapped for md in merge_dicts)})}}",
281
- _var_is_string=False,
282
280
  ),
283
281
  )
284
282
  else:
285
283
  # Spread the figure dict over props, nothing to merge.
286
284
  tag.special_props.add(
287
- Var.create_safe(
288
- f"{{...{figure._var_name_unwrapped}}}", _var_is_string=False
289
- )
285
+ Var.create_safe(f"{{...{figure._var_name_unwrapped}}}")
290
286
  )
291
287
  return tag
@@ -105,7 +105,7 @@ class AccordionRoot(AccordionComponent):
105
105
  duration: Var[int] = Var.create_safe(DEFAULT_ANIMATION_DURATION)
106
106
 
107
107
  # The easing function to use for the animation.
108
- easing: Var[str] = Var.create_safe(DEFAULT_ANIMATION_EASING, _var_is_string=True)
108
+ easing: Var[str] = Var.create_safe(DEFAULT_ANIMATION_EASING)
109
109
 
110
110
  # Whether to show divider lines between items.
111
111
  show_dividers: Var[bool]
@@ -233,7 +233,6 @@ class Theme(RadixThemesComponent):
233
233
  css=Var.create(
234
234
  "{{...theme.styles.global[':root'], ...theme.styles.global.body}}",
235
235
  _var_is_local=False,
236
- _var_is_string=False,
237
236
  ),
238
237
  )
239
238
  return tag
@@ -73,7 +73,7 @@ position_map = {
73
73
 
74
74
  # needed to inverse contains for find
75
75
  def _find(const, var):
76
- return Var.create_safe(const, _var_is_string=False).contains(var)
76
+ return Var.create_safe(const).contains(var)
77
77
 
78
78
 
79
79
  def _set_var_default(props, position, prop, default1, default2=""):
@@ -130,9 +130,7 @@ class HighLevelCheckbox(RadixThemesComponent):
130
130
  }
131
131
 
132
132
  @classmethod
133
- def create(
134
- cls, text: Var[str] = Var.create_safe("", _var_is_string=True), **props
135
- ) -> Component:
133
+ def create(cls, text: Var[str] = Var.create_safe(""), **props) -> Component:
136
134
  """Create a checkbox with a label.
137
135
 
138
136
  Args:
@@ -91,10 +91,10 @@ class HighLevelRadioGroup(RadixThemesComponent):
91
91
  direction: Var[LiteralFlexDirection]
92
92
 
93
93
  # The gap between the items of the radio group.
94
- spacing: Var[LiteralSpacing] = Var.create_safe("2", _var_is_string=True)
94
+ spacing: Var[LiteralSpacing] = Var.create_safe("2")
95
95
 
96
96
  # The size of the radio group.
97
- size: Var[Literal["1", "2", "3"]] = Var.create_safe("2", _var_is_string=True)
97
+ size: Var[Literal["1", "2", "3"]] = Var.create_safe("2")
98
98
 
99
99
  # The variant of the radio group
100
100
  variant: Var[Literal["classic", "surface", "soft"]]
@@ -151,13 +151,11 @@ class HighLevelRadioGroup(RadixThemesComponent):
151
151
  default_value = Var.create(default_value, _var_is_string=True) # type: ignore
152
152
  else:
153
153
  default_value = (
154
- Var.create(default_value, _var_is_string=False)
155
- .to_string() # type: ignore
156
- ._replace(_var_is_local=False)
154
+ Var.create(default_value).to_string()._replace(_var_is_local=False) # type: ignore
157
155
  )
158
156
 
159
157
  def radio_group_item(value: str | Var) -> Component:
160
- item_value = Var.create(value, _var_is_string=False) # type: ignore
158
+ item_value = Var.create(value) # type: ignore
161
159
  item_value = rx.cond(
162
160
  item_value._type() == str, # type: ignore
163
161
  item_value,
@@ -17,7 +17,7 @@ class Separator(RadixThemesComponent):
17
17
  tag = "Separator"
18
18
 
19
19
  # The size of the select: "1" | "2" | "3" | "4"
20
- size: Var[LiteralSeperatorSize] = Var.create_safe("4", _var_is_string=True)
20
+ size: Var[LiteralSeperatorSize] = Var.create_safe("4")
21
21
 
22
22
  # The color of the select
23
23
  color_scheme: Var[LiteralAccentColor]
@@ -21,7 +21,7 @@ class Container(elements.Div, RadixThemesComponent):
21
21
  tag = "Container"
22
22
 
23
23
  # The size of the container: "1" - "4" (default "3")
24
- size: Var[LiteralContainerSize] = Var.create_safe("3", _var_is_string=True)
24
+ size: Var[LiteralContainerSize] = Var.create_safe("3")
25
25
 
26
26
  @classmethod
27
27
  def create(
@@ -17,7 +17,7 @@ class Section(elements.Section, RadixThemesComponent):
17
17
  tag = "Section"
18
18
 
19
19
  # The size of the section: "1" - "3" (default "2")
20
- size: Var[LiteralSectionSize] = Var.create_safe("2", _var_is_string=True)
20
+ size: Var[LiteralSectionSize] = Var.create_safe("2")
21
21
 
22
22
 
23
23
  section = Section.create
@@ -150,7 +150,7 @@ class BarChart(ChartBase):
150
150
  alias = "RechartsBarChart"
151
151
 
152
152
  # The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number
153
- bar_category_gap: Var[Union[str, int]] = Var.create_safe("10%", _var_is_string=True) # type: ignore
153
+ bar_category_gap: Var[Union[str, int]] = Var.create_safe("10%") # type: ignore
154
154
 
155
155
  # The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number
156
156
  bar_gap: Var[Union[str, int]] = Var.create_safe(4) # type: ignore
@@ -28,7 +28,7 @@ LiteralPosition = Literal[
28
28
  ]
29
29
 
30
30
 
31
- toast_ref = Var.create_safe("refs['__toast']", _var_is_string=False)
31
+ toast_ref = Var.create_safe("refs['__toast']")
32
32
 
33
33
 
34
34
  class ToastAction(Base):
@@ -65,8 +65,7 @@ def _toast_callback_signature(toast: Var) -> list[Var]:
65
65
  """
66
66
  return [
67
67
  Var.create_safe(
68
- f"(() => {{let {{action, cancel, onDismiss, onAutoClose, ...rest}} = {toast}; return rest}})()",
69
- _var_is_string=False,
68
+ f"(() => {{let {{action, cancel, onDismiss, onAutoClose, ...rest}} = {toast}; return rest}})()"
70
69
  )
71
70
  ]
72
71
 
@@ -180,9 +179,7 @@ class Toaster(Component):
180
179
  visible_toasts: Var[int]
181
180
 
182
181
  # the position of the toast
183
- position: Var[LiteralPosition] = Var.create_safe(
184
- "bottom-right", _var_is_string=True
185
- )
182
+ position: Var[LiteralPosition] = Var.create_safe("bottom-right")
186
183
 
187
184
  # whether to show the close button
188
185
  close_button: Var[bool] = Var.create_safe(False)
@@ -220,7 +217,6 @@ class Toaster(Component):
220
217
  hook = Var.create_safe(
221
218
  f"{toast_ref} = toast",
222
219
  _var_is_local=True,
223
- _var_is_string=False,
224
220
  _var_data=VarData(
225
221
  imports={
226
222
  "/utils/state": [ImportVar(tag="refs")],
@@ -27,7 +27,7 @@ LiteralPosition = Literal[
27
27
  "bottom-center",
28
28
  "bottom-right",
29
29
  ]
30
- toast_ref = Var.create_safe("refs['__toast']", _var_is_string=False)
30
+ toast_ref = Var.create_safe("refs['__toast']")
31
31
 
32
32
  class ToastAction(Base):
33
33
  label: str
@@ -41,8 +41,7 @@ class Tag(Base):
41
41
  # Convert any props to vars.
42
42
  if "props" in kwargs:
43
43
  kwargs["props"] = {
44
- name: Var.create(value, _var_is_string=False)
45
- for name, value in kwargs["props"].items()
44
+ name: Var.create(value) for name, value in kwargs["props"].items()
46
45
  }
47
46
  super().__init__(*args, **kwargs)
48
47
 
reflex/event.py CHANGED
@@ -186,7 +186,7 @@ class EventHandler(EventActionsMixin):
186
186
 
187
187
  # Get the function args.
188
188
  fn_args = inspect.getfullargspec(self.fn).args[1:]
189
- fn_args = (Var.create_safe(arg, _var_is_string=False) for arg in fn_args)
189
+ fn_args = (Var.create_safe(arg) for arg in fn_args)
190
190
 
191
191
  # Construct the payload.
192
192
  values = []
@@ -264,7 +264,7 @@ class EventSpec(EventActionsMixin):
264
264
 
265
265
  # Get the remaining unfilled function args.
266
266
  fn_args = inspect.getfullargspec(self.handler.fn).args[1 + len(self.args) :]
267
- fn_args = (Var.create_safe(arg, _var_is_string=False) for arg in fn_args)
267
+ fn_args = (Var.create_safe(arg) for arg in fn_args)
268
268
 
269
269
  # Construct the payload.
270
270
  values = []
@@ -389,13 +389,13 @@ class FileUpload(Base):
389
389
 
390
390
  spec_args = [
391
391
  (
392
- Var.create_safe("files", _var_is_string=False),
393
- Var.create_safe(
394
- f"filesById.{upload_id}", _var_is_string=False
395
- )._replace(_var_data=upload_files_context_var_data),
392
+ Var.create_safe("files"),
393
+ Var.create_safe(f"filesById.{upload_id}")._replace(
394
+ _var_data=upload_files_context_var_data
395
+ ),
396
396
  ),
397
397
  (
398
- Var.create_safe("upload_id", _var_is_string=False),
398
+ Var.create_safe("upload_id"),
399
399
  Var.create_safe(upload_id, _var_is_string=True),
400
400
  ),
401
401
  ]
@@ -424,7 +424,7 @@ class FileUpload(Base):
424
424
  formatted_chain = str(format.format_prop(on_upload_progress_chain))
425
425
  spec_args.append(
426
426
  (
427
- Var.create_safe("on_upload_progress", _var_is_string=False),
427
+ Var.create_safe("on_upload_progress"),
428
428
  BaseVar(
429
429
  _var_name=formatted_chain.strip("{}"),
430
430
  _var_type=EventChain,
@@ -464,10 +464,7 @@ def server_side(name: str, sig: inspect.Signature, **kwargs) -> EventSpec:
464
464
  return EventSpec(
465
465
  handler=EventHandler(fn=fn),
466
466
  args=tuple(
467
- (
468
- Var.create_safe(k, _var_is_string=False),
469
- Var.create_safe(v, _var_is_string=isinstance(v, str)),
470
- )
467
+ (Var.create_safe(k), Var.create_safe(v, _var_is_string=isinstance(v, str)))
471
468
  for k, v in kwargs.items()
472
469
  ),
473
470
  )
@@ -20,10 +20,8 @@ def const(name, value) -> Var:
20
20
  The constant Var.
21
21
  """
22
22
  if isinstance(name, list):
23
- return Var.create_safe(
24
- f"const [{', '.join(name)}] = {value}", _var_is_string=False
25
- )
26
- return Var.create_safe(f"const {name} = {value}", _var_is_string=False)
23
+ return Var.create_safe(f"const [{', '.join(name)}] = {value}")
24
+ return Var.create_safe(f"const {name} = {value}")
27
25
 
28
26
 
29
27
  def useCallback(func, deps) -> Var:
@@ -38,7 +36,6 @@ def useCallback(func, deps) -> Var:
38
36
  """
39
37
  return Var.create_safe(
40
38
  f"useCallback({func}, {deps})" if deps else f"useCallback({func})",
41
- _var_is_string=False,
42
39
  _var_data=VarData(imports=_compose_react_imports(["useCallback"])),
43
40
  )
44
41
 
@@ -54,7 +51,6 @@ def useContext(context) -> Var:
54
51
  """
55
52
  return Var.create_safe(
56
53
  f"useContext({context})",
57
- _var_is_string=False,
58
54
  _var_data=VarData(imports=_compose_react_imports(["useContext"])),
59
55
  )
60
56
 
@@ -70,7 +66,6 @@ def useRef(default) -> Var:
70
66
  """
71
67
  return Var.create_safe(
72
68
  f"useRef({default})",
73
- _var_is_string=False,
74
69
  _var_data=VarData(imports=_compose_react_imports(["useRef"])),
75
70
  )
76
71
 
@@ -89,7 +84,6 @@ def useState(var_name, default=None) -> Var:
89
84
  [var_name, f"set{var_name.capitalize()}"],
90
85
  Var.create_safe(
91
86
  f"useState({default})",
92
- _var_is_string=False,
93
87
  _var_data=VarData(imports=_compose_react_imports(["useState"])),
94
88
  ),
95
89
  )
@@ -52,11 +52,7 @@ class Sidebar(Box, MemoizationLeaf):
52
52
  """
53
53
  sidebar: Component = self.children[-2] # type: ignore
54
54
  spacer: Component = self.children[-1] # type: ignore
55
- open = (
56
- self.State.open # type: ignore
57
- if self.State
58
- else Var.create_safe("open", _var_is_string=False)
59
- )
55
+ open = self.State.open if self.State else Var.create("open") # type: ignore
60
56
  sidebar.style["display"] = spacer.style["display"] = cond(open, "block", "none")
61
57
 
62
58
  return Style(
@@ -171,10 +167,7 @@ class SidebarTrigger(Fragment):
171
167
  if sidebar.State:
172
168
  open, toggle = sidebar.State.open, sidebar.State.toggle # type: ignore
173
169
  else:
174
- open, toggle = (
175
- Var.create_safe("open", _var_is_string=False),
176
- call_script(Var.create_safe("setOpen(!open)", _var_is_string=False)),
177
- )
170
+ open, toggle = Var.create("open"), call_script(Var.create("setOpen(!open)")) # type: ignore
178
171
 
179
172
  trigger_props["left"] = cond(open, f"calc({sidebar_width} - 32px)", "0")
180
173
 
reflex/style.py CHANGED
@@ -79,7 +79,7 @@ def convert_item(style_item: str | Var) -> tuple[str, VarData | None]:
79
79
  return str(style_item), style_item._var_data
80
80
 
81
81
  # Otherwise, convert to Var to collapse VarData encoded in f-string.
82
- new_var = Var.create(style_item, _var_is_string=False)
82
+ new_var = Var.create(style_item)
83
83
  if new_var is not None and new_var._var_data:
84
84
  # The wrapped backtick is used to identify the Var for interpolation.
85
85
  return f"`{str(new_var)}`", new_var._var_data
@@ -204,7 +204,7 @@ class Style(dict):
204
204
  value: The value to set.
205
205
  """
206
206
  # Create a Var to collapse VarData encoded in f-string.
207
- _var = Var.create(value, _var_is_string=False)
207
+ _var = Var.create(value)
208
208
  if _var is not None:
209
209
  # Carry the imports/hooks when setting a Var as a value.
210
210
  self._var_data = VarData.merge(self._var_data, _var._var_data)
reflex/utils/compat.py CHANGED
@@ -21,11 +21,6 @@ def pydantic_v1_patch():
21
21
  try:
22
22
  import pydantic.v1 # type: ignore
23
23
 
24
- if pydantic.__version__.startswith("1."):
25
- # pydantic v1 is already installed
26
- yield
27
- return
28
-
29
24
  sys.modules["pydantic.fields"] = pydantic.v1.fields # type: ignore
30
25
  sys.modules["pydantic.main"] = pydantic.v1.main # type: ignore
31
26
  sys.modules["pydantic.errors"] = pydantic.v1.errors # type: ignore
reflex/utils/format.py CHANGED
@@ -916,7 +916,4 @@ def format_data_editor_cell(cell: Any):
916
916
  Returns:
917
917
  The formatted cell.
918
918
  """
919
- return {
920
- "kind": Var.create(value="GridCellKind.Text", _var_is_string=False),
921
- "data": cell,
922
- }
919
+ return {"kind": Var.create(value="GridCellKind.Text"), "data": cell}
reflex/vars.py CHANGED
@@ -535,7 +535,7 @@ class Var:
535
535
  if other is None:
536
536
  return self._replace()
537
537
  if not isinstance(other, Var):
538
- other = Var.create(other, _var_is_string=False)
538
+ other = Var.create(other)
539
539
  return self._replace(
540
540
  _var_name=f"{{...{self._var_name}, ...{other._var_name}}}" # type: ignore
541
541
  )
@@ -831,9 +831,9 @@ class Var:
831
831
  from reflex.utils import format
832
832
 
833
833
  if isinstance(other, str):
834
- other = Var.create(json.dumps(other), _var_is_string=False)
834
+ other = Var.create(json.dumps(other))
835
835
  else:
836
- other = Var.create(other, _var_is_string=False)
836
+ other = Var.create(other)
837
837
 
838
838
  type_ = type_ or self._var_type
839
839
 
@@ -1416,7 +1416,7 @@ class Var:
1416
1416
  if isinstance(other, str):
1417
1417
  other = Var.create(json.dumps(other), _var_is_string=True)
1418
1418
  elif not isinstance(other, Var):
1419
- other = Var.create(other, _var_is_string=False)
1419
+ other = Var.create(other)
1420
1420
  if types._issubclass(self._var_type, Dict):
1421
1421
  return self._replace(
1422
1422
  _var_name=f"{self._var_name}.{method}({other._var_full_name})",
@@ -1520,11 +1520,7 @@ class Var:
1520
1520
  if not types._issubclass(self._var_type, str):
1521
1521
  raise VarTypeError(f"Cannot strip non-string var {self._var_full_name}.")
1522
1522
 
1523
- other = (
1524
- Var.create_safe(json.dumps(other), _var_is_string=False)
1525
- if isinstance(other, str)
1526
- else other
1527
- )
1523
+ other = Var.create_safe(json.dumps(other)) if isinstance(other, str) else other
1528
1524
 
1529
1525
  return self._replace(
1530
1526
  _var_name=f"{self._var_name}.replace(/^${other._var_full_name}|${other._var_full_name}$/g, '')",
@@ -1547,11 +1543,7 @@ class Var:
1547
1543
  if not types._issubclass(self._var_type, str):
1548
1544
  raise VarTypeError(f"Cannot split non-string var {self._var_full_name}.")
1549
1545
 
1550
- other = (
1551
- Var.create_safe(json.dumps(other), _var_is_string=False)
1552
- if isinstance(other, str)
1553
- else other
1554
- )
1546
+ other = Var.create_safe(json.dumps(other)) if isinstance(other, str) else other
1555
1547
 
1556
1548
  return self._replace(
1557
1549
  _var_name=f"{self._var_name}.split({other._var_full_name})",
@@ -1576,11 +1568,11 @@ class Var:
1576
1568
  raise VarTypeError(f"Cannot join non-list var {self._var_full_name}.")
1577
1569
 
1578
1570
  if other is None:
1579
- other = Var.create_safe('""', _var_is_string=False)
1571
+ other = Var.create_safe('""')
1580
1572
  if isinstance(other, str):
1581
- other = Var.create_safe(json.dumps(other), _var_is_string=False)
1573
+ other = Var.create_safe(json.dumps(other))
1582
1574
  else:
1583
- other = Var.create_safe(other, _var_is_string=False)
1575
+ other = Var.create_safe(other)
1584
1576
 
1585
1577
  return self._replace(
1586
1578
  _var_name=f"{self._var_name}.join({other._var_full_name})",
@@ -1649,7 +1641,7 @@ class Var:
1649
1641
  if not isinstance(v2, Var):
1650
1642
  v2 = Var.create(v2)
1651
1643
  if v2 is None:
1652
- v2 = Var.create_safe("undefined", _var_is_string=False)
1644
+ v2 = Var.create_safe("undefined")
1653
1645
  elif v2._var_type != int:
1654
1646
  raise VarTypeError(f"Cannot get range on non-int var {v2._var_full_name}.")
1655
1647
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.4
3
+ Version: 0.5.4a1
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -95,7 +95,7 @@ reflex/components/base/meta.pyi,sha256=5JJdNt2irustsLfgkyCAP5_Q8bg3sKm6CpPZ3pO4e
95
95
  reflex/components/base/script.py,sha256=_AfHhLy2DJnb_9zIsYyjaYvSUuWpXIh8LNB1Zicesq0,2323
96
96
  reflex/components/base/script.pyi,sha256=NkEgHT9WVWnSE8tHPwLl9MFjKg5TCFCQIWvHHFg9vOI,4524
97
97
  reflex/components/chakra/__init__.py,sha256=IvxaXNdJH_df-HZRf4IXilvl6XpLLzIzCSlLL0KVMsU,6378
98
- reflex/components/chakra/base.py,sha256=oK8m7AXR_LQL3cs1bznayqLpLvGWJIrNOYAxV9Wz3Rw,5294
98
+ reflex/components/chakra/base.py,sha256=xoU5sz5_uu7lKad7Oo1VPuFQTiZjdI4Uujxth19wYbw,5242
99
99
  reflex/components/chakra/base.pyi,sha256=YitA2O1JU7akR8SEFxPuaDeEXjt1W5JrButw6nnlmCg,10917
100
100
  reflex/components/chakra/datadisplay/__init__.py,sha256=yDWJHYXf8i-WTXMdAAU4alskP1RLizvsYt9BKAi0Uts,459
101
101
  reflex/components/chakra/datadisplay/badge.py,sha256=G0x7yacjFYQSD0Wrxc6UvC3kHJJ-qlRNbDyONxpbVmU,352
@@ -137,7 +137,7 @@ reflex/components/chakra/feedback/spinner.pyi,sha256=2Prqil2CD4WzhPHozfRy6i92U9M
137
137
  reflex/components/chakra/forms/__init__.py,sha256=6TeCxpmKfVy3IxkhTE8amKowHiprEs5Q9P4C_BArygE,1453
138
138
  reflex/components/chakra/forms/button.py,sha256=tglnHifAxYlP8U08zrr5mSB3yrg52qUD-4rq3I3jJf0,2395
139
139
  reflex/components/chakra/forms/button.pyi,sha256=fgkzTkqvk_QAyqLOZ9pmvc7RY4F8jWCD45kV18vXkr8,10545
140
- reflex/components/chakra/forms/checkbox.py,sha256=CQck4B-G6UiBeEAzIedatHoCVshKJUD2LjCG0Cod4dc,2785
140
+ reflex/components/chakra/forms/checkbox.py,sha256=aicuKq19yCv_johCznquBD4STvacJ-74zbZ6VVfB-mk,2764
141
141
  reflex/components/chakra/forms/checkbox.pyi,sha256=otg0hV05KaU0BT_46LtIr91ERHPHtKV1ILiJl5SKsDU,10301
142
142
  reflex/components/chakra/forms/colormodeswitch.py,sha256=Cveeiop0yXsoMKid2cc7fDwhAgfFPGf2cTAtEdIkqi8,2860
143
143
  reflex/components/chakra/forms/colormodeswitch.pyi,sha256=lxzi6hzj2SifnQZNAdQWLFTXpGix6V6ggJENQhi3OO8,18459
@@ -160,11 +160,11 @@ reflex/components/chakra/forms/numberinput.py,sha256=8TrkEmE4PyxDQ0nlHIWwz-1Jhpy
160
160
  reflex/components/chakra/forms/numberinput.pyi,sha256=vM0cxbbKgaH8EtIBKCElEo9TE9SEzeDOFbyMSyF2-Cc,18093
161
161
  reflex/components/chakra/forms/password.py,sha256=rjFELopI5j5exce9QZJqf4hSIp5aW44DUbpbpfiB24w,256
162
162
  reflex/components/chakra/forms/password.pyi,sha256=7fVBY1OjuJKJZiOIZrDgjBUBMzg1UCQGWlRsPpVr0Qs,5834
163
- reflex/components/chakra/forms/pininput.py,sha256=Pq6bBIixZbwLd3e40k2DkCwpGUA_fA5zz7aVfM1HGAI,6525
163
+ reflex/components/chakra/forms/pininput.py,sha256=xE1sr1BRIv7gLc6mpiZU7RhWz7vrDqBRTWcCCaZnfr8,6503
164
164
  reflex/components/chakra/forms/pininput.pyi,sha256=iGhgp2XjZ74YM0jkdW-jGsZJflunfWwhD6co_me4GgI,9369
165
165
  reflex/components/chakra/forms/radio.py,sha256=WLTyDrWYq-u6fVviURs8_oKrn8q-CGq2v40x3qC3lcA,3172
166
166
  reflex/components/chakra/forms/radio.pyi,sha256=zLWvegKDJFCLFi-kPfjQvm0xVHl3GVoBAsqumkI_kpI,8410
167
- reflex/components/chakra/forms/rangeslider.py,sha256=1phPUC72HQVPgLHyWEMpoGkTfC17rOYPEVVfAPZB5RM,4565
167
+ reflex/components/chakra/forms/rangeslider.py,sha256=Bvao4GIOBpeEZ171Uj6n5xyvCujnDsQCyqYft5x6Ivo,4543
168
168
  reflex/components/chakra/forms/rangeslider.pyi,sha256=nXAMZhD_thS2UuSTsYOCXuMkm6azASjFbhZAEoq9l2c,13939
169
169
  reflex/components/chakra/forms/select.py,sha256=20J-MnaRSbRY2TjnbrlSIQrJMWJ7IKNWQGXj4mVEQUY,3624
170
170
  reflex/components/chakra/forms/select.pyi,sha256=d44yf0lTQtFi_fB4d_4DkeAk_itTM-IWLvCuYdibJu4,8868
@@ -207,7 +207,7 @@ reflex/components/chakra/media/image.pyi,sha256=hAZOf41BYjw1J0wiI6gGaftYqa70XYyT
207
207
  reflex/components/chakra/navigation/__init__.py,sha256=4S77tyjUNQfrKW1ablw3L8q2hNz8k04eSvtmoPN65tg,419
208
208
  reflex/components/chakra/navigation/breadcrumb.py,sha256=b6hhci_Qw3qgCGYa-_xqsQNJSZyoWkVA48rXkTe6Ocs,2925
209
209
  reflex/components/chakra/navigation/breadcrumb.pyi,sha256=iidg33UcoO6pnY_Zt7a5yFS5mitCucOcgG5PNbOhgQ0,13575
210
- reflex/components/chakra/navigation/link.py,sha256=EWRwmisrMXbgQVajbKNsimwXuK5sDlj2_otI0grsy8I,1511
210
+ reflex/components/chakra/navigation/link.py,sha256=x0mdP4RHBReRtfCY2q5TGioau4zxzMtFydgXSEwdqiY,1475
211
211
  reflex/components/chakra/navigation/link.pyi,sha256=Sb3bKMn2fgKb5_2AIc2Db3PAfbe1xyUcj_VX7xei7sA,3999
212
212
  reflex/components/chakra/navigation/linkoverlay.py,sha256=eaGeVhohX5-NuQN8FqheHfRp79NVJN-cNslR978P7bE,521
213
213
  reflex/components/chakra/navigation/linkoverlay.pyi,sha256=5_75CqKTqVrgzOFBHxhab0A612fI5fwj2qpBLUpZlOA,6233
@@ -235,30 +235,30 @@ reflex/components/chakra/typography/span.py,sha256=2DbW5DB27ijtTeugSDUVp3nQ64mrG
235
235
  reflex/components/chakra/typography/span.pyi,sha256=itDe7RpjJN_K_9pZ7n_U9qlrTshGejv9lh5plvh3DCU,3372
236
236
  reflex/components/chakra/typography/text.py,sha256=9YXBdK5UYqgDam3ITeRSnd8bu9ht3zydt0pkmJAECsk,472
237
237
  reflex/components/chakra/typography/text.pyi,sha256=FzqNtf0NUkGmRLrazSyfKHqznJjz_KCryU-2sRghZ0M,3596
238
- reflex/components/component.py,sha256=NBnSyrsnTKWLWBJrgzOswdsp6X5Lu--G8gOIfZTsZdY,78219
238
+ reflex/components/component.py,sha256=kpxOqQnOZoL2jmR_S7CkqhQGjKuRW79PsxH0G5BMw5s,77595
239
239
  reflex/components/core/__init__.py,sha256=96AHGkr07-cYckZqHg2ba_sAl964-S__CPYfM_wXHBk,1184
240
240
  reflex/components/core/__init__.pyi,sha256=a-Mo7MQPoKLaVGlR_qVCrYPesCZd57tftynedO7-qvw,1828
241
- reflex/components/core/banner.py,sha256=w9TwtOQM6LaM_iGDulUchzQ3WPErT2tc_T0T5-oXwpA,8261
241
+ reflex/components/core/banner.py,sha256=FE7Bbx4DDRqINxQKb-20iIa-OFVCaIklXwFbc1CAlUM,8226
242
242
  reflex/components/core/banner.pyi,sha256=bEd8owWyrLNmNs6prgj1ZtrirS2ZSajkKmGXVdNXaKg,22710
243
- reflex/components/core/client_side_routing.py,sha256=nndjrwyj139AB1Ha6nBKG_7Zs_Pu42rTwxG2eNVzFWY,1902
243
+ reflex/components/core/client_side_routing.py,sha256=i4KT2f5mEF1IwkFC_7LMHRykJzL_kCYpwRk7TyTsmfE,1880
244
244
  reflex/components/core/client_side_routing.pyi,sha256=hQ3Z6JGiFTMn94-U5SWE05KKA7rP2-WirXB7wefMCEw,6306
245
245
  reflex/components/core/colors.py,sha256=-hzVGLEq3TiqroqzMi_YzGBCPXMvkNsen3pS_NzIQNk,590
246
246
  reflex/components/core/cond.py,sha256=4jKcg9IBprpWAGY28Iymxe5Pu0UMEH-2e64zIkmf7_w,6163
247
- reflex/components/core/debounce.py,sha256=1oUUAZERsQ35Mr557zhgCRsgUU60R1YdDIsn58YRlAY,4912
247
+ reflex/components/core/debounce.py,sha256=gcWv6HNMtPMdh7zxek10v77R07PPfiQJPunb_7FycEM,4860
248
248
  reflex/components/core/debounce.pyi,sha256=t0adfaCRfIellS8PDl6witgpBHoz9jk0SW0f82AHxxU,4255
249
- reflex/components/core/foreach.py,sha256=03gqSKJ0RG819lXux14X-hi0Fuz5y5fhJAxyIfxFkc0,4781
249
+ reflex/components/core/foreach.py,sha256=H3rWEq23lLtmUwsDYL1GMDe7mbV2Vk7H0mhNN1c1fAg,4759
250
250
  reflex/components/core/html.py,sha256=itZk4A8__Jfe8LwXey4tSlxTyZsKsHAPsHIcXVt42Y4,1304
251
251
  reflex/components/core/html.pyi,sha256=sEvOH8E0b8GGpFjmNo5edBZN6gPN0F8FHFrQcp7wlEQ,6636
252
252
  reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
253
253
  reflex/components/core/match.py,sha256=Mbkl0FWbf0Y2CsWzExgLFwR25OeH0kKk7Y-ZnqMt3-0,9507
254
254
  reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
255
- reflex/components/core/upload.py,sha256=kCT2YKzwQcGFsd9KDpvaBN3g2yRc4bho1aT8DG5J4nU,10205
255
+ reflex/components/core/upload.py,sha256=wD7M0DQn_5BnFl0gZBYXRh3Lfp6VK-xcH8AB58vmaBs,10179
256
256
  reflex/components/core/upload.pyi,sha256=oQrEGaxccScvApKs8nGgyHg8xbLYzM4gZw39s1zKGjQ,17180
257
257
  reflex/components/datadisplay/__init__.py,sha256=NedB3qfW3CJYPDHudiHP1-wEcpwGk78vVKk-T_eek4U,470
258
258
  reflex/components/datadisplay/__init__.pyi,sha256=oFr43Hj2QVaF12U9JY0Ki3ulmnfW9hlX2zfaIfO5CIs,690
259
- reflex/components/datadisplay/code.py,sha256=cnBk7pneSmmE6-2_nOIKo3HsynTHWzPwJVYbpKDoqhY,11469
259
+ reflex/components/datadisplay/code.py,sha256=TZwZRwBb2XwjI8I80I-7ZgsRpJxTQBKYV-VnZMdD3qA,11379
260
260
  reflex/components/datadisplay/code.pyi,sha256=jJqpMAiMvhZvqwuXvgLWWsZCExzzQIt4vNBy3PrFjTg,31228
261
- reflex/components/datadisplay/dataeditor.py,sha256=kvld3iqGjHtNa_sJIfLMCthjab02HJz0YmY3vKxG4yI,12721
261
+ reflex/components/datadisplay/dataeditor.py,sha256=tLKNy1ejucCSc7HObkczkEaNiTPpT9WsUrd0gSrKQIE,12801
262
262
  reflex/components/datadisplay/dataeditor.pyi,sha256=_tIdjsmpazGu-9rJcVFelI4TU4ZGnBhgjs9yQ_xsLa0,10596
263
263
  reflex/components/datadisplay/logo.py,sha256=fdQ9gDxBln8MDRDN3hP4JkF6BhttnD6GhgGRaBmu0EU,2562
264
264
  reflex/components/el/__init__.py,sha256=n4CYTU8Jb9Tj1oU3I7zaMikxn2XBc4bOX2e4blI6jac,415
@@ -273,8 +273,8 @@ reflex/components/el/elements/__init__.py,sha256=bwHkDJTSNBTVSDUaSVCSfdMOwE89V9u
273
273
  reflex/components/el/elements/__init__.pyi,sha256=LDpiMJxKQBk7Xp4YLr5K3RPsutbR7sMQFYuOOYvtRrI,9836
274
274
  reflex/components/el/elements/base.py,sha256=7o_ifyF0Hq_zRpF5-WbiXWP7cgsiXju1jllUPnrOK8w,1982
275
275
  reflex/components/el/elements/base.pyi,sha256=_40MCqre_XjD-rRoVXCC-SgyXTBOZqHkcCA_fURwlb4,6340
276
- reflex/components/el/elements/forms.py,sha256=pYx68uX4S129GlDaegD6XxB7uE-uTAfuPsbF8wOc82Q,20866
277
- reflex/components/el/elements/forms.pyi,sha256=yuroa3nPv0AJ-zEw3V-S5cBKkbOK6oUISDIzQWZW6uM,99925
276
+ reflex/components/el/elements/forms.py,sha256=0sB1qfROW7lKo1a10l1zTdPJ7JKFwXkiLVjqdlDZBro,20632
277
+ reflex/components/el/elements/forms.pyi,sha256=x2nf3MnRNhYPFS-KL5-I74G_CIB-TgvwrOPjARvzGeE,99903
278
278
  reflex/components/el/elements/inline.py,sha256=OfQaGs6f0-9ycjZGbC8izJrHaGcTSVloF83AaJ9DKow,4084
279
279
  reflex/components/el/elements/inline.pyi,sha256=NbiEfpZNVjQfhfidbT5O6V-XbxlrtnQCp3FWHSM3-b4,165080
280
280
  reflex/components/el/elements/media.py,sha256=Jmy_HKJmTqeK43p25GJ0BTPBPFU-IPWmHLJlzZSlcrY,8767
@@ -299,8 +299,8 @@ reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO
299
299
  reflex/components/lucide/icon.py,sha256=L-Nc9AGk0neNlZqe_RofhTgOrSfmmhKO1ZTuMsgNdsU,34077
300
300
  reflex/components/lucide/icon.pyi,sha256=1IxHAIgJG0dG49aHmEptBcJiOb9_diiyt6q1nUcKrD0,37918
301
301
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
302
- reflex/components/markdown/markdown.py,sha256=wSRRAP42ZaqpwqLvm63JRFx68kUgVAQ3TfLjvNpZwnA,11128
303
- reflex/components/markdown/markdown.pyi,sha256=P5g_H6QtlvbKuZgxkpu6t8hah_96RvSYxGOE03Begx4,5288
302
+ reflex/components/markdown/markdown.py,sha256=VHj2AQFClMdsLG-Ye1iOwV3yTCwg48wSrBPxYr-GNbs,10866
303
+ reflex/components/markdown/markdown.pyi,sha256=E-SG4gu4LSEprKixt9d8t2yS6e0WDHD2J2jnSdsJE7I,5100
304
304
  reflex/components/media/__init__.py,sha256=TsrfSzpXcRImityfegI2N9-vfj1a47ONUS-vyCUCEds,44
305
305
  reflex/components/media/icon.py,sha256=1N268zLI9opst8EQkF5gPA-UN0aMprguUJgSbdFdo5g,102
306
306
  reflex/components/moment/__init__.py,sha256=jGnZgRBivYJQPIcFgtLaXFteCeIG3gGH5ACXkjEgmsI,92
@@ -316,14 +316,14 @@ reflex/components/next/link.pyi,sha256=Ct36W1hDaaslIkM_enRXDoLO7KwJSbzaFLGyBdPQi
316
316
  reflex/components/next/video.py,sha256=2f81Ftb-6sikQb1xvExZqqQe0tcVjUY80ldh-GJ_uZw,730
317
317
  reflex/components/next/video.pyi,sha256=exp6Gg-YXJBspVcjQn6KhY4nWgopnDzt5cVII-Fk2Pw,3429
318
318
  reflex/components/plotly/__init__.py,sha256=OX-Ly11fIg0uRTQHfqNVKV4M9xqMqLOqXzZIfKNYE0w,77
319
- reflex/components/plotly/plotly.py,sha256=1UgfSqAp3XR5kStIcHWIF8ZR-vw7qmHS1uPlmFkInTw,9073
319
+ reflex/components/plotly/plotly.py,sha256=sX7RrVO86uXBvvVcCoyh3rtlizw8WI_dqHkM0vomuhE,8893
320
320
  reflex/components/plotly/plotly.pyi,sha256=NnNjm69ig4NJKTdUZxr9Z3SsbA2wIzmsy-NKR7ai6Jk,6742
321
321
  reflex/components/props.py,sha256=0zyzw4dmAAPh_-mbr0_jGSRDQFKUM9vkz5MXA81nZX0,906
322
322
  reflex/components/radix/__init__.py,sha256=oGg_AE9vkAeGBJdQTth7tnbG_BtnXfQf402GnUp9LCY,473
323
323
  reflex/components/radix/__init__.pyi,sha256=NYoGUYzuIliK97-txDmDGaYXqKYU-bjbT2nu1jHhksE,4038
324
324
  reflex/components/radix/primitives/__init__.py,sha256=awInjOiMrcrWgQU_jqfg9LCJ_lvDzD-JKy1sKgXH5QQ,442
325
325
  reflex/components/radix/primitives/__init__.pyi,sha256=wcnPicjWQgJkuyXbk6JPaiUyb-lnYfreNqyXCeDJdb4,482
326
- reflex/components/radix/primitives/accordion.py,sha256=fakIeCVgIy6zUlyM_v2tABxv49o8SEjpDb-BNuZ6RGs,15822
326
+ reflex/components/radix/primitives/accordion.py,sha256=BKNvkuAjGiKy6YU39xwW9y_G9cLe_28Mtbnh25xVjEg,15801
327
327
  reflex/components/radix/primitives/accordion.pyi,sha256=BXQRJy7SlivFm_lwFO4XRSA9-yve_8k4EmGHQFUpqWk,38019
328
328
  reflex/components/radix/primitives/base.py,sha256=s3OX4V2pNl6AQ3H9rz-pkE-2TNuNrqj0Mn2mOItF0eM,869
329
329
  reflex/components/radix/primitives/base.pyi,sha256=_SqXWZfCB80_VHW-jO33WhoRunUpiUcUIxziG9Fb2fw,6478
@@ -337,9 +337,9 @@ reflex/components/radix/primitives/slider.py,sha256=whEo2n09mRqRJgq7JGRzrfMjvxHO
337
337
  reflex/components/radix/primitives/slider.pyi,sha256=m-BYgslIMcTkoBYdeDysbpC5XTf9WjX-TylOZWkXNNk,16882
338
338
  reflex/components/radix/themes/__init__.py,sha256=9HxYz_pwU9LHFJqDrDHSCSxuE-hsTaSE8t7IJoA-m20,491
339
339
  reflex/components/radix/themes/__init__.pyi,sha256=AxRMKWpwoqrTX3c6_4UoA-c83UBMXlTUT5VunX09Vr0,514
340
- reflex/components/radix/themes/base.py,sha256=1uid9ezp144UVowM-ss0O6f2mUsWtYTYNOzmqBIXV48,8743
340
+ reflex/components/radix/themes/base.py,sha256=Ru_bD_CzbQ48yLbEru9HCJv7uw17Ck2kI73rohx51BU,8705
341
341
  reflex/components/radix/themes/base.pyi,sha256=_rtDedzTvV42SNEVHI_k1fyct8YT7H2GnXCGFnyYhjI,27182
342
- reflex/components/radix/themes/color_mode.py,sha256=qIiMw5xWssgljqMvJbJhTDTPKoGEC4a5TphBTd84fJk,5584
342
+ reflex/components/radix/themes/color_mode.py,sha256=FenXbQGerDxrf_3gBsPc82Zb3F2AW2fSE9svYuSYFN8,5562
343
343
  reflex/components/radix/themes/color_mode.pyi,sha256=YZhgqFy7Rg5mHOzavIqV0tPtLeVz4eUONe10n5Adt98,22164
344
344
  reflex/components/radix/themes/components/__init__.py,sha256=AyKD27f07gNt0LUivdnkiztjTKERqWKf5Rvsem3oARQ,422
345
345
  reflex/components/radix/themes/components/__init__.pyi,sha256=PR1-XcaPrifdZzUhSA-dti1IE0tTx8fH1NjByweHr5o,1991
@@ -357,7 +357,7 @@ reflex/components/radix/themes/components/callout.py,sha256=J8Vttu37aHDxuKWyWwSo
357
357
  reflex/components/radix/themes/components/callout.pyi,sha256=58FzM0pwOLuMtlD8UqmFO4wNq2wNqgxvbaQZCtommCw,38748
358
358
  reflex/components/radix/themes/components/card.py,sha256=5DXE1gnvJDGqtFrKO8WB_FMz9e6_5HmKr2HCLsoYZAE,685
359
359
  reflex/components/radix/themes/components/card.pyi,sha256=_k-Zo1Sid5pJJ022x3mVxF-PTIK-hWmbTYyF0NZC_SU,7226
360
- reflex/components/radix/themes/components/checkbox.py,sha256=6qjkZa1MRrlvBan6svZg9s8k6VsrIDtdvSoW5pdP9oY,4714
360
+ reflex/components/radix/themes/components/checkbox.py,sha256=KFwGAvPXb1elNmjJZYhA2EuK4bI3CMN5TB1V-zOI7cQ,4679
361
361
  reflex/components/radix/themes/components/checkbox.pyi,sha256=NEEbJq4-dxh6VnWRjP0TL5wfpw9bl7UPQ2CskeRTqEI,20877
362
362
  reflex/components/radix/themes/components/checkbox_cards.py,sha256=PWAM-f1x0z8PLGAMu70pr1t19AI2MJv23VcHIotNp60,1301
363
363
  reflex/components/radix/themes/components/checkbox_cards.pyi,sha256=kHyK8xsT1t8n3OXiSIROn_VHxBFtJzX6PW4mdGY1OEU,9591
@@ -385,7 +385,7 @@ reflex/components/radix/themes/components/radio.py,sha256=LpqiTO5mg4XtAvhw6XHSL2
385
385
  reflex/components/radix/themes/components/radio.pyi,sha256=QxJt1_yo5aU2nLuBiIMzoH5pp2XNGo4_-B_A_8-bYhI,5924
386
386
  reflex/components/radix/themes/components/radio_cards.py,sha256=fmBfncgJ5mh5ozOZZRXGWQs-vV_gJaLzQBgkPf5kYJw,1250
387
387
  reflex/components/radix/themes/components/radio_cards.pyi,sha256=hEkzd42LpbtIHD2JFcjsdcCnw0jJjbeZ3wPwz2UXHlI,9561
388
- reflex/components/radix/themes/components/radio_group.py,sha256=J9gILGxtTsgBrJkJC7vWKaVLYbCXl-LCDDTV19HvwfU,6353
388
+ reflex/components/radix/themes/components/radio_group.py,sha256=jzKQrz-0TVn4Zyf0d95bDny0tsNNCkqnmZao1BxoRmI,6233
389
389
  reflex/components/radix/themes/components/radio_group.pyi,sha256=qEdhf8eWUntn-H74k_10uaaEcAMfKXlz4Kl6G8guy7A,24106
390
390
  reflex/components/radix/themes/components/scroll_area.py,sha256=0Oc5K7sycSH_X8HbVI2A_FS8AddoFXcwvH_YZpsjTkc,920
391
391
  reflex/components/radix/themes/components/scroll_area.pyi,sha256=jtpiX8b4LZWZwpUi4jElgkBfwOLIDgjnOSm-W88oaXc,4427
@@ -393,7 +393,7 @@ reflex/components/radix/themes/components/segmented_control.py,sha256=ZkxEgr6xrj
393
393
  reflex/components/radix/themes/components/segmented_control.pyi,sha256=M82L1yo6-DwT_eM0TX53YZhcIJ2gak3GhIlKvRLrGPw,9507
394
394
  reflex/components/radix/themes/components/select.py,sha256=otgJdSdoE9VVv2z3PgtKJmDY_Ln6wPJlCz2ixFp9mDY,8028
395
395
  reflex/components/radix/themes/components/select.pyi,sha256=u5bmgAuFqV1A9_avfUZ9uYxWi8y0eqqM7-H_LVKEyaw,45123
396
- reflex/components/radix/themes/components/separator.py,sha256=nKxAQNKBNNhh0wuH8biXBYgDIEMI-Hu9v_dLpNgILhE,889
396
+ reflex/components/radix/themes/components/separator.py,sha256=si-4AZAKvjQwo6DCiHKdND7pK13vL1eWHCTO5OpIfb0,868
397
397
  reflex/components/radix/themes/components/separator.pyi,sha256=Uw1Bk8px4gCdv-1gnhH_z8x2Uq68ksE9773G3uLLxDo,6078
398
398
  reflex/components/radix/themes/components/skeleton.py,sha256=sEFtHPZ13SGbBX-soblfaQlhnhQHMBUfPAJtAdzc3WA,643
399
399
  reflex/components/radix/themes/components/skeleton.pyi,sha256=zYcmuXH1KU5MJ47qpk-XBpdSxqQua6TJjyaBX6rWxgE,4289
@@ -421,7 +421,7 @@ reflex/components/radix/themes/layout/box.py,sha256=j-fzawX2HXdTVYPorpERvyOWGRvS
421
421
  reflex/components/radix/themes/layout/box.pyi,sha256=fgElqsNrKJp1k0UypuxpXqQythExwDXSt4l9IwovEuI,6506
422
422
  reflex/components/radix/themes/layout/center.py,sha256=iNGsfoVUrVtb-TH3sdOVpxUQHF-2GTVFVCX_KkRuQog,490
423
423
  reflex/components/radix/themes/layout/center.pyi,sha256=RfYglzS3eIB5uaTue0YgMkAtFdUSuHSbPK0J8agZiM4,8296
424
- reflex/components/radix/themes/layout/container.py,sha256=sjf8GSg_t7j-aircbCk4prJZfNThQYBOeKCYbbB1wD8,1483
424
+ reflex/components/radix/themes/layout/container.py,sha256=Ut703FUztDP2cJ01OPOqzc8fQ94FAPOYAAuur6vM9II,1462
425
425
  reflex/components/radix/themes/layout/container.pyi,sha256=GUKH2UUVMjSPX7JOYf_EkPNSokJDHni0zdPg2iovyMM,5303
426
426
  reflex/components/radix/themes/layout/flex.py,sha256=uVYixM-MdFjs0ubDeloKY5n5hhyWYxANoNTNFmPZXzI,1421
427
427
  reflex/components/radix/themes/layout/flex.pyi,sha256=Ibzsak6CWcLjFlV02X8WqmuY2XYnhdUUiQUE-5tNPJM,8547
@@ -429,7 +429,7 @@ reflex/components/radix/themes/layout/grid.py,sha256=NNb1U4Dqc4b38vOaQnbfuurXNyt
429
429
  reflex/components/radix/themes/layout/grid.pyi,sha256=yWZI3QkwoNewoULUzU97j94B1VdrnI7EbsyTEtximO4,8953
430
430
  reflex/components/radix/themes/layout/list.py,sha256=dkPXWqWrLtevvaFuir7gwQ67PhDm-2bF3U7rd2BC36M,5343
431
431
  reflex/components/radix/themes/layout/list.pyi,sha256=N52SJfxIIF2jY0mlXHooSKLt9Jip3xhIyIpvPoAuoG4,29001
432
- reflex/components/radix/themes/layout/section.py,sha256=uE-VtIZObv6yEx73zuqrNMGkK-rpolZs1WzehaasL64,555
432
+ reflex/components/radix/themes/layout/section.py,sha256=NsXCK5tCZJdWzaMJMNG5ZoCdC9kBUw4bbTLPWtwkGuY,534
433
433
  reflex/components/radix/themes/layout/section.pyi,sha256=1Oe8VSn8_Y6DcttDG4yQoJX4lQRDM1VWNJCUba_DMTU,6810
434
434
  reflex/components/radix/themes/layout/spacer.py,sha256=tDmJ4f-eH4CtuWiQh-91-8xCmHfTttSwzcJt-SIS_Ww,473
435
435
  reflex/components/radix/themes/layout/spacer.pyi,sha256=c349qHuzk8IuCFO33CWA1z-whL97ypVdcMe7ddRpd44,8296
@@ -459,7 +459,7 @@ reflex/components/recharts/__init__.py,sha256=K9Pvqm27I8lMZECRziBhmfiLlt_6OysP6k
459
459
  reflex/components/recharts/__init__.pyi,sha256=YSC9GJJrIcaImeNUjtIf_cEo3jrMFcxiXnunxu8nObA,5113
460
460
  reflex/components/recharts/cartesian.py,sha256=IeNjtEgVRaLLZd_P927z8VSNsB1y5sN3SRRe6E-fJms,21327
461
461
  reflex/components/recharts/cartesian.pyi,sha256=K2PSZVsZ6kM-JNSoVWpbB_KWp83SFN1FXHwE3DI9q9s,87624
462
- reflex/components/recharts/charts.py,sha256=awd54qMKNydeDFibWdKVDkQpnMy6Iz2lhviY4ROgzCQ,18433
462
+ reflex/components/recharts/charts.py,sha256=fFz02LvOd8M94vIRevnxp1mLBOhrzDs1jI3OgOv8bdk,18412
463
463
  reflex/components/recharts/charts.pyi,sha256=hGX6hNjzQ8-Vw84P9d28h8lECXXKaVaATCOjJ87rXwk,50581
464
464
  reflex/components/recharts/general.py,sha256=w2w5-2nNA6xhq41wT4nsxJ3XHAdtVsPje-54Svq3354,5792
465
465
  reflex/components/recharts/general.pyi,sha256=rRkOOe43Rq1G9OD3XKJZwoesg2xbvtohiAMX3wEe6cY,22954
@@ -468,8 +468,8 @@ reflex/components/recharts/polar.pyi,sha256=k33AH69aOyHGfEHaCQGA_cP2PYKnKgCs_yWa
468
468
  reflex/components/recharts/recharts.py,sha256=Ap4HCCBY2Q9gdrh-PnHOvJY5ebIKCLgnQNrUWDp_bRs,2870
469
469
  reflex/components/recharts/recharts.pyi,sha256=milPgyj87d3rOAcsruXTUP_vMJ1REBsDC6TJL0obap4,8535
470
470
  reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29_ErrvGg,68
471
- reflex/components/sonner/toast.py,sha256=RLD90wbeFKq-Mac-_amDyFS25orUmCLo3ywXqEt6Z1g,10420
472
- reflex/components/sonner/toast.pyi,sha256=L3Pb4HxWPnms10TdHvPE3g_3HNBnMc001E_ceoYJ3Fo,8302
471
+ reflex/components/sonner/toast.py,sha256=KAP8Be4Mjz0XaeMcai06v6PcVBez7jtyAQoPgj9SMy8,10294
472
+ reflex/components/sonner/toast.pyi,sha256=HqsfRdELXA5Pt2kI1cFWzk7d3YDrbEAOlAHiaLbauBs,8280
473
473
  reflex/components/suneditor/__init__.py,sha256=htkPzy0O_1ro1nw8w8gFPjYhg5xywMpsUfc4Dl3OHuw,109
474
474
  reflex/components/suneditor/editor.py,sha256=GagQzBNxptJl6xYplta77m7aKqYbdlQ9Aldlw8Rxyzc,7360
475
475
  reflex/components/suneditor/editor.pyi,sha256=h5NklINt1L8SdPwjwIsLeh1wpdncB_KEmooiV7WdAfs,10330
@@ -477,7 +477,7 @@ reflex/components/tags/__init__.py,sha256=Pc0JU-Tv_W7KCsydXgbKmu7w2VtHNkI6Cx2hTk
477
477
  reflex/components/tags/cond_tag.py,sha256=v5BO78bGQQuCy8lM45yI7nAuasxjQoRyQNdj5kakPBY,447
478
478
  reflex/components/tags/iter_tag.py,sha256=FKPZtSR0wKyNrigEOYnGsndhXJzwNurTCEAS6Z5vff0,3927
479
479
  reflex/components/tags/match_tag.py,sha256=pMwy46ewquPNwa1S71sDS_0Ga8YuviSrbpBU-_CWsoQ,387
480
- reflex/components/tags/tag.py,sha256=iORWH5NBQ8U1cdMfUKaAkvFiZhvs5FPR9eHKlGjmPYg,2816
480
+ reflex/components/tags/tag.py,sha256=hT7zHJyut6SlCiQS6SZ-CaUrHgfLgm9NjNDQWo7uCEQ,2778
481
481
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
482
482
  reflex/config.py,sha256=Lvgpk-ew6SevQxZ2m2ukJoWtjDfhTtWVaWImSpuq5LA,11687
483
483
  reflex/constants/__init__.py,sha256=q67dwC2zqW9SHBSnrZ63zT7mz9pSeG1S6lP5M4L8jI8,2016
@@ -492,12 +492,12 @@ reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,214
492
492
  reflex/constants/style.py,sha256=gSzu0sQEQjW81PekxJnwRs7SXQQVco-LxtVjCi0IQZc,636
493
493
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
494
494
  reflex/custom_components/custom_components.py,sha256=vYBhEt0ceCTaXG_zQlD8aEUxEzyGwlc7D6RKah2Pp2A,33067
495
- reflex/event.py,sha256=UQuVJ2aHcSpcXDO8sNKdXpvKrCOs4lnB1NMKqK2wNVo,28586
495
+ reflex/event.py,sha256=3E1LlezHO4XoWuXxkkoYEwPmMqrzqZ5_nvZCOcnLing,28385
496
496
  reflex/experimental/__init__.py,sha256=Nm7dShDLu42HowVFHufn5nPwji-39p0OP-uV83a-cC4,1364
497
497
  reflex/experimental/assets.py,sha256=ZqgbyPda5KsvtaESO8nds-5m7DvWq8AOgTF2bOAtToo,1757
498
498
  reflex/experimental/client_state.py,sha256=ovd3n6e-vHc-w1v3w-MVFXIWkZYAqaxnEXTFH2PcBZM,8570
499
- reflex/experimental/hooks.py,sha256=emkTJC3dmv4UJ4JK-0ZS9BQujaDLsfdYeD1roPhR5IU,2436
500
- reflex/experimental/layout.py,sha256=Zx8AGqWJrSzXY1XapsorOx-jNo2kRqaWOc4QJRulQdU,7656
499
+ reflex/experimental/hooks.py,sha256=B0DgfZbop5VSNEmilxeGKKXG3tzZSrOtOZueGjQL_mc,2246
500
+ reflex/experimental/layout.py,sha256=KiYTiO49k8mEgLgbCNfbs8d6dgx_6AtlYgyzY7iTSMA,7494
501
501
  reflex/experimental/layout.pyi,sha256=GULMurblUTmC5n3F2CaW4e9bUre16zrCvLxjgD-PXnA,20186
502
502
  reflex/experimental/misc.py,sha256=4xlHrSCZaDyyiSexNKRbSfJ_UZy6-fzIBhKDeHNt94Q,281
503
503
  reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
@@ -508,16 +508,16 @@ reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
508
508
  reflex/reflex.py,sha256=1wJX6casYE_sAc1JCo4vng9gsyAeiYsG2Yw7itk5Abs,17874
509
509
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
510
510
  reflex/state.py,sha256=y9ueyKjNgJ8vQXS1PvRhUOItzT4rMj_q9GCy2qMOCOQ,108928
511
- reflex/style.py,sha256=2mUSDsnkKqvpNOEyA9zqXDoW0LyooOXiwOszDmIp95s,9620
511
+ reflex/style.py,sha256=y_-HKOFC9XkleTKSzhgUjlbgfAlAngjQbPahaCku__Y,9576
512
512
  reflex/testing.py,sha256=FJsQODHOjKHhhNOfupxxc2U9JbhSjLyyciQVhej6eXA,33073
513
513
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
514
514
  reflex/utils/build.py,sha256=9LE93QlbfTHYyQWTgGZYSXX7QGDYzuE01ttWUVw_rGQ,8573
515
- reflex/utils/compat.py,sha256=zNB4U_kXDUE-6_LaiTeZJyti23oWorrHv416Fc-Oezc,1390
515
+ reflex/utils/compat.py,sha256=rfN5mMcNWFXT1ESLnZlR-bYG7XJKHvAScXMWo9iBsKg,1255
516
516
  reflex/utils/console.py,sha256=-BHtwUabv8QlhGfEHupSn68fOOmPRZpkSvcqcjNBV-k,5182
517
517
  reflex/utils/exceptions.py,sha256=3dHTYMHKHBCl1PZttA9AZ4Pa813I5RlfU58JXnI8T2c,2163
518
518
  reflex/utils/exec.py,sha256=RsRlzE8JdxTlFSTACd9XrLt9liDbvdxZrM5wkae9R4k,10961
519
519
  reflex/utils/export.py,sha256=UJd4BYFW9_eexhLCP4C5Ri8Cq2tWAPNVspq70lPLCyo,2270
520
- reflex/utils/format.py,sha256=MjgqB-yp0G710MPXQ01xWkmyFnhwmV7PFWJ7bHedR5A,25557
520
+ reflex/utils/format.py,sha256=Z-COwTzZ0FyIBViQTFAyNP2IdXpqui21ueLNodlIpH8,25512
521
521
  reflex/utils/imports.py,sha256=v_xLZiMn7UxxPu5mXln74tXi52wYKqPuZe11Ka31WuM,2309
522
522
  reflex/utils/lazy_loader.py,sha256=iyQU_bnigzskD-fdoxkt19i6SGbrHdSOOwCgB2FJWjc,1281
523
523
  reflex/utils/path_ops.py,sha256=Vy6fU_bXvOcCvbXdTSmeLwy_C4h9seYU-3yIrVdZEZQ,4737
@@ -528,10 +528,10 @@ reflex/utils/serializers.py,sha256=YrGNgfZNHbxuc4Kp5ph61WPu-QF0r6IR6KuVYluxcoY,1
528
528
  reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
529
529
  reflex/utils/types.py,sha256=VhLin6M0J7g3HdXw-Vf8ugA1USWDlHRKaDLaOCOkwHY,15255
530
530
  reflex/utils/watch.py,sha256=HzGrHQIZ_62Di0BO46kd2AZktNA3A6nFIBuf8c6ip30,2609
531
- reflex/vars.py,sha256=78zGeR-Dt4Q9bVmXJabx0O3N-bfSBx-TpZ9V_LymHt0,74404
531
+ reflex/vars.py,sha256=gSe57MFAZ2NDAEru0SPWt6JpMrh1MpYdaNh6PH9MTZY,74088
532
532
  reflex/vars.pyi,sha256=wz0EfaIlQkLlpd35gM0BpL6TxWzBl-9nj8N_3FP1nh8,6332
533
- reflex-0.5.4.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
534
- reflex-0.5.4.dist-info/METADATA,sha256=D81qOKhzNTZ2Z-5e1WlxNCzPnTCQ8yvVNxC14bWmdCk,12118
535
- reflex-0.5.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
536
- reflex-0.5.4.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
537
- reflex-0.5.4.dist-info/RECORD,,
533
+ reflex-0.5.4a1.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
534
+ reflex-0.5.4a1.dist-info/METADATA,sha256=RPmRzqtW9covQNJwhonWhGuuF9H1CiME6s6GCTCil0s,12120
535
+ reflex-0.5.4a1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
536
+ reflex-0.5.4a1.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
537
+ reflex-0.5.4a1.dist-info/RECORD,,