reflex 0.8.9a1__py3-none-any.whl → 0.8.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

@@ -6,7 +6,7 @@ from reflex.utils.imports import ImportVar
6
6
  from reflex.vars.base import LiteralVar, Var
7
7
  from reflex.vars.sequence import LiteralStringVar, StringVar
8
8
 
9
- LUCIDE_LIBRARY = "lucide-react@0.541.0"
9
+ LUCIDE_LIBRARY = "lucide-react@0.542.0"
10
10
 
11
11
 
12
12
  class LucideIconComponent(Component):
@@ -1002,6 +1002,7 @@ LUCIDE_ICON_LIST = [
1002
1002
  "linkedin",
1003
1003
  "list_check",
1004
1004
  "list_checks",
1005
+ "list_chevrons_down_up",
1005
1006
  "list_collapse",
1006
1007
  "list_end",
1007
1008
  "list_filter_plus",
@@ -11,7 +11,7 @@ from reflex.components.core.breakpoints import Breakpoints
11
11
  from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
- LUCIDE_LIBRARY = "lucide-react@0.541.0"
14
+ LUCIDE_LIBRARY = "lucide-react@0.542.0"
15
15
 
16
16
  class LucideIconComponent(Component):
17
17
  @classmethod
@@ -518,6 +518,7 @@ LUCIDE_ICON_LIST = [
518
518
  "chevrons_up_down",
519
519
  "chevrons_up",
520
520
  "chrome",
521
+ "chromium",
521
522
  "church",
522
523
  "cigarette_off",
523
524
  "cigarette",
@@ -1066,6 +1067,7 @@ LUCIDE_ICON_LIST = [
1066
1067
  "linkedin",
1067
1068
  "list_check",
1068
1069
  "list_checks",
1070
+ "list_chevrons_down_up",
1069
1071
  "list_collapse",
1070
1072
  "list_end",
1071
1073
  "list_filter_plus",
@@ -1263,11 +1265,13 @@ LUCIDE_ICON_LIST = [
1263
1265
  "panel_left_close",
1264
1266
  "panel_left_dashed",
1265
1267
  "panel_left_open",
1268
+ "panel_left_right_dashed",
1266
1269
  "panel_left",
1267
1270
  "panel_right_close",
1268
1271
  "panel_right_dashed",
1269
1272
  "panel_right_open",
1270
1273
  "panel_right",
1274
+ "panel_top_bottom_dashed",
1271
1275
  "panel_top_close",
1272
1276
  "panel_top_dashed",
1273
1277
  "panel_top_open",
reflex/config.py CHANGED
@@ -267,9 +267,12 @@ _PLUGINS_ENABLED_BY_DEFAULT = [
267
267
 
268
268
  @dataclasses.dataclass(kw_only=True, init=False)
269
269
  class Config(BaseConfig):
270
- """The config defines runtime settings for the app.
270
+ """Configuration class for Reflex applications.
271
271
 
272
- By default, the config is defined in an `rxconfig.py` file in the root of the app.
272
+ The config defines runtime settings for your app including server ports, database connections,
273
+ frontend packages, and deployment settings.
274
+
275
+ By default, the config is defined in an `rxconfig.py` file in the root of your app:
273
276
 
274
277
  ```python
275
278
  # rxconfig.py
@@ -277,14 +280,38 @@ class Config(BaseConfig):
277
280
 
278
281
  config = rx.Config(
279
282
  app_name="myapp",
280
- api_url="http://localhost:8000",
283
+ # Server configuration
284
+ frontend_port=3000,
285
+ backend_port=8000,
286
+ # Database
287
+ db_url="postgresql://user:pass@localhost:5432/mydb",
288
+ # Additional frontend packages
289
+ frontend_packages=["react-icons"],
290
+ # CORS settings for production
291
+ cors_allowed_origins=["https://mydomain.com"],
281
292
  )
282
293
  ```
283
294
 
284
- Every config value can be overridden by an environment variable with the same name in uppercase and a REFLEX_ prefix.
285
- For example, `db_url` can be overridden by setting the `REFLEX_DB_URL` environment variable.
295
+ ## Environment Variable Overrides
296
+
297
+ Any config value can be overridden by setting an environment variable with the `REFLEX_`
298
+ prefix and the parameter name in uppercase:
299
+
300
+ ```bash
301
+ REFLEX_DB_URL="postgresql://user:pass@localhost/db" reflex run
302
+ REFLEX_FRONTEND_PORT=3001 reflex run
303
+ ```
304
+
305
+ ## Key Configuration Areas
306
+
307
+ - **App Settings**: `app_name`, `loglevel`, `telemetry_enabled`
308
+ - **Server**: `frontend_port`, `backend_port`, `api_url`, `cors_allowed_origins`
309
+ - **Database**: `db_url`, `async_db_url`, `redis_url`
310
+ - **Frontend**: `frontend_packages`, `react_strict_mode`
311
+ - **State Management**: `state_manager_mode`, `state_auto_setters`
312
+ - **Plugins**: `plugins`, `disable_plugins`
286
313
 
287
- See the [configuration](https://reflex.dev/docs/getting-started/configuration/) docs for more info.
314
+ See the [configuration docs](https://reflex.dev/docs/advanced-onboarding/configuration) for complete details on all available options.
288
315
  """
289
316
 
290
317
  # Track whether the app name has already been validated for this Config instance.
reflex/environment.py CHANGED
@@ -204,7 +204,7 @@ def interpret_env_var_value(
204
204
  The interpreted value.
205
205
 
206
206
  Raises:
207
- ValueError: If the value is invalid.
207
+ ValueError: If the environment variable type is invalid.
208
208
  """
209
209
  field_type = value_inside_optional(field_type)
210
210
 
@@ -556,6 +556,18 @@ class EnvironmentVariables:
556
556
  # Whether to check db connections before using them.
557
557
  SQLALCHEMY_POOL_PRE_PING: EnvVar[bool] = env_var(True)
558
558
 
559
+ # The size of the database connection pool.
560
+ SQLALCHEMY_POOL_SIZE: EnvVar[int] = env_var(5)
561
+
562
+ # The maximum overflow size of the database connection pool.
563
+ SQLALCHEMY_MAX_OVERFLOW: EnvVar[int] = env_var(10)
564
+
565
+ # Recycle connections after this many seconds.
566
+ SQLALCHEMY_POOL_RECYCLE: EnvVar[int] = env_var(-1)
567
+
568
+ # The timeout for acquiring a connection from the pool.
569
+ SQLALCHEMY_POOL_TIMEOUT: EnvVar[int] = env_var(30)
570
+
559
571
  # Whether to ignore the redis config error. Some redis servers only allow out-of-band configuration.
560
572
  REFLEX_IGNORE_REDIS_CONFIG_ERROR: EnvVar[bool] = env_var(False)
561
573
 
reflex/event.py CHANGED
@@ -13,6 +13,7 @@ from typing import (
13
13
  Annotated,
14
14
  Any,
15
15
  Generic,
16
+ Literal,
16
17
  NoReturn,
17
18
  Protocol,
18
19
  TypeVar,
@@ -845,6 +846,7 @@ class FileUpload:
845
846
 
846
847
  upload_id: str | None = None
847
848
  on_upload_progress: EventHandler | Callable | None = None
849
+ extra_headers: dict[str, str] | None = None
848
850
 
849
851
  @staticmethod
850
852
  def on_upload_progress_args_spec(_prog: Var[dict[str, int | float | bool]]):
@@ -886,6 +888,12 @@ class FileUpload:
886
888
  Var(_js_expr="upload_id"),
887
889
  LiteralVar.create(upload_id),
888
890
  ),
891
+ (
892
+ Var(_js_expr="extra_headers"),
893
+ LiteralVar.create(
894
+ self.extra_headers if self.extra_headers is not None else {}
895
+ ),
896
+ ),
889
897
  ]
890
898
  if self.on_upload_progress is not None:
891
899
  on_upload_progress = self.on_upload_progress
@@ -962,9 +970,29 @@ def server_side(name: str, sig: inspect.Signature, **kwargs) -> EventSpec:
962
970
  )
963
971
 
964
972
 
973
+ @overload
974
+ def redirect(
975
+ path: str | Var[str],
976
+ *,
977
+ is_external: Literal[False] = False,
978
+ replace: bool = False,
979
+ ) -> EventSpec: ...
980
+
981
+
982
+ @overload
983
+ def redirect(
984
+ path: str | Var[str],
985
+ *,
986
+ is_external: Literal[True],
987
+ popup: bool = False,
988
+ ) -> EventSpec: ...
989
+
990
+
965
991
  def redirect(
966
992
  path: str | Var[str],
993
+ *,
967
994
  is_external: bool = False,
995
+ popup: bool = False,
968
996
  replace: bool = False,
969
997
  ) -> EventSpec:
970
998
  """Redirect to a new path.
@@ -972,6 +1000,7 @@ def redirect(
972
1000
  Args:
973
1001
  path: The path to redirect to.
974
1002
  is_external: Whether to open in new tab or not.
1003
+ popup: Whether to open in a new window or not.
975
1004
  replace: If True, the current page will not create a new history entry.
976
1005
 
977
1006
  Returns:
@@ -982,6 +1011,7 @@ def redirect(
982
1011
  get_fn_signature(redirect),
983
1012
  path=path,
984
1013
  external=is_external,
1014
+ popup=popup,
985
1015
  replace=replace,
986
1016
  )
987
1017
 
reflex/model.py CHANGED
@@ -96,6 +96,10 @@ def get_engine_args(url: str | None = None) -> dict[str, Any]:
96
96
  "echo": environment.SQLALCHEMY_ECHO.get(),
97
97
  # Check connections before returning them.
98
98
  "pool_pre_ping": environment.SQLALCHEMY_POOL_PRE_PING.get(),
99
+ "pool_size": environment.SQLALCHEMY_POOL_SIZE.get(),
100
+ "max_overflow": environment.SQLALCHEMY_MAX_OVERFLOW.get(),
101
+ "pool_recycle": environment.SQLALCHEMY_POOL_RECYCLE.get(),
102
+ "pool_timeout": environment.SQLALCHEMY_POOL_TIMEOUT.get(),
99
103
  }
100
104
  conf = get_config()
101
105
  url = url or conf.db_url
reflex/utils/types.py CHANGED
@@ -857,6 +857,10 @@ def is_valid_var_type(type_: type) -> bool:
857
857
  if is_union(type_):
858
858
  return all(is_valid_var_type(arg) for arg in get_args(type_))
859
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
+
860
864
  type_ = origin if (origin := get_origin(type_)) is not None else type_
861
865
 
862
866
  return (
reflex/vars/base.py CHANGED
@@ -9,7 +9,6 @@ import datetime
9
9
  import functools
10
10
  import inspect
11
11
  import json
12
- import random
13
12
  import re
14
13
  import string
15
14
  import uuid
@@ -50,6 +49,7 @@ from reflex.base import Base
50
49
  from reflex.constants.compiler import Hooks
51
50
  from reflex.constants.state import FIELD_MARKER
52
51
  from reflex.utils import console, exceptions, imports, serializers, types
52
+ from reflex.utils.decorator import once
53
53
  from reflex.utils.exceptions import (
54
54
  ComputedVarSignatureError,
55
55
  UntypedComputedVarError,
@@ -3033,13 +3033,20 @@ def get_uuid_string_var() -> Var:
3033
3033
  USED_VARIABLES = set()
3034
3034
 
3035
3035
 
3036
+ @once
3037
+ def _rng():
3038
+ import random
3039
+
3040
+ return random.Random(42)
3041
+
3042
+
3036
3043
  def get_unique_variable_name() -> str:
3037
3044
  """Get a unique variable name.
3038
3045
 
3039
3046
  Returns:
3040
3047
  The unique variable name.
3041
3048
  """
3042
- name = "".join([random.choice(string.ascii_lowercase) for _ in range(8)])
3049
+ name = "".join([_rng().choice(string.ascii_lowercase) for _ in range(8)])
3043
3050
  if name not in USED_VARIABLES:
3044
3051
  USED_VARIABLES.add(name)
3045
3052
  return name
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.8.9a1
3
+ Version: 0.8.10
4
4
  Summary: Web apps in pure Python.
5
5
  Project-URL: homepage, https://reflex.dev
6
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
7
7
  Project-URL: documentation, https://reflex.dev/docs/getting-started/introduction
8
- Author-email: Nikhil Rao <nikhil@reflex.dev>, Alek Petuskey <alek@reflex.dev>, Masen Furer <masen@reflex.dev>, Elijah Ahianyo <elijahahianyo@gmail.com>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
9
- Maintainer-email: Masen Furer <masen@reflex.dev>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
8
+ Author: Nikhil Rao, Alek Petuskey, Masen Furer, Elijah Ahianyo, Thomas Brandeho, Khaleel Al-Adhami
9
+ Maintainer: Masen Furer, Khaleel Al-Adhami
10
+ Maintainer-email: maintainers@reflex.dev
10
11
  License: Apache-2.0
11
12
  License-File: LICENSE
12
13
  Keywords: framework,web
@@ -2,13 +2,13 @@ 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=PaoBHbIRPHAf5_nfEcRKDmANi77LTJfq5xuJZIUBCCU,77932
5
+ reflex/app.py,sha256=3J6VYfArjPXikkv1HEHyLVAuG2tJpbJHDFVYQvvK1C0,78129
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=5cZYSdy5OwgEPt_jN2F3n-lJtp82vtKe3gRo5U88cwE,20234
9
- reflex/environment.py,sha256=7tfEPpUbelmOZ2B9zlqk0rgfHNkvz_HspGRIpod_AIQ,23126
10
- reflex/event.py,sha256=0VHquGHwqfvsEFExJn8m1YFSaE__pg1j58Q8hOgiVmA,74797
11
- reflex/model.py,sha256=l1-6fm7NHRFWH-xK9oV9UzAVfvKeUXG1f-tCrF7vmfI,19403
8
+ reflex/config.py,sha256=LsHAtdH4nkSn3q_Ie-KNdOGdflLXrFICUQov29oFjVk,21229
9
+ reflex/environment.py,sha256=BRIePrhFKTZajYlyl-KhjGsqR4_hc7KxfNCoape6Jjw,23590
10
+ reflex/event.py,sha256=WfM9jNCFaTpHPRVKXJVjBbwx2lgJ9GwidyWd9cS-G1I,75460
11
+ reflex/model.py,sha256=2QhU1TJlcDeRA23pv8usLjyDaA6FhbQRYdzsjOHzvUI,19665
12
12
  reflex/page.py,sha256=ssCbMVFuIy60vH-YhJUzN0OxzUwXFCCD3ej56dVjp3g,3525
13
13
  reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  reflex/reflex.py,sha256=qKpWvXuA55y519MWckr6oxKSf3pCQfRCrvzsyXSuAqk,22729
@@ -26,28 +26,29 @@ reflex/.templates/web/react-router.config.js,sha256=5K1FBryYdPusn1nE513GwB5_5UdP
26
26
  reflex/.templates/web/vite-plugin-safari-cachebust.js,sha256=FcyppYYBxUlZtQ-D_iyVaQIT6TBVisBH7DMzWxYm-zA,5300
27
27
  reflex/.templates/web/app/entry.client.js,sha256=2Jv-5SQWHhHmA07BP50f1ew1V-LOsX5VoLtSInnFDj8,264
28
28
  reflex/.templates/web/app/routes.js,sha256=-16AwZFzrVSR7DBPYZbGx3lBA5hBFJ_XF2Y-6ilharo,254
29
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=dnDHW49imtdalZJQqj7J_u7cj2z8Sve7OlhtOO0FbKE,916
29
+ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=H8F1bUUuIU8VOtbaHRStQQwlqSwrCwFF-orklp3xKiE,1198
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=-K0bu2X2wxUpfeieCuw14HQz3W1jvx1s7JK69S8b4R0,36060
33
+ reflex/.templates/web/utils/state.js,sha256=sf8v15y5FXGeuQg1spDRe88pl3Kdv7n4_338tqu_xkY,31894
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
37
37
  reflex/.templates/web/utils/helpers/range.js,sha256=Bjr7Ex1Mghpsopjfrcp__IVFw8F8AsMiP-0nE20ZZwk,1091
38
38
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
39
+ reflex/.templates/web/utils/helpers/upload.js,sha256=YiAv-KC-LijTsEmzG_o6YxUprgSN7Pbyd__xu8HTX6s,4814
39
40
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
40
41
  reflex/app_mixins/lifespan.py,sha256=a156ZUYVo2bN1Tv-4WmWSjojo90PP_2-V12BX0q8YNw,3543
41
42
  reflex/app_mixins/middleware.py,sha256=BKhe0jUFO1_TylEC48LUZyaeYyPmAYW-NV4H5Rw221k,2848
42
43
  reflex/app_mixins/mixin.py,sha256=R1YncalqDrbdPZvpKVbm72ZKmQZxYAWfuFq9JknzTqQ,305
43
44
  reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
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
45
+ reflex/compiler/compiler.py,sha256=KmkR33gbkYXPxlwBgsCFS5Hn7Fjpj_yFLuu6L5CYmQA,29100
46
+ reflex/compiler/templates.py,sha256=QATHSjsmMbH40kYpArPEIfKdmnWkBIkzGIC8JgRK9nM,20407
47
+ reflex/compiler/utils.py,sha256=RmeUoZMHdIfnqPl-p0ToPgwd0FEFO5u0Xbb-J20UYdQ,19621
47
48
  reflex/components/__init__.py,sha256=eWpgWFbSQDj2TpGp6StEbxU7roQgzY7ZM0XIcIc5RE8,588
48
49
  reflex/components/__init__.pyi,sha256=7VFHtJGIjvGtD3IiPk848IPWYSCcPRT1EyPGljLhYlU,736
49
- reflex/components/component.py,sha256=FyMOzTjVzwQCjy4Ppq4YyW7qDnuFhMrbZUBwVPoNU2o,99249
50
- reflex/components/dynamic.py,sha256=WfN1waxtRuuZ3-8MvooDi4SkFxem4R8wAHOLXx_9rCo,7422
50
+ reflex/components/component.py,sha256=ToY6NmFGcDumWylgemkb7t4nhsnlc4QWdqiBeMbuCe4,98168
51
+ reflex/components/dynamic.py,sha256=M3Waonox1lMCs9db_0iz4VtmBLuETpzZvvJ8m4iNAhE,7384
51
52
  reflex/components/field.py,sha256=j5JZFzNlET3GAIW91m1L31RypXylMAxJNm0-CJbtykM,5745
52
53
  reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
53
54
  reflex/components/props.py,sha256=BH7RiRu_EI2BRkB1PyBVp6tLeFTTV4FzGEdDIXXQ9Bk,14378
@@ -55,7 +56,7 @@ reflex/components/base/__init__.py,sha256=6DzVn2oVZqmsXYq3r9AN8Q40R0NAsyRpSyVzBD
55
56
  reflex/components/base/__init__.pyi,sha256=CoM0dGGkZSKLNHe6KBS4Zgc6sRpRGM5dZ_EuVmZ2qkA,883
56
57
  reflex/components/base/app_wrap.py,sha256=5K_myvYvHPeAJbm3BdEX17tKvdNEj6SV9RYahbIQBAQ,514
57
58
  reflex/components/base/app_wrap.pyi,sha256=opdrLSp-IGFibjM4bPLZPxLsyhc1H6nev2F9XhPfOSg,1996
58
- reflex/components/base/bare.py,sha256=yALgxs1OhssQVcrcJwWtprw_DKKeXjVMLMZpTzn0Isc,8271
59
+ reflex/components/base/bare.py,sha256=_k1tx7nymFCNAmhRtT89PKBjLRldQZWxW0xPAkeZfuA,8285
59
60
  reflex/components/base/body.py,sha256=KLPOhxVsKyjPwrY9AziCOOG_c9ckOqIhI4n2i3_Q3NU,129
60
61
  reflex/components/base/body.pyi,sha256=VG8N-0ocwgFOJR9mXfu6a5BtIY_jR7mK9lX3Y22g9GQ,8655
61
62
  reflex/components/base/document.py,sha256=Fr7y22NbeKeiz8kWPH2q5BpFjKdq-AmY-sxZilee_H8,636
@@ -83,9 +84,9 @@ reflex/components/core/clipboard.py,sha256=lrM4KpbioSqBclhvtrgawgeg9Vq2dKsv40xP4
83
84
  reflex/components/core/clipboard.pyi,sha256=Wt84ce1rd5vje-KuzAIkn_0riAD91_VtnZcRiRBsFLs,3230
84
85
  reflex/components/core/colors.py,sha256=gkT5o5OqI_BR5fGMcCmBUpaz99XRNol9zAis46WktI4,1564
85
86
  reflex/components/core/cond.py,sha256=zjDM7Elf0iYpA1MtnUjXvEbD5XvYbluWDTaQ96uxZSI,5531
86
- reflex/components/core/debounce.py,sha256=P0rj23JKVsx_dzPMVI4HTOyrXhhacxh-QkI4Z9K6KNQ,5022
87
+ reflex/components/core/debounce.py,sha256=mLttJ1HkrHN3pJWVpV6KNeQBJBkcPQA4yNt4vWLXZU4,5019
87
88
  reflex/components/core/debounce.pyi,sha256=-vEa4eIS2VlHwoL1jMmAey_dMGzz0h4VbDhzC6JT6vI,3105
88
- reflex/components/core/foreach.py,sha256=HCAoDfdyumK8FvgNrfnQeNRaf6Cngn_6U02640M8ofI,6264
89
+ reflex/components/core/foreach.py,sha256=A33CPPBhd2IZ3-54Tv-MhMVlNoGh99IhuQ1Z-_vQj-E,6060
89
90
  reflex/components/core/helmet.py,sha256=9Fr2Tz_J2v8r5t1xeZClL0V5-fEWTiFAXTcJ6bECvAw,220
90
91
  reflex/components/core/helmet.pyi,sha256=dp5AOEPQYM77-_ylpsbgbsZkUqu37RblgUGw7Y0BGcI,2391
91
92
  reflex/components/core/html.py,sha256=JKK3MsbuzxtcVXbzvW_Q4TZuF9yk3WwiC9LmQl34rzA,1303
@@ -93,8 +94,8 @@ reflex/components/core/html.pyi,sha256=yDzRQ10yf8ZzbP76C2rEG2gx6Vud_Ez3LcHDWMgyF
93
94
  reflex/components/core/match.py,sha256=xBB9vtWgVlotPHq6ssng8lzxwXDDQLp9k6Ew5RPPd3U,9888
94
95
  reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
95
96
  reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMKxKY,3856
96
- reflex/components/core/sticky.pyi,sha256=jtxJjHR8eZEq2yKHGr0U16Nof4OpDXMadf1JtA_6ofk,32750
97
- reflex/components/core/upload.py,sha256=b4-ubt4dznL5LDA7UCKNdWcdCX9aLOX2vNFdv4GlRdg,13544
97
+ reflex/components/core/sticky.pyi,sha256=5D-yT0LYs0ewOlUlInU7KCpuz49yKK7dirysUs1C2VI,32908
98
+ reflex/components/core/upload.py,sha256=Zxni0-cG3B8qx2eSFV7CSZ38gHN9r8YtosowNBHceoI,13544
98
99
  reflex/components/core/upload.pyi,sha256=UqfcPGUs8xmnKHKuvqYV7CtOXeF_D1s9ooRe49w6C3E,15757
99
100
  reflex/components/core/window_events.py,sha256=opbuO20zVxt252kQLk49V7cltb_Um2oh7iePeGNJ538,3355
100
101
  reflex/components/core/window_events.pyi,sha256=aTkBiAy-e9LqkQm6_apRsXXfJRdawA11cE1tQQSIy3c,3206
@@ -116,12 +117,12 @@ reflex/components/el/elements/__init__.py,sha256=_uZaPHSQSDZBqo-v_hRZECJbWBY3Srq
116
117
  reflex/components/el/elements/__init__.pyi,sha256=LCaxINN6BUqHsxgpDITjOUqJnF3x5rRI8y2fj62ZT14,8680
117
118
  reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
118
119
  reflex/components/el/elements/base.pyi,sha256=RPdq_8Z1gkV-5n2qeEVQWpPCwVSTzY4eYb6iIJVU-ig,10074
119
- reflex/components/el/elements/forms.py,sha256=75RJqmw4vBEUeYFNZwza91BpiXnEVSSK3HVPqyZcK44,22004
120
+ reflex/components/el/elements/forms.py,sha256=_WleBOQniadFc0lqDM_CoBbnDoLw0LfWJD6wyr3_bQw,22017
120
121
  reflex/components/el/elements/forms.pyi,sha256=NSmo68oksZkzOoSGA5XKNVzqU0K3WIzkFN82EDLC-f8,168115
121
122
  reflex/components/el/elements/inline.py,sha256=q3Ku_x8L9NaXrYQovCfkWwZ5AfXG0VyhGN_OT73kA0Y,4126
122
123
  reflex/components/el/elements/inline.pyi,sha256=0pjqiHH8DmFfghbM8MK5tqgiZGSnfT-o055GINU8xrA,231760
123
124
  reflex/components/el/elements/media.py,sha256=RxykHOcXrTPiInFXfmt_QfGTTNXQez_eurlpaobRoWw,26204
124
- reflex/components/el/elements/media.pyi,sha256=g8stEbHH7qWoK0_x_ffqZRJdmElVmCo0iBekmxMWLJA,240566
125
+ reflex/components/el/elements/media.pyi,sha256=g-IBcwsy4ilzlIHmVn4ZGTTVHf83gqMurCBiImslAH4,442547
125
126
  reflex/components/el/elements/metadata.py,sha256=Vf0D0dXqvwt76FkrvDQQpESJmxDh6e6Qxnk2GIRhOlM,2316
126
127
  reflex/components/el/elements/metadata.pyi,sha256=5pqPOzE-QbjiOQBitX_qWkcrCssotx-VaP-7x62dfjg,39675
127
128
  reflex/components/el/elements/other.py,sha256=WON35QviPNYsBeLQTNbeN7a6m6ixLYIVa4WsDzo9YBY,1378
@@ -138,8 +139,8 @@ reflex/components/gridjs/__init__.py,sha256=xJwDm1AZ70L5-t9LLqZwGUtDpijbf1KuMYDT
138
139
  reflex/components/gridjs/datatable.py,sha256=7JKrRw1zkpFB0_wwoaIhrVrldsm7-dyi3PASgqLq8Hc,4224
139
140
  reflex/components/gridjs/datatable.pyi,sha256=kFgv82vCgfdWZaUq4bZ73G8X3mkw6ecvSRkZ9G9-28E,5185
140
141
  reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
141
- reflex/components/lucide/icon.py,sha256=GiNlTfoXE36J9ZAY9Kh7DogxM5jVliFi5VjZZ_8YObM,35292
142
- reflex/components/lucide/icon.pyi,sha256=jCixJQ2PQJ6wXArnKwuqSUZr269cHW72t34d8-f-UdA,38008
142
+ reflex/components/lucide/icon.py,sha256=wetRyx6HB5tAZ4ntAV5fbf3VuhkEj7zosoLStGYGjBA,35321
143
+ reflex/components/lucide/icon.pyi,sha256=7HEqYp0fGgNyi_nTrpCZNQSuEBnFEzJRb9pWTQKJ-dM,38115
143
144
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
144
145
  reflex/components/markdown/markdown.py,sha256=kzvO2VnfCbxV7AcIMBJbxLtAlQ6U5T_QB_JTh8l-HJ4,15450
145
146
  reflex/components/markdown/markdown.pyi,sha256=oOlXZItHB0TPWsFz1Qjvr3KzG8sssthBp40UO_KkRIA,4322
@@ -370,9 +371,9 @@ reflex/utils/serializers.py,sha256=ZqQ2xrBIyOXaN0RIRZwy2oU5O0Y1R0SEGWx-kf5rXMs,1
370
371
  reflex/utils/telemetry.py,sha256=KY54NmGWyJVSf9TMTcXw2V6gIbEqut1JkAXmmtIlRfw,10776
371
372
  reflex/utils/templates.py,sha256=tWo3jO6laQX8b0gUsqHkio_hUQGIvFbmXC-lxiGcdRo,14251
372
373
  reflex/utils/token_manager.py,sha256=o_HGbqT9WfYRmek2iY9nem4vDZMz8Q4Dra-eW1lKmuA,6999
373
- reflex/utils/types.py,sha256=ijoghzgZXsQetpMtmNPLoOtsy7MmrEDojgOPcHnKmAs,38361
374
+ reflex/utils/types.py,sha256=Xh9jXSMBgwrR-Whn_5qAnjqQWzHiIJbm1b8qwMG4QmY,38511
374
375
  reflex/vars/__init__.py,sha256=85eXMt32bFoKtMdH3KxYRMD8mtnKyYiQcThPxJLoW1k,1359
375
- reflex/vars/base.py,sha256=hfcJ3x-BSFLgN85oBS0dPJb2IaoKJqQjguP1sy50NRY,113256
376
+ reflex/vars/base.py,sha256=CJT6SVtFDcBBpOtLw6jtszgZYifqeS3UJVsZ5y-BJQQ,113350
376
377
  reflex/vars/datetime.py,sha256=F2Jv_bfydipFSkIQ1F6x5MnSgFEyES9Vq5RG_uGH81E,5118
377
378
  reflex/vars/dep_tracking.py,sha256=LfDGgAGlqfC0DeiVcitRBcA1uCe1C3fNRARRekLgCz4,13738
378
379
  reflex/vars/function.py,sha256=0i-VkxHkDJmZtfQUwUfaF0rlS6WM8azjwQ8k7rEOkyk,13944
@@ -380,8 +381,8 @@ reflex/vars/number.py,sha256=tO7pnvFaBsedq1HWT4skytnSqHWMluGEhUbjAUMx8XQ,28190
380
381
  reflex/vars/object.py,sha256=YblDxQYMajR19a7qjavXcM7-9A6MweAH1giw5fjPci4,17349
381
382
  reflex/vars/sequence.py,sha256=1kBrqihspyjyQ1XDqFPC8OpVGtZs_EVkOdIKBro5ilA,55249
382
383
  scripts/hatch_build.py,sha256=-4pxcLSFmirmujGpQX9UUxjhIC03tQ_fIQwVbHu9kc0,1861
383
- reflex-0.8.9a1.dist-info/METADATA,sha256=XfDIidbOb-0BzG0x15FVJnz8lyx3Y0q6cclQ5mOFoyY,12507
384
- reflex-0.8.9a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
385
- reflex-0.8.9a1.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
386
- reflex-0.8.9a1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
387
- reflex-0.8.9a1.dist-info/RECORD,,
384
+ reflex-0.8.10.dist-info/METADATA,sha256=3ska8-7YBaAwHA5LP77s80KPxvnbPsKt_NgPr6YEoFs,12334
385
+ reflex-0.8.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
386
+ reflex-0.8.10.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
387
+ reflex-0.8.10.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
388
+ reflex-0.8.10.dist-info/RECORD,,