reflex 0.8.8a1__py3-none-any.whl → 0.8.9__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.
- reflex/.templates/web/utils/state.js +5 -5
- reflex/app.py +17 -7
- reflex/compiler/compiler.py +2 -2
- reflex/compiler/templates.py +23 -7
- reflex/compiler/utils.py +8 -5
- reflex/components/component.py +69 -80
- reflex/components/core/sticky.pyi +3 -0
- reflex/components/el/elements/media.py +518 -0
- reflex/components/el/elements/media.pyi +5869 -5
- reflex/components/lucide/icon.py +4 -1
- reflex/components/lucide/icon.pyi +4 -1
- reflex/components/radix/primitives/drawer.py +9 -21
- reflex/components/radix/primitives/drawer.pyi +4 -0
- reflex/config.py +34 -7
- reflex/constants/compiler.py +1 -1
- reflex/constants/installer.py +4 -4
- reflex/environment.py +8 -3
- reflex/event.py +1 -1
- reflex/istate/data.py +15 -0
- reflex/plugins/sitemap.py +3 -6
- reflex/reflex.py +8 -2
- reflex/state.py +46 -6
- reflex/testing.py +1 -1
- reflex/utils/console.py +67 -7
- reflex/utils/format.py +1 -1
- reflex/utils/frontend_skeleton.py +6 -1
- reflex/utils/imports.py +1 -1
- reflex/utils/prerequisites.py +3 -1
- reflex/utils/pyi_generator.py +2 -2
- reflex/utils/serializers.py +4 -4
- reflex/utils/types.py +11 -10
- reflex/vars/base.py +24 -17
- reflex/vars/object.py +4 -2
- {reflex-0.8.8a1.dist-info → reflex-0.8.9.dist-info}/METADATA +1 -1
- {reflex-0.8.8a1.dist-info → reflex-0.8.9.dist-info}/RECORD +38 -38
- {reflex-0.8.8a1.dist-info → reflex-0.8.9.dist-info}/WHEEL +0 -0
- {reflex-0.8.8a1.dist-info → reflex-0.8.9.dist-info}/entry_points.txt +0 -0
- {reflex-0.8.8a1.dist-info → reflex-0.8.9.dist-info}/licenses/LICENSE +0 -0
reflex/utils/format.py
CHANGED
|
@@ -518,7 +518,7 @@ def format_event(event_spec: EventSpec) -> str:
|
|
|
518
518
|
|
|
519
519
|
if event_spec.client_handler_name:
|
|
520
520
|
event_args.append(wrap(event_spec.client_handler_name, '"'))
|
|
521
|
-
return f"
|
|
521
|
+
return f"ReflexEvent({', '.join(event_args)})"
|
|
522
522
|
|
|
523
523
|
|
|
524
524
|
if TYPE_CHECKING:
|
|
@@ -10,6 +10,7 @@ import click
|
|
|
10
10
|
from reflex import constants
|
|
11
11
|
from reflex.compiler import templates
|
|
12
12
|
from reflex.config import Config, get_config
|
|
13
|
+
from reflex.environment import environment
|
|
13
14
|
from reflex.utils import console, path_ops
|
|
14
15
|
from reflex.utils.prerequisites import get_project_hash, get_web_dir
|
|
15
16
|
from reflex.utils.registry import get_npm_registry
|
|
@@ -192,7 +193,11 @@ def _compile_vite_config(config: Config):
|
|
|
192
193
|
base = "/"
|
|
193
194
|
if frontend_path := config.frontend_path.strip("/"):
|
|
194
195
|
base += frontend_path + "/"
|
|
195
|
-
return templates.vite_config_template(
|
|
196
|
+
return templates.vite_config_template(
|
|
197
|
+
base=base,
|
|
198
|
+
hmr=environment.VITE_HMR.get(),
|
|
199
|
+
force_full_reload=environment.VITE_FORCE_FULL_RELOAD.get(),
|
|
200
|
+
)
|
|
196
201
|
|
|
197
202
|
|
|
198
203
|
def initialize_vite_config():
|
reflex/utils/imports.py
CHANGED
reflex/utils/prerequisites.py
CHANGED
|
@@ -248,6 +248,7 @@ def get_compiled_app(
|
|
|
248
248
|
prerender_routes: bool = False,
|
|
249
249
|
dry_run: bool = False,
|
|
250
250
|
check_if_schema_up_to_date: bool = False,
|
|
251
|
+
use_rich: bool = True,
|
|
251
252
|
) -> ModuleType:
|
|
252
253
|
"""Get the app module based on the default config after first compiling it.
|
|
253
254
|
|
|
@@ -256,6 +257,7 @@ def get_compiled_app(
|
|
|
256
257
|
prerender_routes: Whether to prerender routes.
|
|
257
258
|
dry_run: If True, do not write the compiled app to disk.
|
|
258
259
|
check_if_schema_up_to_date: If True, check if the schema is up to date.
|
|
260
|
+
use_rich: Whether to use rich progress bars.
|
|
259
261
|
|
|
260
262
|
Returns:
|
|
261
263
|
The compiled app based on the default config.
|
|
@@ -263,7 +265,7 @@ def get_compiled_app(
|
|
|
263
265
|
app, app_module = get_and_validate_app(
|
|
264
266
|
reload=reload, check_if_schema_up_to_date=check_if_schema_up_to_date
|
|
265
267
|
)
|
|
266
|
-
app._compile(prerender_routes=prerender_routes, dry_run=dry_run)
|
|
268
|
+
app._compile(prerender_routes=prerender_routes, dry_run=dry_run, use_rich=use_rich)
|
|
267
269
|
return app_module
|
|
268
270
|
|
|
269
271
|
|
reflex/utils/pyi_generator.py
CHANGED
|
@@ -547,7 +547,7 @@ def _generate_component_create_functiondef(
|
|
|
547
547
|
kwargs.extend(prop_kwargs)
|
|
548
548
|
|
|
549
549
|
def figure_out_return_type(annotation: Any):
|
|
550
|
-
if
|
|
550
|
+
if isinstance(annotation, type) and issubclass(annotation, inspect._empty):
|
|
551
551
|
return ast.Name(id="EventType[Any]")
|
|
552
552
|
|
|
553
553
|
if not isinstance(annotation, str) and get_origin(annotation) is tuple:
|
|
@@ -1181,7 +1181,7 @@ class PyiGenerator:
|
|
|
1181
1181
|
class_names = {
|
|
1182
1182
|
name: obj
|
|
1183
1183
|
for name, obj in vars(module).items()
|
|
1184
|
-
if
|
|
1184
|
+
if isinstance(obj, type)
|
|
1185
1185
|
and (
|
|
1186
1186
|
rx_types.safe_issubclass(obj, Component)
|
|
1187
1187
|
or rx_types.safe_issubclass(obj, SimpleNamespace)
|
reflex/utils/serializers.py
CHANGED
|
@@ -187,7 +187,7 @@ def get_serializer(type_: type) -> Serializer | None:
|
|
|
187
187
|
|
|
188
188
|
# If the type is not registered, check if it is a subclass of a registered type.
|
|
189
189
|
for registered_type, serializer in reversed(SERIALIZERS.items()):
|
|
190
|
-
if
|
|
190
|
+
if issubclass(type_, registered_type):
|
|
191
191
|
return serializer
|
|
192
192
|
|
|
193
193
|
# If there is no serializer, return None.
|
|
@@ -211,7 +211,7 @@ def get_serializer_type(type_: type) -> type | None:
|
|
|
211
211
|
|
|
212
212
|
# If the type is not registered, check if it is a subclass of a registered type.
|
|
213
213
|
for registered_type, serializer in reversed(SERIALIZER_TYPES.items()):
|
|
214
|
-
if
|
|
214
|
+
if issubclass(type_, registered_type):
|
|
215
215
|
return serializer
|
|
216
216
|
|
|
217
217
|
# If there is no serializer, return None.
|
|
@@ -244,11 +244,11 @@ def can_serialize(type_: type, into_type: type | None = None) -> bool:
|
|
|
244
244
|
Returns:
|
|
245
245
|
Whether there is a serializer for the type.
|
|
246
246
|
"""
|
|
247
|
-
return
|
|
247
|
+
return (
|
|
248
248
|
isinstance(type_, type)
|
|
249
249
|
and dataclasses.is_dataclass(type_)
|
|
250
250
|
and (into_type is None or into_type is dict)
|
|
251
|
-
)
|
|
251
|
+
) or has_serializer(type_, into_type)
|
|
252
252
|
|
|
253
253
|
|
|
254
254
|
@serializer(to=str)
|
reflex/utils/types.py
CHANGED
|
@@ -52,11 +52,8 @@ UnionTypes = (Union, types.UnionType)
|
|
|
52
52
|
GenericType = type | _GenericAlias
|
|
53
53
|
|
|
54
54
|
# Valid state var types.
|
|
55
|
-
JSONType = {str, int, float, bool}
|
|
56
|
-
PrimitiveType = int | float | bool | str | list | dict | set | tuple
|
|
57
55
|
PrimitiveTypes = (int, float, bool, str, list, dict, set, tuple)
|
|
58
|
-
|
|
59
|
-
StateIterVar = list | set | tuple
|
|
56
|
+
StateVarTypes = (*PrimitiveTypes, Base, type(None))
|
|
60
57
|
|
|
61
58
|
if TYPE_CHECKING:
|
|
62
59
|
from reflex.vars.base import Var
|
|
@@ -401,6 +398,8 @@ def get_field_type(cls: GenericType, field_name: str) -> GenericType | None:
|
|
|
401
398
|
Returns:
|
|
402
399
|
The type of the field, if it exists, else None.
|
|
403
400
|
"""
|
|
401
|
+
if (fields := getattr(cls, "_fields", None)) is not None and field_name in fields:
|
|
402
|
+
return fields[field_name].annotated_type
|
|
404
403
|
if (
|
|
405
404
|
hasattr(cls, "__fields__")
|
|
406
405
|
and field_name in cls.__fields__
|
|
@@ -857,8 +856,15 @@ def is_valid_var_type(type_: type) -> bool:
|
|
|
857
856
|
|
|
858
857
|
if is_union(type_):
|
|
859
858
|
return all(is_valid_var_type(arg) for arg in get_args(type_))
|
|
859
|
+
|
|
860
|
+
if is_literal(type_):
|
|
861
|
+
types = {type(value) for value in get_args(type_)}
|
|
862
|
+
return all(is_valid_var_type(type_) for type_ in types)
|
|
863
|
+
|
|
864
|
+
type_ = origin if (origin := get_origin(type_)) is not None else type_
|
|
865
|
+
|
|
860
866
|
return (
|
|
861
|
-
|
|
867
|
+
issubclass(type_, StateVarTypes)
|
|
862
868
|
or serializers.has_serializer(type_)
|
|
863
869
|
or dataclasses.is_dataclass(type_)
|
|
864
870
|
)
|
|
@@ -993,11 +999,6 @@ def validate_literal(key: str, value: Any, expected_type: type, comp_name: str):
|
|
|
993
999
|
raise ValueError(msg)
|
|
994
1000
|
|
|
995
1001
|
|
|
996
|
-
# Store this here for performance.
|
|
997
|
-
StateBases = get_base_class(StateVar)
|
|
998
|
-
StateIterBases = get_base_class(StateIterVar)
|
|
999
|
-
|
|
1000
|
-
|
|
1001
1002
|
def safe_issubclass(cls: Any, cls_check: Any | tuple[Any, ...]):
|
|
1002
1003
|
"""Check if a class is a subclass of another class. Returns False if internal error occurs.
|
|
1003
1004
|
|
reflex/vars/base.py
CHANGED
|
@@ -366,7 +366,7 @@ def can_use_in_object_var(cls: GenericType) -> bool:
|
|
|
366
366
|
if types.is_union(cls):
|
|
367
367
|
return all(can_use_in_object_var(t) for t in types.get_args(cls))
|
|
368
368
|
return (
|
|
369
|
-
|
|
369
|
+
isinstance(cls, type)
|
|
370
370
|
and not safe_issubclass(cls, Var)
|
|
371
371
|
and serializers.can_serialize(cls, dict)
|
|
372
372
|
)
|
|
@@ -516,6 +516,17 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
516
516
|
"""
|
|
517
517
|
return self._var_data
|
|
518
518
|
|
|
519
|
+
def __deepcopy__(self, memo: dict[int, Any]) -> Self:
|
|
520
|
+
"""Deepcopy the var.
|
|
521
|
+
|
|
522
|
+
Args:
|
|
523
|
+
memo: The memo dictionary to use for the deepcopy.
|
|
524
|
+
|
|
525
|
+
Returns:
|
|
526
|
+
A deepcopy of the var.
|
|
527
|
+
"""
|
|
528
|
+
return self
|
|
529
|
+
|
|
519
530
|
def equals(self, other: Var) -> bool:
|
|
520
531
|
"""Check if two vars are equal.
|
|
521
532
|
|
|
@@ -795,7 +806,7 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
795
806
|
if can_use_in_object_var(output):
|
|
796
807
|
return self.to(ObjectVar, output)
|
|
797
808
|
|
|
798
|
-
if
|
|
809
|
+
if isinstance(output, type):
|
|
799
810
|
for var_subclass in _var_subclasses[::-1]:
|
|
800
811
|
if safe_issubclass(output, var_subclass.var_subclass):
|
|
801
812
|
current_var_type = self._var_type
|
|
@@ -891,7 +902,7 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
891
902
|
args = get_args(var_type)
|
|
892
903
|
fixed_type = unionize(*(type(arg) for arg in args))
|
|
893
904
|
|
|
894
|
-
if not
|
|
905
|
+
if not isinstance(fixed_type, type):
|
|
895
906
|
msg = f"Unsupported type {var_type} for guess_type."
|
|
896
907
|
raise TypeError(msg)
|
|
897
908
|
|
|
@@ -930,6 +941,7 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
930
941
|
Returns:
|
|
931
942
|
A function that that creates a setter for the var.
|
|
932
943
|
"""
|
|
944
|
+
setter_name = Var._get_setter_name_for_name(name)
|
|
933
945
|
|
|
934
946
|
def setter(state: Any, value: Any):
|
|
935
947
|
"""Get the setter for the var.
|
|
@@ -951,7 +963,7 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
951
963
|
|
|
952
964
|
setter.__annotations__["value"] = self._var_type
|
|
953
965
|
|
|
954
|
-
setter.__qualname__ =
|
|
966
|
+
setter.__qualname__ = setter_name
|
|
955
967
|
|
|
956
968
|
return setter
|
|
957
969
|
|
|
@@ -1153,18 +1165,6 @@ class Var(Generic[VAR_TYPE], metaclass=MetaclassVar):
|
|
|
1153
1165
|
"""
|
|
1154
1166
|
return dataclasses.replace(self, _var_data=None)
|
|
1155
1167
|
|
|
1156
|
-
def __get__(self, instance: Any, owner: Any):
|
|
1157
|
-
"""Get the var.
|
|
1158
|
-
|
|
1159
|
-
Args:
|
|
1160
|
-
instance: The instance to get the var from.
|
|
1161
|
-
owner: The owner of the var.
|
|
1162
|
-
|
|
1163
|
-
Returns:
|
|
1164
|
-
The var.
|
|
1165
|
-
"""
|
|
1166
|
-
return self
|
|
1167
|
-
|
|
1168
1168
|
def _decode(self) -> Any:
|
|
1169
1169
|
"""Decode Var as a python value.
|
|
1170
1170
|
|
|
@@ -1409,7 +1409,7 @@ class LiteralVar(Var):
|
|
|
1409
1409
|
bases = cls.__bases__
|
|
1410
1410
|
|
|
1411
1411
|
bases_normalized = [
|
|
1412
|
-
base if
|
|
1412
|
+
base if isinstance(base, type) else get_origin(base) for base in bases
|
|
1413
1413
|
]
|
|
1414
1414
|
|
|
1415
1415
|
possible_bases = [
|
|
@@ -1476,6 +1476,13 @@ class LiteralVar(Var):
|
|
|
1476
1476
|
if isinstance(value, var_subclass.python_types):
|
|
1477
1477
|
return literal_subclass.create(value, _var_data=_var_data)
|
|
1478
1478
|
|
|
1479
|
+
if (
|
|
1480
|
+
(as_var_method := getattr(value, "_as_var", None)) is not None
|
|
1481
|
+
and callable(as_var_method)
|
|
1482
|
+
and isinstance((resulting_var := as_var_method()), Var)
|
|
1483
|
+
):
|
|
1484
|
+
return resulting_var
|
|
1485
|
+
|
|
1479
1486
|
from reflex.event import EventHandler
|
|
1480
1487
|
from reflex.utils.format import get_event_handler_parts
|
|
1481
1488
|
|
reflex/vars/object.py
CHANGED
|
@@ -6,7 +6,6 @@ import collections.abc
|
|
|
6
6
|
import dataclasses
|
|
7
7
|
import typing
|
|
8
8
|
from collections.abc import Mapping
|
|
9
|
-
from inspect import isclass
|
|
10
9
|
from typing import (
|
|
11
10
|
Any,
|
|
12
11
|
NoReturn,
|
|
@@ -328,7 +327,10 @@ class ObjectVar(Var[OBJECT_TYPE], python_types=Mapping):
|
|
|
328
327
|
|
|
329
328
|
if (
|
|
330
329
|
is_typeddict(fixed_type)
|
|
331
|
-
or (
|
|
330
|
+
or (
|
|
331
|
+
isinstance(fixed_type, type)
|
|
332
|
+
and not safe_issubclass(fixed_type, Mapping)
|
|
333
|
+
)
|
|
332
334
|
or (fixed_type in types.UnionTypes)
|
|
333
335
|
):
|
|
334
336
|
attribute_type = get_attribute_access_type(var_type, name)
|
|
@@ -2,20 +2,20 @@ reflex/__init__.py,sha256=_1PVYjDeA6_JyfXvL6OuKjjO6AX2oMiNcAq8AEHf6xw,10161
|
|
|
2
2
|
reflex/__init__.pyi,sha256=0D46kHVUJPE_kgYL-BjraERu-MXNCPsQTZQShrijmeQ,10148
|
|
3
3
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
4
4
|
reflex/admin.py,sha256=Nbc38y-M8iaRBvh1W6DQu_D3kEhO8JFvxrog4q2cB_E,434
|
|
5
|
-
reflex/app.py,sha256=
|
|
5
|
+
reflex/app.py,sha256=PaoBHbIRPHAf5_nfEcRKDmANi77LTJfq5xuJZIUBCCU,77932
|
|
6
6
|
reflex/assets.py,sha256=l5O_mlrTprC0lF7Rc_McOe3a0OtSLnRdNl_PqCpDCBA,3431
|
|
7
7
|
reflex/base.py,sha256=Oh664QL3fZEHErhUasFqP7fE4olYf1y-9Oj6uZI2FCU,1173
|
|
8
|
-
reflex/config.py,sha256=
|
|
9
|
-
reflex/environment.py,sha256=
|
|
10
|
-
reflex/event.py,sha256=
|
|
8
|
+
reflex/config.py,sha256=LsHAtdH4nkSn3q_Ie-KNdOGdflLXrFICUQov29oFjVk,21229
|
|
9
|
+
reflex/environment.py,sha256=7tfEPpUbelmOZ2B9zlqk0rgfHNkvz_HspGRIpod_AIQ,23126
|
|
10
|
+
reflex/event.py,sha256=0VHquGHwqfvsEFExJn8m1YFSaE__pg1j58Q8hOgiVmA,74797
|
|
11
11
|
reflex/model.py,sha256=l1-6fm7NHRFWH-xK9oV9UzAVfvKeUXG1f-tCrF7vmfI,19403
|
|
12
12
|
reflex/page.py,sha256=ssCbMVFuIy60vH-YhJUzN0OxzUwXFCCD3ej56dVjp3g,3525
|
|
13
13
|
reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
reflex/reflex.py,sha256=
|
|
14
|
+
reflex/reflex.py,sha256=qKpWvXuA55y519MWckr6oxKSf3pCQfRCrvzsyXSuAqk,22729
|
|
15
15
|
reflex/route.py,sha256=TnS4m6Hm-b3LfGFpm37iAMEd-_JISAouPW5FqUxTAfU,7858
|
|
16
|
-
reflex/state.py,sha256=
|
|
16
|
+
reflex/state.py,sha256=gqQNmLGdrG9sxivfbyE1bHrLSlYZarbQCt6PtPaWO2w,94991
|
|
17
17
|
reflex/style.py,sha256=JxbXXA4MTnXrk0XHEoMBoNC7J-M2oL5Hl3W_QmXvmBg,13222
|
|
18
|
-
reflex/testing.py,sha256=
|
|
18
|
+
reflex/testing.py,sha256=wLhvUdvTa6jPDkfdWLOYt69piX1KFhYxZfEjQzWfJo0,39902
|
|
19
19
|
reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
|
|
20
20
|
reflex/.templates/apps/blank/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
reflex/.templates/apps/blank/code/blank.py,sha256=wry9E3VjC7qtt_gzqNOyo4KZAAlzVyNp3uhFkcLZmM0,898
|
|
@@ -30,7 +30,7 @@ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha2
|
|
|
30
30
|
reflex/.templates/web/components/shiki/code.js,sha256=4Es1pxsr-lX4hTQ5mglrwwC6O_SI-z-O60k03z8VFzQ,1144
|
|
31
31
|
reflex/.templates/web/styles/__reflex_style_reset.css,sha256=qbC6JIT643YEsvSQ0D7xBmWE5vXy94JGrKNihRuEjnA,8913
|
|
32
32
|
reflex/.templates/web/utils/react-theme.js,sha256=Aa-RND3ooGCXW6Zavzitc-v0ciKlcQDTFlDtE4mPkFI,2713
|
|
33
|
-
reflex/.templates/web/utils/state.js,sha256
|
|
33
|
+
reflex/.templates/web/utils/state.js,sha256=-K0bu2X2wxUpfeieCuw14HQz3W1jvx1s7JK69S8b4R0,36060
|
|
34
34
|
reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
|
|
35
35
|
reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
|
|
36
36
|
reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
|
|
@@ -41,12 +41,12 @@ reflex/app_mixins/lifespan.py,sha256=a156ZUYVo2bN1Tv-4WmWSjojo90PP_2-V12BX0q8YNw
|
|
|
41
41
|
reflex/app_mixins/middleware.py,sha256=BKhe0jUFO1_TylEC48LUZyaeYyPmAYW-NV4H5Rw221k,2848
|
|
42
42
|
reflex/app_mixins/mixin.py,sha256=R1YncalqDrbdPZvpKVbm72ZKmQZxYAWfuFq9JknzTqQ,305
|
|
43
43
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
44
|
-
reflex/compiler/compiler.py,sha256=
|
|
45
|
-
reflex/compiler/templates.py,sha256=
|
|
46
|
-
reflex/compiler/utils.py,sha256=
|
|
44
|
+
reflex/compiler/compiler.py,sha256=MQ5SW5pcSeDL6Nsfvrcu0jWW26xaEXrR4EsSybzuW7k,29130
|
|
45
|
+
reflex/compiler/templates.py,sha256=91LCzfwCG_VdqZEEG9vXoYA7SVZvTYTXVlkBuL-zEa8,20579
|
|
46
|
+
reflex/compiler/utils.py,sha256=FM1KCuFMfcjveLmQAmwNMp6dTtaqhG3m2opo7rZs_iA,19158
|
|
47
47
|
reflex/components/__init__.py,sha256=eWpgWFbSQDj2TpGp6StEbxU7roQgzY7ZM0XIcIc5RE8,588
|
|
48
48
|
reflex/components/__init__.pyi,sha256=7VFHtJGIjvGtD3IiPk848IPWYSCcPRT1EyPGljLhYlU,736
|
|
49
|
-
reflex/components/component.py,sha256=
|
|
49
|
+
reflex/components/component.py,sha256=64p7eWhFg6Q9ZikvPX9pOYNjQk9GUElwXaf2qUAJACc,98103
|
|
50
50
|
reflex/components/dynamic.py,sha256=WfN1waxtRuuZ3-8MvooDi4SkFxem4R8wAHOLXx_9rCo,7422
|
|
51
51
|
reflex/components/field.py,sha256=j5JZFzNlET3GAIW91m1L31RypXylMAxJNm0-CJbtykM,5745
|
|
52
52
|
reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
|
|
@@ -93,7 +93,7 @@ reflex/components/core/html.pyi,sha256=yDzRQ10yf8ZzbP76C2rEG2gx6Vud_Ez3LcHDWMgyF
|
|
|
93
93
|
reflex/components/core/match.py,sha256=xBB9vtWgVlotPHq6ssng8lzxwXDDQLp9k6Ew5RPPd3U,9888
|
|
94
94
|
reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
|
|
95
95
|
reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMKxKY,3856
|
|
96
|
-
reflex/components/core/sticky.pyi,sha256=
|
|
96
|
+
reflex/components/core/sticky.pyi,sha256=5D-yT0LYs0ewOlUlInU7KCpuz49yKK7dirysUs1C2VI,32908
|
|
97
97
|
reflex/components/core/upload.py,sha256=b4-ubt4dznL5LDA7UCKNdWcdCX9aLOX2vNFdv4GlRdg,13544
|
|
98
98
|
reflex/components/core/upload.pyi,sha256=UqfcPGUs8xmnKHKuvqYV7CtOXeF_D1s9ooRe49w6C3E,15757
|
|
99
99
|
reflex/components/core/window_events.py,sha256=opbuO20zVxt252kQLk49V7cltb_Um2oh7iePeGNJ538,3355
|
|
@@ -120,8 +120,8 @@ reflex/components/el/elements/forms.py,sha256=75RJqmw4vBEUeYFNZwza91BpiXnEVSSK3H
|
|
|
120
120
|
reflex/components/el/elements/forms.pyi,sha256=NSmo68oksZkzOoSGA5XKNVzqU0K3WIzkFN82EDLC-f8,168115
|
|
121
121
|
reflex/components/el/elements/inline.py,sha256=q3Ku_x8L9NaXrYQovCfkWwZ5AfXG0VyhGN_OT73kA0Y,4126
|
|
122
122
|
reflex/components/el/elements/inline.pyi,sha256=0pjqiHH8DmFfghbM8MK5tqgiZGSnfT-o055GINU8xrA,231760
|
|
123
|
-
reflex/components/el/elements/media.py,sha256=
|
|
124
|
-
reflex/components/el/elements/media.pyi,sha256=
|
|
123
|
+
reflex/components/el/elements/media.py,sha256=RxykHOcXrTPiInFXfmt_QfGTTNXQez_eurlpaobRoWw,26204
|
|
124
|
+
reflex/components/el/elements/media.pyi,sha256=g-IBcwsy4ilzlIHmVn4ZGTTVHf83gqMurCBiImslAH4,442547
|
|
125
125
|
reflex/components/el/elements/metadata.py,sha256=Vf0D0dXqvwt76FkrvDQQpESJmxDh6e6Qxnk2GIRhOlM,2316
|
|
126
126
|
reflex/components/el/elements/metadata.pyi,sha256=5pqPOzE-QbjiOQBitX_qWkcrCssotx-VaP-7x62dfjg,39675
|
|
127
127
|
reflex/components/el/elements/other.py,sha256=WON35QviPNYsBeLQTNbeN7a6m6ixLYIVa4WsDzo9YBY,1378
|
|
@@ -138,8 +138,8 @@ reflex/components/gridjs/__init__.py,sha256=xJwDm1AZ70L5-t9LLqZwGUtDpijbf1KuMYDT
|
|
|
138
138
|
reflex/components/gridjs/datatable.py,sha256=7JKrRw1zkpFB0_wwoaIhrVrldsm7-dyi3PASgqLq8Hc,4224
|
|
139
139
|
reflex/components/gridjs/datatable.pyi,sha256=kFgv82vCgfdWZaUq4bZ73G8X3mkw6ecvSRkZ9G9-28E,5185
|
|
140
140
|
reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
|
|
141
|
-
reflex/components/lucide/icon.py,sha256=
|
|
142
|
-
reflex/components/lucide/icon.pyi,sha256=
|
|
141
|
+
reflex/components/lucide/icon.py,sha256=GiNlTfoXE36J9ZAY9Kh7DogxM5jVliFi5VjZZ_8YObM,35292
|
|
142
|
+
reflex/components/lucide/icon.pyi,sha256=PtN6ysOxDRtwlpt-YsXAKZpKipXmZBtbAt-FaGI6i4Q,38086
|
|
143
143
|
reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
|
|
144
144
|
reflex/components/markdown/markdown.py,sha256=kzvO2VnfCbxV7AcIMBJbxLtAlQ6U5T_QB_JTh8l-HJ4,15450
|
|
145
145
|
reflex/components/markdown/markdown.pyi,sha256=oOlXZItHB0TPWsFz1Qjvr3KzG8sssthBp40UO_KkRIA,4322
|
|
@@ -157,8 +157,8 @@ reflex/components/radix/primitives/accordion.py,sha256=yr_GtuU8cGiMyXmWXFx-Tz8P1
|
|
|
157
157
|
reflex/components/radix/primitives/accordion.pyi,sha256=QuAwkB02qfJs8zqHfS25tpLYCjlnenEIMH61KKI8u1Q,28219
|
|
158
158
|
reflex/components/radix/primitives/base.py,sha256=9OvGDI1to8XL_a2hr3fNBQUwTHZBUO424ea2-UTKD18,770
|
|
159
159
|
reflex/components/radix/primitives/base.pyi,sha256=Cv5PCGNBO-QFXvBs5E5sxIkcQUgSHHUhSxQPl64T4ZU,4635
|
|
160
|
-
reflex/components/radix/primitives/drawer.py,sha256=
|
|
161
|
-
reflex/components/radix/primitives/drawer.pyi,sha256=
|
|
160
|
+
reflex/components/radix/primitives/drawer.py,sha256=9x-8chrFxAfuQ79p09aubQp-hVJqTxvIq42JVypWv4Y,8830
|
|
161
|
+
reflex/components/radix/primitives/drawer.pyi,sha256=DG-Vu07qwj0utprcheNZrgGp3a3joZmXyfwlLDyFsHc,29883
|
|
162
162
|
reflex/components/radix/primitives/form.py,sha256=jxCt0xZRE9Xx5tBIJNojYwyvhN631_aNdlFQSPgm2dU,4801
|
|
163
163
|
reflex/components/radix/primitives/form.pyi,sha256=1g9IOcPDWPQDrdLYkeHgVXnF9Dcsng82yH8xKlOjrRw,47184
|
|
164
164
|
reflex/components/radix/primitives/progress.py,sha256=UvuUn6eWEhnhqImDvYOwa9Z3CE5gu5EV28uPBbZAT4k,3988
|
|
@@ -312,11 +312,11 @@ reflex/components/tags/tagless.py,sha256=APeSG-6N5-ucWwkq_hUl7zfT_vpoKleQdP80wPE
|
|
|
312
312
|
reflex/constants/__init__.py,sha256=q2Jf-LBbNcGrOmx5M7QotIAYW_t3m02TsmmdtJ5_IhM,2190
|
|
313
313
|
reflex/constants/base.py,sha256=rZ2JFO3mu5fVpjIUbiPJ7YCbensCjefbzYtV9uEwqpw,7539
|
|
314
314
|
reflex/constants/colors.py,sha256=n-FN7stNrvk5rCN0TAvE28dqwUeQZHue-b5q1CO0EyQ,2048
|
|
315
|
-
reflex/constants/compiler.py,sha256=
|
|
315
|
+
reflex/constants/compiler.py,sha256=1FXPYQNotaSrTwWcOspA1gCVmEdoiWkNMbbrz_qU0YU,5709
|
|
316
316
|
reflex/constants/config.py,sha256=8OIjiBdZZJrRVHsNBheMwopE9AwBFFzau0SXqXKcrPg,1715
|
|
317
317
|
reflex/constants/custom_components.py,sha256=joJt4CEt1yKy7wsBH6vYo7_QRW0O_fWXrrTf0VY2q14,1317
|
|
318
318
|
reflex/constants/event.py,sha256=tgoynWQi2L0_Kqc3XhXo7XXL76A-OKhJGHRrNjm7gFw,2885
|
|
319
|
-
reflex/constants/installer.py,sha256=
|
|
319
|
+
reflex/constants/installer.py,sha256=iXxSCiOhHFMk1P3TL46zGkJbprZ9RxCePMf2TOBmbJc,4191
|
|
320
320
|
reflex/constants/route.py,sha256=UBjqaAOxiUxlDZCSY4O2JJChKvA4MZrhUU0E5rNvKbM,2682
|
|
321
321
|
reflex/constants/state.py,sha256=dkoVvO9JcJyHovHJlGsZx-dDxpM80OvS4cJEm_TUOiM,349
|
|
322
322
|
reflex/constants/utils.py,sha256=e1ChEvbHfmE_V2UJvCSUhD_qTVAIhEGPpRJSqdSd6PA,780
|
|
@@ -326,7 +326,7 @@ reflex/experimental/__init__.py,sha256=P8fe8S2e2gy2HCwHFGQzr3lPMmh7qN5Ii2e8ukoPH
|
|
|
326
326
|
reflex/experimental/client_state.py,sha256=adITjFmvzO081yaVgne2PZpG0hc_SrJHyLLbE-zfet0,10024
|
|
327
327
|
reflex/experimental/hooks.py,sha256=CHYGrAE5t8riltrJmDFgJ4D2Vhmhw-y3B3MSGNlOQow,2366
|
|
328
328
|
reflex/istate/__init__.py,sha256=afq_pCS5B_REC-Kl3Rbaa538uWi59xNz4INeuENcWnk,2039
|
|
329
|
-
reflex/istate/data.py,sha256=
|
|
329
|
+
reflex/istate/data.py,sha256=8RydiarP7f5ET5a3dfGpuuXdYZ7KHEWS6aENVoxRxGc,7918
|
|
330
330
|
reflex/istate/dynamic.py,sha256=xOQ9upZVPf6ngqcLQZ9HdAAYmoWwJ8kRFPH34Q5HTiM,91
|
|
331
331
|
reflex/istate/manager.py,sha256=xQhvpTqnsVI5DmnZOq39IiQ-g1d-gtihQdEGKKM6-oQ,30531
|
|
332
332
|
reflex/istate/proxy.py,sha256=Q8JrV1m6drVcTNJL9JuN-nKUXclazs96OHl_fhR0UBk,25928
|
|
@@ -339,49 +339,49 @@ reflex/plugins/__init__.py,sha256=jrMWQqMxCwDwgwQYTygeR_pIewMcvIFwAnngPbjSumQ,43
|
|
|
339
339
|
reflex/plugins/_screenshot.py,sha256=CAOaRpbrpTTIswwCXqhv7WYShB86Ao9MVv6dcXJzRb4,3958
|
|
340
340
|
reflex/plugins/base.py,sha256=5BgzCM7boj9kJ6FGzVzVlgQk-crJuVmOLCl1PXvv4-E,3372
|
|
341
341
|
reflex/plugins/shared_tailwind.py,sha256=Zx1TDAjpXGI5aEjpB8NWS__xYRSNu_SEMTB6Z3ub120,7305
|
|
342
|
-
reflex/plugins/sitemap.py,sha256=
|
|
342
|
+
reflex/plugins/sitemap.py,sha256=X_CtH5B1w3CZno-gdPj1rp63WjOuNjFnX4B3fx_-VFQ,6135
|
|
343
343
|
reflex/plugins/tailwind_v3.py,sha256=jCEZ5UYdr706Mw48L-WSHOUB6O55o1C3uG6AMwXqZoI,4810
|
|
344
344
|
reflex/plugins/tailwind_v4.py,sha256=q6OxgWENu4fml4mKr8ncgjIU5ENgQCfNagtUOh51hik,5230
|
|
345
345
|
reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
346
346
|
reflex/utils/build.py,sha256=GLT2ycqgAe1cw__MFbfdlYrkzcTnY1oJ8cAv80jEcnQ,8641
|
|
347
347
|
reflex/utils/codespaces.py,sha256=kEQ-j-jclTukFpXDlYgNp95kYMGDrQmP3VNEoYGZ1u4,3052
|
|
348
348
|
reflex/utils/compat.py,sha256=aSJH_M6iomgHPQ4onQ153xh1MWqPi3HSYDzE68N6gZM,2635
|
|
349
|
-
reflex/utils/console.py,sha256=
|
|
349
|
+
reflex/utils/console.py,sha256=RkTNfOVozsuGmq9GFSUDzBvL80twBYLRIcOxh0zK-q0,13185
|
|
350
350
|
reflex/utils/decorator.py,sha256=QUZntENupeW5FA5mNRTx0I1GzGKFQXhMjVg24_IIM5o,3957
|
|
351
351
|
reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
|
|
352
352
|
reflex/utils/exec.py,sha256=o0u81B6pHv5Yt982V1vFYEJDxgM-HxmM5KRUBbTYmZI,21965
|
|
353
353
|
reflex/utils/export.py,sha256=Z2AHuhkxGQzOi9I90BejQ4qEcD0URr2i-ZU5qTJt7eQ,2562
|
|
354
|
-
reflex/utils/format.py,sha256
|
|
355
|
-
reflex/utils/frontend_skeleton.py,sha256=
|
|
356
|
-
reflex/utils/imports.py,sha256=
|
|
354
|
+
reflex/utils/format.py,sha256=-EC0tfx7VCIijcuJx9l-ArRnRnPKrrrW8RgsKwXIoBc,21115
|
|
355
|
+
reflex/utils/frontend_skeleton.py,sha256=8sXRmVsKUiWf6O5rA1RRR_E4YjEsqDdIQlkUByp3aOI,8774
|
|
356
|
+
reflex/utils/imports.py,sha256=SlQfMTbJasXHxrpcHdWKPWiIZ1Kn2-tulMF32_YA2ek,4262
|
|
357
357
|
reflex/utils/js_runtimes.py,sha256=ipVrZCajiRcjow-nQeUuxPS_c6F_NpfvMtITOesbPjU,13153
|
|
358
358
|
reflex/utils/lazy_loader.py,sha256=BiY9OvmAJDCz10qpuyTYv9duXgMFQa6RXKQmTO9hqKU,4453
|
|
359
359
|
reflex/utils/misc.py,sha256=folEweZVCrhHNkkqut9KqQdTJ80HxwL_gI41m40FnNM,4592
|
|
360
360
|
reflex/utils/monitoring.py,sha256=87fr9j6Y9Bvz2uF4tBxuX6CaU054h1UPx0ijcnyP_kw,5250
|
|
361
361
|
reflex/utils/net.py,sha256=q3h5pNbAlFiqy8U15S9DTOvzy_OnenVVug5ROBTGRTA,4267
|
|
362
362
|
reflex/utils/path_ops.py,sha256=_RS17IQDNr5vcoLLGZx2-z1E5WP-JgDHvaRAOgqrZiU,8154
|
|
363
|
-
reflex/utils/prerequisites.py,sha256=
|
|
363
|
+
reflex/utils/prerequisites.py,sha256=CvvpWc3xrZv7vAnA4GW96X3wghx-ApfNWemrI21zB9s,18742
|
|
364
364
|
reflex/utils/processes.py,sha256=t-ufWwu9RDsSMXCSsmjS2TILP5s7-AY94Rgx2O2gHMw,18178
|
|
365
|
-
reflex/utils/pyi_generator.py,sha256=
|
|
365
|
+
reflex/utils/pyi_generator.py,sha256=IiNyiodH_xq8tRLD45phe2Le3sL6ZgloVMyg07xtT3o,46395
|
|
366
366
|
reflex/utils/redir.py,sha256=E6lJ6UYGQs_uCyQAKHT_dDMplo5IRZ9JarWfvgGAgGo,1731
|
|
367
367
|
reflex/utils/registry.py,sha256=omKh5rrsybDuuKmh4K88lwdwwcpGsu3Vc4pCko_djKY,2239
|
|
368
368
|
reflex/utils/rename.py,sha256=qdE4SXHOaNs-TDGrnJz-h_nvLWA1C5osVrWb4wLSfyI,5262
|
|
369
|
-
reflex/utils/serializers.py,sha256=
|
|
369
|
+
reflex/utils/serializers.py,sha256=ZqQ2xrBIyOXaN0RIRZwy2oU5O0Y1R0SEGWx-kf5rXMs,13938
|
|
370
370
|
reflex/utils/telemetry.py,sha256=KY54NmGWyJVSf9TMTcXw2V6gIbEqut1JkAXmmtIlRfw,10776
|
|
371
371
|
reflex/utils/templates.py,sha256=tWo3jO6laQX8b0gUsqHkio_hUQGIvFbmXC-lxiGcdRo,14251
|
|
372
372
|
reflex/utils/token_manager.py,sha256=o_HGbqT9WfYRmek2iY9nem4vDZMz8Q4Dra-eW1lKmuA,6999
|
|
373
|
-
reflex/utils/types.py,sha256=
|
|
373
|
+
reflex/utils/types.py,sha256=Xh9jXSMBgwrR-Whn_5qAnjqQWzHiIJbm1b8qwMG4QmY,38511
|
|
374
374
|
reflex/vars/__init__.py,sha256=85eXMt32bFoKtMdH3KxYRMD8mtnKyYiQcThPxJLoW1k,1359
|
|
375
|
-
reflex/vars/base.py,sha256=
|
|
375
|
+
reflex/vars/base.py,sha256=hfcJ3x-BSFLgN85oBS0dPJb2IaoKJqQjguP1sy50NRY,113256
|
|
376
376
|
reflex/vars/datetime.py,sha256=F2Jv_bfydipFSkIQ1F6x5MnSgFEyES9Vq5RG_uGH81E,5118
|
|
377
377
|
reflex/vars/dep_tracking.py,sha256=LfDGgAGlqfC0DeiVcitRBcA1uCe1C3fNRARRekLgCz4,13738
|
|
378
378
|
reflex/vars/function.py,sha256=0i-VkxHkDJmZtfQUwUfaF0rlS6WM8azjwQ8k7rEOkyk,13944
|
|
379
379
|
reflex/vars/number.py,sha256=tO7pnvFaBsedq1HWT4skytnSqHWMluGEhUbjAUMx8XQ,28190
|
|
380
|
-
reflex/vars/object.py,sha256=
|
|
380
|
+
reflex/vars/object.py,sha256=YblDxQYMajR19a7qjavXcM7-9A6MweAH1giw5fjPci4,17349
|
|
381
381
|
reflex/vars/sequence.py,sha256=1kBrqihspyjyQ1XDqFPC8OpVGtZs_EVkOdIKBro5ilA,55249
|
|
382
382
|
scripts/hatch_build.py,sha256=-4pxcLSFmirmujGpQX9UUxjhIC03tQ_fIQwVbHu9kc0,1861
|
|
383
|
-
reflex-0.8.
|
|
384
|
-
reflex-0.8.
|
|
385
|
-
reflex-0.8.
|
|
386
|
-
reflex-0.8.
|
|
387
|
-
reflex-0.8.
|
|
383
|
+
reflex-0.8.9.dist-info/METADATA,sha256=grD51hghizQeANCTg9lYqako9l8tXK1sYtwYg4qGOCA,12505
|
|
384
|
+
reflex-0.8.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
385
|
+
reflex-0.8.9.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
386
|
+
reflex-0.8.9.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
387
|
+
reflex-0.8.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|