reflex 0.7.9a1__py3-none-any.whl → 0.7.9.post1__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 +3 -3
- reflex/app.py +21 -23
- reflex/components/core/upload.pyi +7 -0
- reflex/components/react_player/audio.pyi +0 -4
- reflex/components/react_player/react_player.pyi +0 -4
- reflex/components/react_player/video.pyi +0 -4
- reflex/page.py +8 -0
- reflex/reflex.py +3 -2
- reflex/state.py +27 -6
- {reflex-0.7.9a1.dist-info → reflex-0.7.9.post1.dist-info}/METADATA +1 -1
- {reflex-0.7.9a1.dist-info → reflex-0.7.9.post1.dist-info}/RECORD +14 -14
- {reflex-0.7.9a1.dist-info → reflex-0.7.9.post1.dist-info}/WHEEL +0 -0
- {reflex-0.7.9a1.dist-info → reflex-0.7.9.post1.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.9a1.dist-info → reflex-0.7.9.post1.dist-info}/licenses/LICENSE +0 -0
|
@@ -243,13 +243,13 @@ export const applyEvent = async (event, socket) => {
|
|
|
243
243
|
if (event.name == "_set_focus") {
|
|
244
244
|
const ref =
|
|
245
245
|
event.payload.ref in refs ? refs[event.payload.ref] : event.payload.ref;
|
|
246
|
-
const
|
|
247
|
-
if (focus === undefined) {
|
|
246
|
+
const current = ref?.current;
|
|
247
|
+
if (current === undefined || current?.focus === undefined) {
|
|
248
248
|
console.error(
|
|
249
249
|
`No element found for ref ${event.payload.ref} in _set_focus`,
|
|
250
250
|
);
|
|
251
251
|
} else {
|
|
252
|
-
focus();
|
|
252
|
+
current.focus();
|
|
253
253
|
}
|
|
254
254
|
return false;
|
|
255
255
|
}
|
reflex/app.py
CHANGED
|
@@ -489,7 +489,7 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
489
489
|
|
|
490
490
|
# Set up the API.
|
|
491
491
|
self._api = Starlette(lifespan=self._run_lifespan_tasks)
|
|
492
|
-
|
|
492
|
+
App._add_cors(self._api)
|
|
493
493
|
self._add_default_endpoints()
|
|
494
494
|
|
|
495
495
|
for clz in App.__mro__:
|
|
@@ -613,19 +613,6 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
613
613
|
Returns:
|
|
614
614
|
The backend api.
|
|
615
615
|
"""
|
|
616
|
-
if self._cached_fastapi_app is not None:
|
|
617
|
-
asgi_app = self._cached_fastapi_app
|
|
618
|
-
|
|
619
|
-
if not asgi_app or not self._api:
|
|
620
|
-
raise ValueError("The app has not been initialized.")
|
|
621
|
-
|
|
622
|
-
asgi_app.mount("", self._api)
|
|
623
|
-
else:
|
|
624
|
-
asgi_app = self._api
|
|
625
|
-
|
|
626
|
-
if not asgi_app:
|
|
627
|
-
raise ValueError("The app has not been initialized.")
|
|
628
|
-
|
|
629
616
|
# For py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
630
617
|
# before compiling the app in a thread to avoid event loop error (REF-2172).
|
|
631
618
|
self._apply_decorated_pages()
|
|
@@ -637,9 +624,17 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
637
624
|
# Force background compile errors to print eagerly
|
|
638
625
|
lambda f: f.result()
|
|
639
626
|
)
|
|
640
|
-
# Wait for the compile to finish
|
|
641
|
-
|
|
642
|
-
|
|
627
|
+
# Wait for the compile to finish to ensure all optional endpoints are mounted.
|
|
628
|
+
compile_future.result()
|
|
629
|
+
|
|
630
|
+
if not self._api:
|
|
631
|
+
raise ValueError("The app has not been initialized.")
|
|
632
|
+
if self._cached_fastapi_app is not None:
|
|
633
|
+
asgi_app = self._cached_fastapi_app
|
|
634
|
+
asgi_app.mount("", self._api)
|
|
635
|
+
App._add_cors(asgi_app)
|
|
636
|
+
else:
|
|
637
|
+
asgi_app = self._api
|
|
643
638
|
|
|
644
639
|
if self.api_transformer is not None:
|
|
645
640
|
api_transformers: Sequence[Starlette | Callable[[ASGIApp], ASGIApp]] = (
|
|
@@ -651,6 +646,7 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
651
646
|
for api_transformer in api_transformers:
|
|
652
647
|
if isinstance(api_transformer, Starlette):
|
|
653
648
|
# Mount the api to the fastapi app.
|
|
649
|
+
App._add_cors(api_transformer)
|
|
654
650
|
api_transformer.mount("", asgi_app)
|
|
655
651
|
asgi_app = api_transformer
|
|
656
652
|
else:
|
|
@@ -709,11 +705,14 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
709
705
|
if environment.REFLEX_ADD_ALL_ROUTES_ENDPOINT.get():
|
|
710
706
|
self.add_all_routes_endpoint()
|
|
711
707
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
708
|
+
@staticmethod
|
|
709
|
+
def _add_cors(api: Starlette):
|
|
710
|
+
"""Add CORS middleware to the app.
|
|
711
|
+
|
|
712
|
+
Args:
|
|
713
|
+
api: The Starlette app to add CORS middleware to.
|
|
714
|
+
"""
|
|
715
|
+
api.add_middleware(
|
|
717
716
|
cors.CORSMiddleware,
|
|
718
717
|
allow_credentials=True,
|
|
719
718
|
allow_methods=["*"],
|
|
@@ -1118,7 +1117,6 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1118
1117
|
# Add the @rx.page decorated pages to collect on_load events.
|
|
1119
1118
|
for render, kwargs in DECORATED_PAGES[app_name]:
|
|
1120
1119
|
self.add_page(render, **kwargs)
|
|
1121
|
-
DECORATED_PAGES[app_name].clear()
|
|
1122
1120
|
|
|
1123
1121
|
def _validate_var_dependencies(self, state: type[BaseState] | None = None) -> None:
|
|
1124
1122
|
"""Validate the dependencies of the vars in the app.
|
|
@@ -12,6 +12,7 @@ from reflex.components.component import Component, ComponentNamespace, Memoizati
|
|
|
12
12
|
from reflex.components.core.breakpoints import Breakpoints
|
|
13
13
|
from reflex.constants import Dirs
|
|
14
14
|
from reflex.event import CallableEventSpec, EventSpec, EventType
|
|
15
|
+
from reflex.style import Style
|
|
15
16
|
from reflex.utils.imports import ImportVar
|
|
16
17
|
from reflex.vars import VarData
|
|
17
18
|
from reflex.vars.base import Var
|
|
@@ -157,6 +158,7 @@ class Upload(MemoizationLeaf):
|
|
|
157
158
|
no_click: Var[bool] | bool | None = None,
|
|
158
159
|
no_drag: Var[bool] | bool | None = None,
|
|
159
160
|
no_keyboard: Var[bool] | bool | None = None,
|
|
161
|
+
drag_active_style: Style | None = None,
|
|
160
162
|
style: Sequence[Mapping[str, Any]]
|
|
161
163
|
| Mapping[str, Any]
|
|
162
164
|
| Var[Mapping[str, Any]]
|
|
@@ -199,6 +201,7 @@ class Upload(MemoizationLeaf):
|
|
|
199
201
|
no_drag: Whether to disable drag and drop.
|
|
200
202
|
no_keyboard: Whether to disable using the space/enter keys to upload.
|
|
201
203
|
on_drop: Fired when files are dropped.
|
|
204
|
+
drag_active_style: Style rules to apply when actively dragging.
|
|
202
205
|
style: The style of the component.
|
|
203
206
|
key: A unique key for the component.
|
|
204
207
|
id: The id for the component.
|
|
@@ -227,6 +230,7 @@ class StyledUpload(Upload):
|
|
|
227
230
|
no_click: Var[bool] | bool | None = None,
|
|
228
231
|
no_drag: Var[bool] | bool | None = None,
|
|
229
232
|
no_keyboard: Var[bool] | bool | None = None,
|
|
233
|
+
drag_active_style: Style | None = None,
|
|
230
234
|
style: Sequence[Mapping[str, Any]]
|
|
231
235
|
| Mapping[str, Any]
|
|
232
236
|
| Var[Mapping[str, Any]]
|
|
@@ -269,6 +273,7 @@ class StyledUpload(Upload):
|
|
|
269
273
|
no_drag: Whether to disable drag and drop.
|
|
270
274
|
no_keyboard: Whether to disable using the space/enter keys to upload.
|
|
271
275
|
on_drop: Fired when files are dropped.
|
|
276
|
+
drag_active_style: Style rules to apply when actively dragging.
|
|
272
277
|
style: The style of the component.
|
|
273
278
|
key: A unique key for the component.
|
|
274
279
|
id: The id for the component.
|
|
@@ -297,6 +302,7 @@ class UploadNamespace(ComponentNamespace):
|
|
|
297
302
|
no_click: Var[bool] | bool | None = None,
|
|
298
303
|
no_drag: Var[bool] | bool | None = None,
|
|
299
304
|
no_keyboard: Var[bool] | bool | None = None,
|
|
305
|
+
drag_active_style: Style | None = None,
|
|
300
306
|
style: Sequence[Mapping[str, Any]]
|
|
301
307
|
| Mapping[str, Any]
|
|
302
308
|
| Var[Mapping[str, Any]]
|
|
@@ -339,6 +345,7 @@ class UploadNamespace(ComponentNamespace):
|
|
|
339
345
|
no_drag: Whether to disable drag and drop.
|
|
340
346
|
no_keyboard: Whether to disable using the space/enter keys to upload.
|
|
341
347
|
on_drop: Fired when files are dropped.
|
|
348
|
+
drag_active_style: Style rules to apply when actively dragging.
|
|
342
349
|
style: The style of the component.
|
|
343
350
|
key: A unique key for the component.
|
|
344
351
|
id: The id for the component.
|
|
@@ -27,8 +27,6 @@ class Audio(ReactPlayer):
|
|
|
27
27
|
light: Var[bool] | bool | None = None,
|
|
28
28
|
volume: Var[float] | float | None = None,
|
|
29
29
|
muted: Var[bool] | bool | None = None,
|
|
30
|
-
width: Var[str] | str | None = None,
|
|
31
|
-
height: Var[str] | str | None = None,
|
|
32
30
|
style: Sequence[Mapping[str, Any]]
|
|
33
31
|
| Mapping[str, Any]
|
|
34
32
|
| Var[Mapping[str, Any]]
|
|
@@ -83,8 +81,6 @@ class Audio(ReactPlayer):
|
|
|
83
81
|
light: Set to true to show just the video thumbnail, which loads the full player on click
|
|
84
82
|
volume: Set the volume of the player, between 0 and 1
|
|
85
83
|
muted: Mutes the player
|
|
86
|
-
width: Set the width of the player: ex:640px
|
|
87
|
-
height: Set the height of the player: ex:640px
|
|
88
84
|
on_ready: Called when media is loaded and ready to play. If playing is set to true, media will play immediately.
|
|
89
85
|
on_start: Called when media starts playing.
|
|
90
86
|
on_play: Called when media starts or resumes playing after pausing or buffering.
|
|
@@ -30,8 +30,6 @@ class ReactPlayer(NoSSRComponent):
|
|
|
30
30
|
light: Var[bool] | bool | None = None,
|
|
31
31
|
volume: Var[float] | float | None = None,
|
|
32
32
|
muted: Var[bool] | bool | None = None,
|
|
33
|
-
width: Var[str] | str | None = None,
|
|
34
|
-
height: Var[str] | str | None = None,
|
|
35
33
|
style: Sequence[Mapping[str, Any]]
|
|
36
34
|
| Mapping[str, Any]
|
|
37
35
|
| Var[Mapping[str, Any]]
|
|
@@ -86,8 +84,6 @@ class ReactPlayer(NoSSRComponent):
|
|
|
86
84
|
light: Set to true to show just the video thumbnail, which loads the full player on click
|
|
87
85
|
volume: Set the volume of the player, between 0 and 1
|
|
88
86
|
muted: Mutes the player
|
|
89
|
-
width: Set the width of the player: ex:640px
|
|
90
|
-
height: Set the height of the player: ex:640px
|
|
91
87
|
on_ready: Called when media is loaded and ready to play. If playing is set to true, media will play immediately.
|
|
92
88
|
on_start: Called when media starts playing.
|
|
93
89
|
on_play: Called when media starts or resumes playing after pausing or buffering.
|
|
@@ -27,8 +27,6 @@ class Video(ReactPlayer):
|
|
|
27
27
|
light: Var[bool] | bool | None = None,
|
|
28
28
|
volume: Var[float] | float | None = None,
|
|
29
29
|
muted: Var[bool] | bool | None = None,
|
|
30
|
-
width: Var[str] | str | None = None,
|
|
31
|
-
height: Var[str] | str | None = None,
|
|
32
30
|
style: Sequence[Mapping[str, Any]]
|
|
33
31
|
| Mapping[str, Any]
|
|
34
32
|
| Var[Mapping[str, Any]]
|
|
@@ -83,8 +81,6 @@ class Video(ReactPlayer):
|
|
|
83
81
|
light: Set to true to show just the video thumbnail, which loads the full player on click
|
|
84
82
|
volume: Set the volume of the player, between 0 and 1
|
|
85
83
|
muted: Mutes the player
|
|
86
|
-
width: Set the width of the player: ex:640px
|
|
87
|
-
height: Set the height of the player: ex:640px
|
|
88
84
|
on_ready: Called when media is loaded and ready to play. If playing is set to true, media will play immediately.
|
|
89
85
|
on_start: Called when media starts playing.
|
|
90
86
|
on_play: Called when media starts or resumes playing after pausing or buffering.
|
reflex/page.py
CHANGED
|
@@ -8,6 +8,7 @@ from typing import Any
|
|
|
8
8
|
|
|
9
9
|
from reflex.config import get_config
|
|
10
10
|
from reflex.event import EventType
|
|
11
|
+
from reflex.utils import console
|
|
11
12
|
|
|
12
13
|
DECORATED_PAGES: dict[str, list] = defaultdict(list)
|
|
13
14
|
|
|
@@ -76,6 +77,13 @@ def get_decorated_pages(omit_implicit_routes: bool = True) -> list[dict[str, Any
|
|
|
76
77
|
Returns:
|
|
77
78
|
The decorated pages.
|
|
78
79
|
"""
|
|
80
|
+
console.deprecate(
|
|
81
|
+
"get_decorated_pages",
|
|
82
|
+
reason="This function is deprecated and will be removed in a future version.",
|
|
83
|
+
deprecation_version="0.7.9",
|
|
84
|
+
removal_version="0.8.0",
|
|
85
|
+
dedupe=True,
|
|
86
|
+
)
|
|
79
87
|
return sorted(
|
|
80
88
|
[
|
|
81
89
|
page_data
|
reflex/reflex.py
CHANGED
|
@@ -354,6 +354,7 @@ def run(
|
|
|
354
354
|
@click.option(
|
|
355
355
|
"--zip/--no-zip",
|
|
356
356
|
default=True,
|
|
357
|
+
is_flag=True,
|
|
357
358
|
help="Whether to zip the backend and frontend exports.",
|
|
358
359
|
)
|
|
359
360
|
@click.option(
|
|
@@ -569,7 +570,7 @@ def makemigrations(message: str | None):
|
|
|
569
570
|
help="The hostname of the frontend.",
|
|
570
571
|
)
|
|
571
572
|
@click.option(
|
|
572
|
-
"--interactive",
|
|
573
|
+
"--interactive/--no-interactive",
|
|
573
574
|
is_flag=True,
|
|
574
575
|
default=True,
|
|
575
576
|
help="Whether to list configuration options and ask for confirmation.",
|
|
@@ -711,7 +712,7 @@ def _convert_reflex_loglevel_to_reflex_cli_loglevel(
|
|
|
711
712
|
return HostingLogLevel.INFO
|
|
712
713
|
|
|
713
714
|
|
|
714
|
-
if find_spec("typer"):
|
|
715
|
+
if find_spec("typer") and find_spec("typer.main"):
|
|
715
716
|
import typer # pyright: ignore[reportMissingImports]
|
|
716
717
|
|
|
717
718
|
if isinstance(hosting_cli, typer.Typer):
|
reflex/state.py
CHANGED
|
@@ -1398,6 +1398,29 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1398
1398
|
for substate in self.substates.values():
|
|
1399
1399
|
substate.reset()
|
|
1400
1400
|
|
|
1401
|
+
@classmethod
|
|
1402
|
+
@functools.lru_cache
|
|
1403
|
+
def _is_client_storage(cls, prop_name_or_field: str | ModelField) -> bool:
|
|
1404
|
+
"""Check if the var is a client storage var.
|
|
1405
|
+
|
|
1406
|
+
Args:
|
|
1407
|
+
prop_name_or_field: The name of the var or the field itself.
|
|
1408
|
+
|
|
1409
|
+
Returns:
|
|
1410
|
+
Whether the var is a client storage var.
|
|
1411
|
+
"""
|
|
1412
|
+
if isinstance(prop_name_or_field, str):
|
|
1413
|
+
field = cls.get_fields().get(prop_name_or_field)
|
|
1414
|
+
else:
|
|
1415
|
+
field = prop_name_or_field
|
|
1416
|
+
return field is not None and (
|
|
1417
|
+
isinstance(field.default, ClientStorageBase)
|
|
1418
|
+
or (
|
|
1419
|
+
isinstance(field.type_, type)
|
|
1420
|
+
and issubclass(field.type_, ClientStorageBase)
|
|
1421
|
+
)
|
|
1422
|
+
)
|
|
1423
|
+
|
|
1401
1424
|
def _reset_client_storage(self):
|
|
1402
1425
|
"""Reset client storage base vars to their default values."""
|
|
1403
1426
|
# Client-side storage is reset during hydrate so that clearing cookies
|
|
@@ -1405,10 +1428,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1405
1428
|
fields = self.get_fields()
|
|
1406
1429
|
for prop_name in self.base_vars:
|
|
1407
1430
|
field = fields[prop_name]
|
|
1408
|
-
if
|
|
1409
|
-
isinstance(field.type_, type)
|
|
1410
|
-
and issubclass(field.type_, ClientStorageBase)
|
|
1411
|
-
):
|
|
1431
|
+
if self._is_client_storage(field):
|
|
1412
1432
|
setattr(self, prop_name, copy.deepcopy(field.default))
|
|
1413
1433
|
|
|
1414
1434
|
# Recursively reset the substate client storage.
|
|
@@ -2360,8 +2380,9 @@ class UpdateVarsInternalState(State):
|
|
|
2360
2380
|
for var, value in vars.items():
|
|
2361
2381
|
state_name, _, var_name = var.rpartition(".")
|
|
2362
2382
|
var_state_cls = State.get_class_substate(state_name)
|
|
2363
|
-
|
|
2364
|
-
|
|
2383
|
+
if var_state_cls._is_client_storage(var_name):
|
|
2384
|
+
var_state = await self.get_state(var_state_cls)
|
|
2385
|
+
setattr(var_state, var_name, value)
|
|
2365
2386
|
|
|
2366
2387
|
|
|
2367
2388
|
class OnLoadInternalState(State):
|
|
@@ -2,17 +2,17 @@ reflex/__init__.py,sha256=viEt38jc1skwOUBwwlwPL02hcGrm9xNQzKExVftZEx4,10365
|
|
|
2
2
|
reflex/__init__.pyi,sha256=h9ltlhaz1dySsNYpUkN_VCjEzHGfb1h18ThYh15QjyU,11358
|
|
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=46nFXGVDIvptbReSnCFZ6le4NCXkI9BFnKJ_bidxU4M,73552
|
|
6
6
|
reflex/assets.py,sha256=PLTKAMYPKMZq8eWXKX8uco6NZ9IiPGWal0bOPLUmU7k,3364
|
|
7
7
|
reflex/base.py,sha256=U7i_ijkbSLUDm1TlTYYZEm5P6ZiVO1aIT1MJKXO6V1o,3881
|
|
8
8
|
reflex/config.py,sha256=g2t8W07Yq7OFBzEFp5lsy2V6p977hCO872gxPpSDZSU,35521
|
|
9
9
|
reflex/event.py,sha256=_1ViwJFQ3wnQgf1_SP7SdUHeI7qoz62o18gaxPoIGyg,63403
|
|
10
10
|
reflex/model.py,sha256=eOWc157txBIUmYMZqQeKKdn2dm4Tsf8h8CbqeLXvjeg,17577
|
|
11
|
-
reflex/page.py,sha256=
|
|
11
|
+
reflex/page.py,sha256=mqioadLDsABvfNqdLbxvUKqi1gulSKddMihZe3pjtdc,2678
|
|
12
12
|
reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
reflex/reflex.py,sha256=
|
|
13
|
+
reflex/reflex.py,sha256=U0Q_O5mMlzoU_k0mxAaILMGvI1LlIhMtDQmBTGz-9lI,20900
|
|
14
14
|
reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
|
|
15
|
-
reflex/state.py,sha256=
|
|
15
|
+
reflex/state.py,sha256=hZ-192Gp07osYpYFvFReSUNQFIVR7j6_FYwokVZ-DI0,143020
|
|
16
16
|
reflex/style.py,sha256=8ciwcReoKSrPSwoteXJwv7YTK514tf7jrJ5RfqztmvA,13186
|
|
17
17
|
reflex/testing.py,sha256=QNas8LmceEOs3P5u9yxjBOJ1yT50otEB0UxvBegojDA,36078
|
|
18
18
|
reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
|
|
@@ -47,7 +47,7 @@ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha2
|
|
|
47
47
|
reflex/.templates/web/components/shiki/code.js,sha256=UO0hQnm2w1j2VMgj46cnplO6ZLK3p3qhcxp6irjZBxQ,1116
|
|
48
48
|
reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
|
|
49
49
|
reflex/.templates/web/utils/client_side_routing.js,sha256=cOu4wUHDQtGl1yo5goxljZ94SLZLyr9R3S9Rehcvjio,1475
|
|
50
|
-
reflex/.templates/web/utils/state.js,sha256=
|
|
50
|
+
reflex/.templates/web/utils/state.js,sha256=IOA9QGupgpViVCn1gVmLiNPEi_oXdQIT73qm_0y3xgo,31493
|
|
51
51
|
reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
|
|
52
52
|
reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
|
|
53
53
|
reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
|
|
@@ -113,7 +113,7 @@ reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ
|
|
|
113
113
|
reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMKxKY,3856
|
|
114
114
|
reflex/components/core/sticky.pyi,sha256=kC2WokNamJUU3LKeMZNZsptBJ4ZOj_V-WAfw09EvBpo,32340
|
|
115
115
|
reflex/components/core/upload.py,sha256=LqBNKU9LZ0PhaGGnJGEHtXZ39MIqzCghBgUXt43kGH8,12156
|
|
116
|
-
reflex/components/core/upload.pyi,sha256=
|
|
116
|
+
reflex/components/core/upload.pyi,sha256=whgAZA_wUk1PBpLkD16MnKIfLBvBmiEImz2V_UpYqAc,15377
|
|
117
117
|
reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
|
|
118
118
|
reflex/components/datadisplay/__init__.py,sha256=L8pWWKNHWdUD2fbZRoEKjd_8c_hpDdGYO463hwkoIi4,438
|
|
119
119
|
reflex/components/datadisplay/__init__.pyi,sha256=rYMwO_X4NvUex6IL2MMTnhdFRp8Lz5zweMwXaW_l7nc,588
|
|
@@ -309,11 +309,11 @@ reflex/components/radix/themes/typography/text.py,sha256=g2YVFj32lIWYcGswUhAOsWM
|
|
|
309
309
|
reflex/components/radix/themes/typography/text.pyi,sha256=HrTo4MxFluLZg8dpjS9qlvl8I65uZlLTQuxoOmUHSrs,71855
|
|
310
310
|
reflex/components/react_player/__init__.py,sha256=1OTHeZkuefi-zIVXc_QZMTBg4_RsGrMaJHducUuZQCU,171
|
|
311
311
|
reflex/components/react_player/audio.py,sha256=qw_H2_W0AyMsHehA_Q9jskN4_N5TYgkzeisOxhepkPs,186
|
|
312
|
-
reflex/components/react_player/audio.pyi,sha256=
|
|
312
|
+
reflex/components/react_player/audio.pyi,sha256=o5bUq3am1uFoHvmcQwlT9FjvQ3h6OiZbbMWIqp6pnjA,5606
|
|
313
313
|
reflex/components/react_player/react_player.py,sha256=hadeQezGV0C2FlGgK2kvx_3waO7JPNXLIQa950FSUKs,3536
|
|
314
|
-
reflex/components/react_player/react_player.pyi,sha256=
|
|
314
|
+
reflex/components/react_player/react_player.pyi,sha256=rYjd0v0jpWUaRee5bYtYjpOCOB5Anod8hE5iLMiYpiU,5672
|
|
315
315
|
reflex/components/react_player/video.py,sha256=2V6tiwCwrzu9WPI1Wmuepk8kQ6M6K8nnMdLLjEbrxrw,186
|
|
316
|
-
reflex/components/react_player/video.pyi,sha256=
|
|
316
|
+
reflex/components/react_player/video.pyi,sha256=ORO2IgGRn9o25ZLN6o9ag08QRMrjRxs7xlnzIgyTBFI,5606
|
|
317
317
|
reflex/components/recharts/__init__.py,sha256=v_6K60Bi-tFUrGCOcAPXt7-sAREpcJRzlYPOjUYTxC8,2695
|
|
318
318
|
reflex/components/recharts/__init__.pyi,sha256=2YiybRu2AIWwPQ6upgGnb8ZPx4z-cZHgKl1vDZnliW4,5184
|
|
319
319
|
reflex/components/recharts/cartesian.py,sha256=5Q1nmmbF2r0lgksFtVNKERaGMSG1aib8MojVEPwyqjc,34551
|
|
@@ -397,8 +397,8 @@ reflex/vars/function.py,sha256=0i-VkxHkDJmZtfQUwUfaF0rlS6WM8azjwQ8k7rEOkyk,13944
|
|
|
397
397
|
reflex/vars/number.py,sha256=N-ZeV_ebriaFpuRf8IL7TT3D4h2ti-MUYMOISEw4N8k,27846
|
|
398
398
|
reflex/vars/object.py,sha256=P_BBOxP4Z53IiHPVx5-P279lFEwdEIYLWcqO_h1UyLo,17134
|
|
399
399
|
reflex/vars/sequence.py,sha256=N0BwsYbFC4KkeC-N0Bc2NcKyfrbIxGh5FIWDy7Jl7Fs,55192
|
|
400
|
-
reflex-0.7.
|
|
401
|
-
reflex-0.7.
|
|
402
|
-
reflex-0.7.
|
|
403
|
-
reflex-0.7.
|
|
404
|
-
reflex-0.7.
|
|
400
|
+
reflex-0.7.9.post1.dist-info/METADATA,sha256=34PThZfN0NMB5fCJDC4r3YKvM49o5jdmhXdDlZR8Uks,11732
|
|
401
|
+
reflex-0.7.9.post1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
402
|
+
reflex-0.7.9.post1.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
403
|
+
reflex-0.7.9.post1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
404
|
+
reflex-0.7.9.post1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|