[REF-2821]Improve Dynamic Imports (#3345)
* Improve import times * add lazy loading to rx.el * add lazy loading to reflex core components * minor refactor * Get imports working with reflex web * get imports to work with all reflex examples * refactor to define imports only in the root. * lint * deadcode remove * update poetry deps * unit tests fix * app_harness fix * app_harness fix * pyi file generate * pyi file generate * sort pyi order * fix pyi * fix docker ci * rework pyi-generator * generate pyi for __init__ files * test pyright * test pyright ci * partial pyright fix * more pyright fix * pyright fix * fix pyi_generator * add rx.serializer and others * add future annotation import which fixes container CI, then also load recharts lazily * add new pyi files * pyright fix * minor fixes for reflex-web and flexdown * forward references for py38 * ruff fix * pyi fix * unit tests fix * reduce coverage to 68% * reduce coverage to 67% * reduce coverage to 66%as a workaround to coverage's rounding issue * reduce coverage to 66%as a workaround to coverage's rounding issue * exclude lazy_loader dependency review checks. * its lazy-loader * Add docstrings and regenerate pyi files * add link * address Pr comments * CI fix * partially address PR comments. * edit docstrings and fix integration tests * fix typo in docstring * pyi fix
This commit is contained in:
parent
83d99889ec
commit
34bf25071a
@ -11,7 +11,7 @@ omit =
|
|||||||
[report]
|
[report]
|
||||||
show_missing = true
|
show_missing = true
|
||||||
# TODO bump back to 79
|
# TODO bump back to 79
|
||||||
fail_under = 70
|
fail_under = 66
|
||||||
precision = 2
|
precision = 2
|
||||||
|
|
||||||
# Regexes for lines to exclude from consideration
|
# Regexes for lines to exclude from consideration
|
||||||
|
1
.github/workflows/dependency-review.yml
vendored
1
.github/workflows/dependency-review.yml
vendored
@ -14,3 +14,4 @@ jobs:
|
|||||||
uses: actions/dependency-review-action@v4
|
uses: actions/dependency-review-action@v4
|
||||||
with:
|
with:
|
||||||
allow-licenses: Apache-2.0, BSD-2-Clause, BSD-3-Clause, HPND, ISC, MIT, MPL-2.0, PSF-2.0, Unlicense
|
allow-licenses: Apache-2.0, BSD-2-Clause, BSD-3-Clause, HPND, ISC, MIT, MPL-2.0, PSF-2.0, Unlicense
|
||||||
|
allow-dependencies-licenses: 'pkg:pypi/lazy-loader'
|
||||||
|
@ -26,7 +26,6 @@ def TailwindApp(
|
|||||||
paragraph_class_name: Tailwind class_name for the paragraph.
|
paragraph_class_name: Tailwind class_name for the paragraph.
|
||||||
"""
|
"""
|
||||||
import reflex as rx
|
import reflex as rx
|
||||||
import reflex.components.radix.themes as rdxt
|
|
||||||
|
|
||||||
class UnusedState(rx.State):
|
class UnusedState(rx.State):
|
||||||
pass
|
pass
|
||||||
@ -35,7 +34,7 @@ def TailwindApp(
|
|||||||
return rx.el.div(
|
return rx.el.div(
|
||||||
rx.chakra.text(paragraph_text, class_name=paragraph_class_name),
|
rx.chakra.text(paragraph_text, class_name=paragraph_class_name),
|
||||||
rx.el.p(paragraph_text, class_name=paragraph_class_name),
|
rx.el.p(paragraph_text, class_name=paragraph_class_name),
|
||||||
rdxt.text(paragraph_text, as_="p", class_name=paragraph_class_name),
|
rx.text(paragraph_text, as_="p", class_name=paragraph_class_name),
|
||||||
id="p-content",
|
id="p-content",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
167
poetry.lock
generated
167
poetry.lock
generated
@ -1,9 +1,10 @@
|
|||||||
# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
|
# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand.
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "alembic"
|
name = "alembic"
|
||||||
version = "1.13.1"
|
version = "1.13.1"
|
||||||
description = "A database migration tool for SQLAlchemy."
|
description = "A database migration tool for SQLAlchemy."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -25,6 +26,7 @@ tz = ["backports.zoneinfo"]
|
|||||||
name = "annotated-types"
|
name = "annotated-types"
|
||||||
version = "0.6.0"
|
version = "0.6.0"
|
||||||
description = "Reusable constraint types to use with typing.Annotated"
|
description = "Reusable constraint types to use with typing.Annotated"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -39,6 +41,7 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""}
|
|||||||
name = "anyio"
|
name = "anyio"
|
||||||
version = "4.3.0"
|
version = "4.3.0"
|
||||||
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -61,6 +64,7 @@ trio = ["trio (>=0.23)"]
|
|||||||
name = "async-timeout"
|
name = "async-timeout"
|
||||||
version = "4.0.3"
|
version = "4.0.3"
|
||||||
description = "Timeout context manager for asyncio programs"
|
description = "Timeout context manager for asyncio programs"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -72,6 +76,7 @@ files = [
|
|||||||
name = "asynctest"
|
name = "asynctest"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
description = "Enhance the standard unittest package with features for testing asyncio libraries"
|
description = "Enhance the standard unittest package with features for testing asyncio libraries"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
@ -83,6 +88,7 @@ files = [
|
|||||||
name = "attrs"
|
name = "attrs"
|
||||||
version = "23.2.0"
|
version = "23.2.0"
|
||||||
description = "Classes Without Boilerplate"
|
description = "Classes Without Boilerplate"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -102,6 +108,7 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p
|
|||||||
name = "backports-tarfile"
|
name = "backports-tarfile"
|
||||||
version = "1.1.1"
|
version = "1.1.1"
|
||||||
description = "Backport of CPython tarfile module"
|
description = "Backport of CPython tarfile module"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -117,6 +124,7 @@ testing = ["jaraco.test", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "p
|
|||||||
name = "bidict"
|
name = "bidict"
|
||||||
version = "0.23.1"
|
version = "0.23.1"
|
||||||
description = "The bidirectional mapping library for Python."
|
description = "The bidirectional mapping library for Python."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -128,6 +136,7 @@ files = [
|
|||||||
name = "black"
|
name = "black"
|
||||||
version = "22.12.0"
|
version = "22.12.0"
|
||||||
description = "The uncompromising code formatter."
|
description = "The uncompromising code formatter."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -163,6 +172,7 @@ uvloop = ["uvloop (>=0.15.2)"]
|
|||||||
name = "build"
|
name = "build"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
description = "A simple, correct Python build frontend"
|
description = "A simple, correct Python build frontend"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -188,6 +198,7 @@ virtualenv = ["virtualenv (>=20.0.35)"]
|
|||||||
name = "certifi"
|
name = "certifi"
|
||||||
version = "2024.2.2"
|
version = "2024.2.2"
|
||||||
description = "Python package for providing Mozilla's CA Bundle."
|
description = "Python package for providing Mozilla's CA Bundle."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -199,6 +210,7 @@ files = [
|
|||||||
name = "cffi"
|
name = "cffi"
|
||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
description = "Foreign Function Interface for Python calling C code."
|
description = "Foreign Function Interface for Python calling C code."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -263,6 +275,7 @@ pycparser = "*"
|
|||||||
name = "cfgv"
|
name = "cfgv"
|
||||||
version = "3.4.0"
|
version = "3.4.0"
|
||||||
description = "Validate configuration and produce human readable error messages."
|
description = "Validate configuration and produce human readable error messages."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -274,6 +287,7 @@ files = [
|
|||||||
name = "charset-normalizer"
|
name = "charset-normalizer"
|
||||||
version = "3.3.2"
|
version = "3.3.2"
|
||||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.0"
|
python-versions = ">=3.7.0"
|
||||||
files = [
|
files = [
|
||||||
@ -373,6 +387,7 @@ files = [
|
|||||||
name = "click"
|
name = "click"
|
||||||
version = "8.1.7"
|
version = "8.1.7"
|
||||||
description = "Composable command line interface toolkit"
|
description = "Composable command line interface toolkit"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -387,6 +402,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
|||||||
name = "colorama"
|
name = "colorama"
|
||||||
version = "0.4.6"
|
version = "0.4.6"
|
||||||
description = "Cross-platform colored terminal text."
|
description = "Cross-platform colored terminal text."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
@ -398,6 +414,7 @@ files = [
|
|||||||
name = "coverage"
|
name = "coverage"
|
||||||
version = "7.5.1"
|
version = "7.5.1"
|
||||||
description = "Code coverage measurement for Python"
|
description = "Code coverage measurement for Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -465,6 +482,7 @@ toml = ["tomli"]
|
|||||||
name = "cryptography"
|
name = "cryptography"
|
||||||
version = "42.0.7"
|
version = "42.0.7"
|
||||||
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -519,6 +537,7 @@ test-randomorder = ["pytest-randomly"]
|
|||||||
name = "darglint"
|
name = "darglint"
|
||||||
version = "1.8.1"
|
version = "1.8.1"
|
||||||
description = "A utility for ensuring Google-style docstrings stay up to date with the source code."
|
description = "A utility for ensuring Google-style docstrings stay up to date with the source code."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6,<4.0"
|
python-versions = ">=3.6,<4.0"
|
||||||
files = [
|
files = [
|
||||||
@ -530,6 +549,7 @@ files = [
|
|||||||
name = "dill"
|
name = "dill"
|
||||||
version = "0.3.8"
|
version = "0.3.8"
|
||||||
description = "serialize all of Python"
|
description = "serialize all of Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -545,6 +565,7 @@ profile = ["gprof2dot (>=2022.7.29)"]
|
|||||||
name = "distlib"
|
name = "distlib"
|
||||||
version = "0.3.8"
|
version = "0.3.8"
|
||||||
description = "Distribution utilities"
|
description = "Distribution utilities"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
@ -556,6 +577,7 @@ files = [
|
|||||||
name = "distro"
|
name = "distro"
|
||||||
version = "1.9.0"
|
version = "1.9.0"
|
||||||
description = "Distro - an OS platform information API"
|
description = "Distro - an OS platform information API"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -567,14 +589,19 @@ files = [
|
|||||||
name = "docutils"
|
name = "docutils"
|
||||||
version = "0.20.1"
|
version = "0.20.1"
|
||||||
description = "Docutils -- Python Documentation Utilities"
|
description = "Docutils -- Python Documentation Utilities"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = ">=3.7"
|
||||||
files = []
|
files = [
|
||||||
|
{file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"},
|
||||||
|
{file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "exceptiongroup"
|
name = "exceptiongroup"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
description = "Backport of PEP 654 (exception groups)"
|
description = "Backport of PEP 654 (exception groups)"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -589,6 +616,7 @@ test = ["pytest (>=6)"]
|
|||||||
name = "fastapi"
|
name = "fastapi"
|
||||||
version = "0.110.3"
|
version = "0.110.3"
|
||||||
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -608,6 +636,7 @@ all = ["email_validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)"
|
|||||||
name = "filelock"
|
name = "filelock"
|
||||||
version = "3.14.0"
|
version = "3.14.0"
|
||||||
description = "A platform independent file lock."
|
description = "A platform independent file lock."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -624,6 +653,7 @@ typing = ["typing-extensions (>=4.8)"]
|
|||||||
name = "greenlet"
|
name = "greenlet"
|
||||||
version = "3.0.3"
|
version = "3.0.3"
|
||||||
description = "Lightweight in-process concurrent programming"
|
description = "Lightweight in-process concurrent programming"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -695,6 +725,7 @@ test = ["objgraph", "psutil"]
|
|||||||
name = "gunicorn"
|
name = "gunicorn"
|
||||||
version = "22.0.0"
|
version = "22.0.0"
|
||||||
description = "WSGI HTTP Server for UNIX"
|
description = "WSGI HTTP Server for UNIX"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -716,6 +747,7 @@ tornado = ["tornado (>=0.2)"]
|
|||||||
name = "h11"
|
name = "h11"
|
||||||
version = "0.14.0"
|
version = "0.14.0"
|
||||||
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -727,6 +759,7 @@ files = [
|
|||||||
name = "httpcore"
|
name = "httpcore"
|
||||||
version = "1.0.5"
|
version = "1.0.5"
|
||||||
description = "A minimal low-level HTTP client."
|
description = "A minimal low-level HTTP client."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -741,13 +774,14 @@ h11 = ">=0.13,<0.15"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
asyncio = ["anyio (>=4.0,<5.0)"]
|
asyncio = ["anyio (>=4.0,<5.0)"]
|
||||||
http2 = ["h2 (>=3,<5)"]
|
http2 = ["h2 (>=3,<5)"]
|
||||||
socks = ["socksio (==1.*)"]
|
socks = ["socksio (>=1.0.0,<2.0.0)"]
|
||||||
trio = ["trio (>=0.22.0,<0.26.0)"]
|
trio = ["trio (>=0.22.0,<0.26.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "httpx"
|
name = "httpx"
|
||||||
version = "0.27.0"
|
version = "0.27.0"
|
||||||
description = "The next generation HTTP client."
|
description = "The next generation HTTP client."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -758,20 +792,21 @@ files = [
|
|||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
anyio = "*"
|
anyio = "*"
|
||||||
certifi = "*"
|
certifi = "*"
|
||||||
httpcore = "==1.*"
|
httpcore = ">=1.0.0,<2.0.0"
|
||||||
idna = "*"
|
idna = "*"
|
||||||
sniffio = "*"
|
sniffio = "*"
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
brotli = ["brotli", "brotlicffi"]
|
brotli = ["brotli", "brotlicffi"]
|
||||||
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
|
cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"]
|
||||||
http2 = ["h2 (>=3,<5)"]
|
http2 = ["h2 (>=3,<5)"]
|
||||||
socks = ["socksio (==1.*)"]
|
socks = ["socksio (>=1.0.0,<2.0.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "identify"
|
name = "identify"
|
||||||
version = "2.5.36"
|
version = "2.5.36"
|
||||||
description = "File identification library for Python"
|
description = "File identification library for Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -786,6 +821,7 @@ license = ["ukkonen"]
|
|||||||
name = "idna"
|
name = "idna"
|
||||||
version = "3.7"
|
version = "3.7"
|
||||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
@ -797,6 +833,7 @@ files = [
|
|||||||
name = "importlib-metadata"
|
name = "importlib-metadata"
|
||||||
version = "7.1.0"
|
version = "7.1.0"
|
||||||
description = "Read metadata from Python packages"
|
description = "Read metadata from Python packages"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -816,6 +853,7 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)",
|
|||||||
name = "importlib-resources"
|
name = "importlib-resources"
|
||||||
version = "6.4.0"
|
version = "6.4.0"
|
||||||
description = "Read resources from Python packages"
|
description = "Read resources from Python packages"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -834,6 +872,7 @@ testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "p
|
|||||||
name = "iniconfig"
|
name = "iniconfig"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
description = "brain-dead simple config-ini parsing"
|
description = "brain-dead simple config-ini parsing"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -845,6 +884,7 @@ files = [
|
|||||||
name = "jaraco-classes"
|
name = "jaraco-classes"
|
||||||
version = "3.4.0"
|
version = "3.4.0"
|
||||||
description = "Utility functions for Python class constructs"
|
description = "Utility functions for Python class constructs"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -863,6 +903,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-ena
|
|||||||
name = "jaraco-context"
|
name = "jaraco-context"
|
||||||
version = "5.3.0"
|
version = "5.3.0"
|
||||||
description = "Useful decorators and context managers"
|
description = "Useful decorators and context managers"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -881,6 +922,7 @@ testing = ["portend", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytes
|
|||||||
name = "jaraco-functools"
|
name = "jaraco-functools"
|
||||||
version = "4.0.1"
|
version = "4.0.1"
|
||||||
description = "Functools like those found in stdlib"
|
description = "Functools like those found in stdlib"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -899,6 +941,7 @@ testing = ["jaraco.classes", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest
|
|||||||
name = "jeepney"
|
name = "jeepney"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
description = "Low-level, pure Python DBus protocol wrapper."
|
description = "Low-level, pure Python DBus protocol wrapper."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -914,6 +957,7 @@ trio = ["async_generator", "trio"]
|
|||||||
name = "jinja2"
|
name = "jinja2"
|
||||||
version = "3.1.4"
|
version = "3.1.4"
|
||||||
description = "A very fast and expressive template engine."
|
description = "A very fast and expressive template engine."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -931,6 +975,7 @@ i18n = ["Babel (>=2.7)"]
|
|||||||
name = "keyring"
|
name = "keyring"
|
||||||
version = "25.2.0"
|
version = "25.2.0"
|
||||||
description = "Store and access your passwords safely."
|
description = "Store and access your passwords safely."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -953,10 +998,31 @@ completion = ["shtab (>=1.1.0)"]
|
|||||||
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||||
testing = ["pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
|
testing = ["pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazy-loader"
|
||||||
|
version = "0.4"
|
||||||
|
description = "Makes it easy to load subpackages and functions on demand."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc"},
|
||||||
|
{file = "lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
packaging = "*"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["changelist (==0.5)"]
|
||||||
|
lint = ["pre-commit (==3.7.0)"]
|
||||||
|
test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mako"
|
name = "mako"
|
||||||
version = "1.3.3"
|
version = "1.3.3"
|
||||||
description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
|
description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -976,6 +1042,7 @@ testing = ["pytest"]
|
|||||||
name = "markdown-it-py"
|
name = "markdown-it-py"
|
||||||
version = "3.0.0"
|
version = "3.0.0"
|
||||||
description = "Python port of markdown-it. Markdown parsing, done right!"
|
description = "Python port of markdown-it. Markdown parsing, done right!"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1000,6 +1067,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
|
|||||||
name = "markupsafe"
|
name = "markupsafe"
|
||||||
version = "2.1.5"
|
version = "2.1.5"
|
||||||
description = "Safely add untrusted strings to HTML/XML markup."
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1069,6 +1137,7 @@ files = [
|
|||||||
name = "mdurl"
|
name = "mdurl"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
description = "Markdown URL utilities"
|
description = "Markdown URL utilities"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1080,6 +1149,7 @@ files = [
|
|||||||
name = "more-itertools"
|
name = "more-itertools"
|
||||||
version = "10.2.0"
|
version = "10.2.0"
|
||||||
description = "More routines for operating on iterables, beyond itertools"
|
description = "More routines for operating on iterables, beyond itertools"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1091,6 +1161,7 @@ files = [
|
|||||||
name = "mypy-extensions"
|
name = "mypy-extensions"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
description = "Type system extensions for programs checked with the mypy type checker."
|
description = "Type system extensions for programs checked with the mypy type checker."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
@ -1102,6 +1173,7 @@ files = [
|
|||||||
name = "nh3"
|
name = "nh3"
|
||||||
version = "0.2.17"
|
version = "0.2.17"
|
||||||
description = "Python bindings to the ammonia HTML sanitization library."
|
description = "Python bindings to the ammonia HTML sanitization library."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
@ -1127,6 +1199,7 @@ files = [
|
|||||||
name = "nodeenv"
|
name = "nodeenv"
|
||||||
version = "1.8.0"
|
version = "1.8.0"
|
||||||
description = "Node.js virtual environment builder"
|
description = "Node.js virtual environment builder"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*"
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*"
|
||||||
files = [
|
files = [
|
||||||
@ -1141,6 +1214,7 @@ setuptools = "*"
|
|||||||
name = "numpy"
|
name = "numpy"
|
||||||
version = "1.24.4"
|
version = "1.24.4"
|
||||||
description = "Fundamental package for array computing in Python"
|
description = "Fundamental package for array computing in Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1178,6 +1252,7 @@ files = [
|
|||||||
name = "numpy"
|
name = "numpy"
|
||||||
version = "1.26.4"
|
version = "1.26.4"
|
||||||
description = "Fundamental package for array computing in Python"
|
description = "Fundamental package for array computing in Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
files = [
|
files = [
|
||||||
@ -1223,6 +1298,7 @@ files = [
|
|||||||
name = "outcome"
|
name = "outcome"
|
||||||
version = "1.3.0.post0"
|
version = "1.3.0.post0"
|
||||||
description = "Capture the outcome of Python function calls."
|
description = "Capture the outcome of Python function calls."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1237,6 +1313,7 @@ attrs = ">=19.2.0"
|
|||||||
name = "packaging"
|
name = "packaging"
|
||||||
version = "24.0"
|
version = "24.0"
|
||||||
description = "Core utilities for Python packages"
|
description = "Core utilities for Python packages"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1248,6 +1325,7 @@ files = [
|
|||||||
name = "pandas"
|
name = "pandas"
|
||||||
version = "1.5.3"
|
version = "1.5.3"
|
||||||
description = "Powerful data structures for data analysis, time series, and statistics"
|
description = "Powerful data structures for data analysis, time series, and statistics"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1292,6 +1370,7 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
|
|||||||
name = "pandas"
|
name = "pandas"
|
||||||
version = "2.2.2"
|
version = "2.2.2"
|
||||||
description = "Powerful data structures for data analysis, time series, and statistics"
|
description = "Powerful data structures for data analysis, time series, and statistics"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
files = [
|
files = [
|
||||||
@ -1365,6 +1444,7 @@ xml = ["lxml (>=4.9.2)"]
|
|||||||
name = "pathspec"
|
name = "pathspec"
|
||||||
version = "0.12.1"
|
version = "0.12.1"
|
||||||
description = "Utility library for gitignore style pattern matching of file paths."
|
description = "Utility library for gitignore style pattern matching of file paths."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1376,6 +1456,7 @@ files = [
|
|||||||
name = "pillow"
|
name = "pillow"
|
||||||
version = "10.3.0"
|
version = "10.3.0"
|
||||||
description = "Python Imaging Library (Fork)"
|
description = "Python Imaging Library (Fork)"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1462,6 +1543,7 @@ xmp = ["defusedxml"]
|
|||||||
name = "pip"
|
name = "pip"
|
||||||
version = "24.0"
|
version = "24.0"
|
||||||
description = "The PyPA recommended tool for installing Python packages."
|
description = "The PyPA recommended tool for installing Python packages."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1473,6 +1555,7 @@ files = [
|
|||||||
name = "pipdeptree"
|
name = "pipdeptree"
|
||||||
version = "2.16.2"
|
version = "2.16.2"
|
||||||
description = "Command line utility to show dependency tree of packages."
|
description = "Command line utility to show dependency tree of packages."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1491,6 +1574,7 @@ test = ["covdefaults (>=2.3)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pyte
|
|||||||
name = "pkginfo"
|
name = "pkginfo"
|
||||||
version = "1.10.0"
|
version = "1.10.0"
|
||||||
description = "Query metadata from sdists / bdists / installed packages."
|
description = "Query metadata from sdists / bdists / installed packages."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -1505,6 +1589,7 @@ testing = ["pytest", "pytest-cov", "wheel"]
|
|||||||
name = "platformdirs"
|
name = "platformdirs"
|
||||||
version = "4.2.1"
|
version = "4.2.1"
|
||||||
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
|
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1521,6 +1606,7 @@ type = ["mypy (>=1.8)"]
|
|||||||
name = "plotly"
|
name = "plotly"
|
||||||
version = "5.22.0"
|
version = "5.22.0"
|
||||||
description = "An open-source, interactive data visualization library for Python"
|
description = "An open-source, interactive data visualization library for Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1536,6 +1622,7 @@ tenacity = ">=6.2.0"
|
|||||||
name = "pluggy"
|
name = "pluggy"
|
||||||
version = "1.5.0"
|
version = "1.5.0"
|
||||||
description = "plugin and hook calling mechanisms for python"
|
description = "plugin and hook calling mechanisms for python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1551,6 +1638,7 @@ testing = ["pytest", "pytest-benchmark"]
|
|||||||
name = "pre-commit"
|
name = "pre-commit"
|
||||||
version = "3.5.0"
|
version = "3.5.0"
|
||||||
description = "A framework for managing and maintaining multi-language pre-commit hooks."
|
description = "A framework for managing and maintaining multi-language pre-commit hooks."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1569,6 +1657,7 @@ virtualenv = ">=20.10.0"
|
|||||||
name = "psutil"
|
name = "psutil"
|
||||||
version = "5.9.8"
|
version = "5.9.8"
|
||||||
description = "Cross-platform lib for process and system monitoring in Python."
|
description = "Cross-platform lib for process and system monitoring in Python."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||||
files = [
|
files = [
|
||||||
@ -1597,6 +1686,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
|
|||||||
name = "py-cpuinfo"
|
name = "py-cpuinfo"
|
||||||
version = "9.0.0"
|
version = "9.0.0"
|
||||||
description = "Get CPU info with pure Python"
|
description = "Get CPU info with pure Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
@ -1608,6 +1698,7 @@ files = [
|
|||||||
name = "pycparser"
|
name = "pycparser"
|
||||||
version = "2.22"
|
version = "2.22"
|
||||||
description = "C parser in Python"
|
description = "C parser in Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1619,6 +1710,7 @@ files = [
|
|||||||
name = "pydantic"
|
name = "pydantic"
|
||||||
version = "2.7.1"
|
version = "2.7.1"
|
||||||
description = "Data validation using Python type hints"
|
description = "Data validation using Python type hints"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1638,6 +1730,7 @@ email = ["email-validator (>=2.0.0)"]
|
|||||||
name = "pydantic-core"
|
name = "pydantic-core"
|
||||||
version = "2.18.2"
|
version = "2.18.2"
|
||||||
description = "Core functionality for Pydantic validation and serialization"
|
description = "Core functionality for Pydantic validation and serialization"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1729,6 +1822,7 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
|||||||
name = "pygments"
|
name = "pygments"
|
||||||
version = "2.18.0"
|
version = "2.18.0"
|
||||||
description = "Pygments is a syntax highlighting package written in Python."
|
description = "Pygments is a syntax highlighting package written in Python."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1743,6 +1837,7 @@ windows-terminal = ["colorama (>=0.4.6)"]
|
|||||||
name = "pyproject-hooks"
|
name = "pyproject-hooks"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
description = "Wrappers to call pyproject.toml-based build backend hooks."
|
description = "Wrappers to call pyproject.toml-based build backend hooks."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1754,6 +1849,7 @@ files = [
|
|||||||
name = "pyright"
|
name = "pyright"
|
||||||
version = "1.1.334"
|
version = "1.1.334"
|
||||||
description = "Command line wrapper for pyright"
|
description = "Command line wrapper for pyright"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1772,6 +1868,7 @@ dev = ["twine (>=3.4.1)"]
|
|||||||
name = "pysocks"
|
name = "pysocks"
|
||||||
version = "1.7.1"
|
version = "1.7.1"
|
||||||
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
|
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
files = [
|
files = [
|
||||||
@ -1784,6 +1881,7 @@ files = [
|
|||||||
name = "pytest"
|
name = "pytest"
|
||||||
version = "7.4.4"
|
version = "7.4.4"
|
||||||
description = "pytest: simple powerful testing with Python"
|
description = "pytest: simple powerful testing with Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1806,6 +1904,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no
|
|||||||
name = "pytest-asyncio"
|
name = "pytest-asyncio"
|
||||||
version = "0.21.2"
|
version = "0.21.2"
|
||||||
description = "Pytest support for asyncio"
|
description = "Pytest support for asyncio"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1824,6 +1923,7 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy
|
|||||||
name = "pytest-benchmark"
|
name = "pytest-benchmark"
|
||||||
version = "4.0.0"
|
version = "4.0.0"
|
||||||
description = "A ``pytest`` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer."
|
description = "A ``pytest`` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1844,6 +1944,7 @@ histogram = ["pygal", "pygaljs"]
|
|||||||
name = "pytest-cov"
|
name = "pytest-cov"
|
||||||
version = "4.1.0"
|
version = "4.1.0"
|
||||||
description = "Pytest plugin for measuring coverage."
|
description = "Pytest plugin for measuring coverage."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1862,6 +1963,7 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
|
|||||||
name = "pytest-mock"
|
name = "pytest-mock"
|
||||||
version = "3.14.0"
|
version = "3.14.0"
|
||||||
description = "Thin-wrapper around the mock package for easier use with pytest"
|
description = "Thin-wrapper around the mock package for easier use with pytest"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1879,6 +1981,7 @@ dev = ["pre-commit", "pytest-asyncio", "tox"]
|
|||||||
name = "python-dateutil"
|
name = "python-dateutil"
|
||||||
version = "2.9.0.post0"
|
version = "2.9.0.post0"
|
||||||
description = "Extensions to the standard Python datetime module"
|
description = "Extensions to the standard Python datetime module"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
@ -1893,6 +1996,7 @@ six = ">=1.5"
|
|||||||
name = "python-engineio"
|
name = "python-engineio"
|
||||||
version = "4.9.0"
|
version = "4.9.0"
|
||||||
description = "Engine.IO server and client for Python"
|
description = "Engine.IO server and client for Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -1912,6 +2016,7 @@ docs = ["sphinx"]
|
|||||||
name = "python-multipart"
|
name = "python-multipart"
|
||||||
version = "0.0.9"
|
version = "0.0.9"
|
||||||
description = "A streaming multipart parser for Python"
|
description = "A streaming multipart parser for Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1926,6 +2031,7 @@ dev = ["atomicwrites (==1.4.1)", "attrs (==23.2.0)", "coverage (==7.4.1)", "hatc
|
|||||||
name = "python-socketio"
|
name = "python-socketio"
|
||||||
version = "5.11.2"
|
version = "5.11.2"
|
||||||
description = "Socket.IO server and client for Python"
|
description = "Socket.IO server and client for Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -1946,6 +2052,7 @@ docs = ["sphinx"]
|
|||||||
name = "pytz"
|
name = "pytz"
|
||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
description = "World timezone definitions, modern and historical"
|
description = "World timezone definitions, modern and historical"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
@ -1957,6 +2064,7 @@ files = [
|
|||||||
name = "pywin32-ctypes"
|
name = "pywin32-ctypes"
|
||||||
version = "0.2.2"
|
version = "0.2.2"
|
||||||
description = "A (partial) reimplementation of pywin32 using ctypes/cffi"
|
description = "A (partial) reimplementation of pywin32 using ctypes/cffi"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -1968,6 +2076,7 @@ files = [
|
|||||||
name = "pyyaml"
|
name = "pyyaml"
|
||||||
version = "6.0.1"
|
version = "6.0.1"
|
||||||
description = "YAML parser and emitter for Python"
|
description = "YAML parser and emitter for Python"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -2017,6 +2126,7 @@ files = [
|
|||||||
name = "readme-renderer"
|
name = "readme-renderer"
|
||||||
version = "43.0"
|
version = "43.0"
|
||||||
description = "readme_renderer is a library for rendering readme descriptions for Warehouse"
|
description = "readme_renderer is a library for rendering readme descriptions for Warehouse"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2036,6 +2146,7 @@ md = ["cmarkgfm (>=0.8.0)"]
|
|||||||
name = "redis"
|
name = "redis"
|
||||||
version = "5.0.4"
|
version = "5.0.4"
|
||||||
description = "Python client for Redis database and key-value store"
|
description = "Python client for Redis database and key-value store"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2054,6 +2165,7 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"
|
|||||||
name = "reflex-hosting-cli"
|
name = "reflex-hosting-cli"
|
||||||
version = "0.1.13"
|
version = "0.1.13"
|
||||||
description = "Reflex Hosting CLI"
|
description = "Reflex Hosting CLI"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "<4.0,>=3.8"
|
python-versions = "<4.0,>=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2077,6 +2189,7 @@ websockets = ">=10.4"
|
|||||||
name = "requests"
|
name = "requests"
|
||||||
version = "2.31.0"
|
version = "2.31.0"
|
||||||
description = "Python HTTP for Humans."
|
description = "Python HTTP for Humans."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2098,6 +2211,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
|||||||
name = "requests-toolbelt"
|
name = "requests-toolbelt"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
description = "A utility belt for advanced users of python-requests"
|
description = "A utility belt for advanced users of python-requests"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
files = [
|
files = [
|
||||||
@ -2112,6 +2226,7 @@ requests = ">=2.0.1,<3.0.0"
|
|||||||
name = "rfc3986"
|
name = "rfc3986"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
description = "Validating URI References per RFC 3986"
|
description = "Validating URI References per RFC 3986"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2126,6 +2241,7 @@ idna2008 = ["idna"]
|
|||||||
name = "rich"
|
name = "rich"
|
||||||
version = "13.7.1"
|
version = "13.7.1"
|
||||||
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.0"
|
python-versions = ">=3.7.0"
|
||||||
files = [
|
files = [
|
||||||
@ -2145,6 +2261,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
|
|||||||
name = "ruff"
|
name = "ruff"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "An extremely fast Python linter, written in Rust."
|
description = "An extremely fast Python linter, written in Rust."
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2171,6 +2288,7 @@ files = [
|
|||||||
name = "secretstorage"
|
name = "secretstorage"
|
||||||
version = "3.3.3"
|
version = "3.3.3"
|
||||||
description = "Python bindings to FreeDesktop.org Secret Service API"
|
description = "Python bindings to FreeDesktop.org Secret Service API"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -2186,6 +2304,7 @@ jeepney = ">=0.6"
|
|||||||
name = "selenium"
|
name = "selenium"
|
||||||
version = "4.20.0"
|
version = "4.20.0"
|
||||||
description = ""
|
description = ""
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2204,6 +2323,7 @@ urllib3 = {version = ">=1.26,<3", extras = ["socks"]}
|
|||||||
name = "setuptools"
|
name = "setuptools"
|
||||||
version = "69.5.1"
|
version = "69.5.1"
|
||||||
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2220,6 +2340,7 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar
|
|||||||
name = "shellingham"
|
name = "shellingham"
|
||||||
version = "1.5.4"
|
version = "1.5.4"
|
||||||
description = "Tool to Detect Surrounding Shell"
|
description = "Tool to Detect Surrounding Shell"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2231,6 +2352,7 @@ files = [
|
|||||||
name = "simple-websocket"
|
name = "simple-websocket"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
description = "Simple WebSocket server and client for Python"
|
description = "Simple WebSocket server and client for Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -2248,6 +2370,7 @@ docs = ["sphinx"]
|
|||||||
name = "six"
|
name = "six"
|
||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
description = "Python 2 and 3 compatibility utilities"
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
files = [
|
files = [
|
||||||
@ -2259,6 +2382,7 @@ files = [
|
|||||||
name = "sniffio"
|
name = "sniffio"
|
||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
description = "Sniff out which async library your code is running under"
|
description = "Sniff out which async library your code is running under"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2270,6 +2394,7 @@ files = [
|
|||||||
name = "sortedcontainers"
|
name = "sortedcontainers"
|
||||||
version = "2.4.0"
|
version = "2.4.0"
|
||||||
description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
|
description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
@ -2281,6 +2406,7 @@ files = [
|
|||||||
name = "sqlalchemy"
|
name = "sqlalchemy"
|
||||||
version = "2.0.30"
|
version = "2.0.30"
|
||||||
description = "Database Abstraction Library"
|
description = "Database Abstraction Library"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2368,6 +2494,7 @@ sqlcipher = ["sqlcipher3_binary"]
|
|||||||
name = "sqlmodel"
|
name = "sqlmodel"
|
||||||
version = "0.0.18"
|
version = "0.0.18"
|
||||||
description = "SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness."
|
description = "SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2383,6 +2510,7 @@ SQLAlchemy = ">=2.0.0,<2.1.0"
|
|||||||
name = "starlette"
|
name = "starlette"
|
||||||
version = "0.37.2"
|
version = "0.37.2"
|
||||||
description = "The little ASGI library that shines."
|
description = "The little ASGI library that shines."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2401,6 +2529,7 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7
|
|||||||
name = "starlette-admin"
|
name = "starlette-admin"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
description = "Fast, beautiful and extensible administrative interface framework for Starlette/FastApi applications"
|
description = "Fast, beautiful and extensible administrative interface framework for Starlette/FastApi applications"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2424,6 +2553,7 @@ test = ["aiomysql (>=0.1.1,<0.3.0)", "aiosqlite (>=0.17.0,<0.20.0)", "arrow (>=1
|
|||||||
name = "tabulate"
|
name = "tabulate"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
description = "Pretty-print tabular data"
|
description = "Pretty-print tabular data"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2438,6 +2568,7 @@ widechars = ["wcwidth"]
|
|||||||
name = "tenacity"
|
name = "tenacity"
|
||||||
version = "8.3.0"
|
version = "8.3.0"
|
||||||
description = "Retry code until it succeeds"
|
description = "Retry code until it succeeds"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2453,6 +2584,7 @@ test = ["pytest", "tornado (>=4.5)", "typeguard"]
|
|||||||
name = "toml"
|
name = "toml"
|
||||||
version = "0.10.2"
|
version = "0.10.2"
|
||||||
description = "Python Library for Tom's Obvious, Minimal Language"
|
description = "Python Library for Tom's Obvious, Minimal Language"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
files = [
|
files = [
|
||||||
@ -2464,6 +2596,7 @@ files = [
|
|||||||
name = "tomli"
|
name = "tomli"
|
||||||
version = "2.0.1"
|
version = "2.0.1"
|
||||||
description = "A lil' TOML parser"
|
description = "A lil' TOML parser"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2475,6 +2608,7 @@ files = [
|
|||||||
name = "tomlkit"
|
name = "tomlkit"
|
||||||
version = "0.12.4"
|
version = "0.12.4"
|
||||||
description = "Style preserving TOML library"
|
description = "Style preserving TOML library"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2486,6 +2620,7 @@ files = [
|
|||||||
name = "trio"
|
name = "trio"
|
||||||
version = "0.25.0"
|
version = "0.25.0"
|
||||||
description = "A friendly Python library for async concurrency and I/O"
|
description = "A friendly Python library for async concurrency and I/O"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2506,6 +2641,7 @@ sortedcontainers = "*"
|
|||||||
name = "trio-websocket"
|
name = "trio-websocket"
|
||||||
version = "0.11.1"
|
version = "0.11.1"
|
||||||
description = "WebSocket library for Trio"
|
description = "WebSocket library for Trio"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2522,6 +2658,7 @@ wsproto = ">=0.14"
|
|||||||
name = "twine"
|
name = "twine"
|
||||||
version = "5.0.0"
|
version = "5.0.0"
|
||||||
description = "Collection of utilities for publishing packages on PyPI"
|
description = "Collection of utilities for publishing packages on PyPI"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2544,6 +2681,7 @@ urllib3 = ">=1.26.0"
|
|||||||
name = "typer"
|
name = "typer"
|
||||||
version = "0.12.3"
|
version = "0.12.3"
|
||||||
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2561,6 +2699,7 @@ typing-extensions = ">=3.7.4.3"
|
|||||||
name = "typing-extensions"
|
name = "typing-extensions"
|
||||||
version = "4.11.0"
|
version = "4.11.0"
|
||||||
description = "Backported and Experimental Type Hints for Python 3.8+"
|
description = "Backported and Experimental Type Hints for Python 3.8+"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2572,6 +2711,7 @@ files = [
|
|||||||
name = "tzdata"
|
name = "tzdata"
|
||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
description = "Provider of IANA time zone data"
|
description = "Provider of IANA time zone data"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2"
|
python-versions = ">=2"
|
||||||
files = [
|
files = [
|
||||||
@ -2583,6 +2723,7 @@ files = [
|
|||||||
name = "urllib3"
|
name = "urllib3"
|
||||||
version = "2.2.1"
|
version = "2.2.1"
|
||||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2603,6 +2744,7 @@ zstd = ["zstandard (>=0.18.0)"]
|
|||||||
name = "uvicorn"
|
name = "uvicorn"
|
||||||
version = "0.20.0"
|
version = "0.20.0"
|
||||||
description = "The lightning-fast ASGI server."
|
description = "The lightning-fast ASGI server."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2621,6 +2763,7 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)",
|
|||||||
name = "uvicorn"
|
name = "uvicorn"
|
||||||
version = "0.24.0.post1"
|
version = "0.24.0.post1"
|
||||||
description = "The lightning-fast ASGI server."
|
description = "The lightning-fast ASGI server."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2639,6 +2782,7 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)",
|
|||||||
name = "virtualenv"
|
name = "virtualenv"
|
||||||
version = "20.26.1"
|
version = "20.26.1"
|
||||||
description = "Virtual Python Environment builder"
|
description = "Virtual Python Environment builder"
|
||||||
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
@ -2659,6 +2803,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess
|
|||||||
name = "watchdog"
|
name = "watchdog"
|
||||||
version = "4.0.0"
|
version = "4.0.0"
|
||||||
description = "Filesystem events monitoring"
|
description = "Filesystem events monitoring"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2700,6 +2845,7 @@ watchmedo = ["PyYAML (>=3.10)"]
|
|||||||
name = "watchfiles"
|
name = "watchfiles"
|
||||||
version = "0.21.0"
|
version = "0.21.0"
|
||||||
description = "Simple, modern and high performance file watching and code reload in python."
|
description = "Simple, modern and high performance file watching and code reload in python."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2787,6 +2933,7 @@ anyio = ">=3.0.0"
|
|||||||
name = "websockets"
|
name = "websockets"
|
||||||
version = "12.0"
|
version = "12.0"
|
||||||
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2868,6 +3015,7 @@ files = [
|
|||||||
name = "wheel"
|
name = "wheel"
|
||||||
version = "0.43.0"
|
version = "0.43.0"
|
||||||
description = "A built-package format for Python"
|
description = "A built-package format for Python"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2882,6 +3030,7 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
|
|||||||
name = "wrapt"
|
name = "wrapt"
|
||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
description = "Module for decorators, wrappers and monkey patching."
|
description = "Module for decorators, wrappers and monkey patching."
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
@ -2961,6 +3110,7 @@ files = [
|
|||||||
name = "wsproto"
|
name = "wsproto"
|
||||||
version = "1.2.0"
|
version = "1.2.0"
|
||||||
description = "WebSockets state-machine based protocol implementation"
|
description = "WebSockets state-machine based protocol implementation"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.0"
|
python-versions = ">=3.7.0"
|
||||||
files = [
|
files = [
|
||||||
@ -2975,6 +3125,7 @@ h11 = ">=0.9.0,<1"
|
|||||||
name = "zipp"
|
name = "zipp"
|
||||||
version = "3.18.1"
|
version = "3.18.1"
|
||||||
description = "Backport of pathlib-compatible object wrapper for zip files"
|
description = "Backport of pathlib-compatible object wrapper for zip files"
|
||||||
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
@ -2989,4 +3140,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.8"
|
python-versions = "^3.8"
|
||||||
content-hash = "a5abcbe48c3d9d39752223c5abb7cebadf0ad444b8d6af400a7c2c769543bb13"
|
content-hash = "586d6cce442baa6f294c9b0be6e8e84aed2cd243f776e0654d2c2fb03fbc29e7"
|
||||||
|
@ -63,6 +63,7 @@ setuptools = ">=69.1.1,<70.0"
|
|||||||
httpx = ">=0.25.1,<1.0"
|
httpx = ">=0.25.1,<1.0"
|
||||||
twine = ">=4.0.0,<6.0"
|
twine = ">=4.0.0,<6.0"
|
||||||
tomlkit = ">=0.12.4,<1.0"
|
tomlkit = ">=0.12.4,<1.0"
|
||||||
|
lazy_loader = ">=0.4"
|
||||||
|
|
||||||
[tool.poetry.group.dev.dependencies]
|
[tool.poetry.group.dev.dependencies]
|
||||||
pytest = ">=7.1.2,<8.0"
|
pytest = ">=7.1.2,<8.0"
|
||||||
|
@ -1,141 +1,281 @@
|
|||||||
"""Import all classes and functions the end user will need to make an app.
|
"""Import all classes and functions the end user will need to make an app.
|
||||||
|
|
||||||
Anything imported here will be available in the default Reflex import as `rx.*`.
|
Anything imported here will be available in the default Reflex import as `rx.*`.
|
||||||
To signal to typecheckers that something should be reexported,
|
|
||||||
we use the Flask "import name as name" syntax.
|
Dynamic Imports
|
||||||
|
---------------
|
||||||
|
Reflex utilizes dynamic imports, or lazy loading, to reduce startup/import times.
|
||||||
|
With this approach, imports are delayed until they are actually needed. We use
|
||||||
|
the `lazy_loader` library(https://github.com/scientific-python/lazy_loader) to achieve this.
|
||||||
|
|
||||||
|
How it works
|
||||||
|
--------------
|
||||||
|
`lazy_loader.attach` takes two optional arguments: `submodules` and `submod_attrs`.
|
||||||
|
- `submodules` typically points to directories or files to be accessed.
|
||||||
|
- `submod_attrs` defines a mapping of directory or file names as keys with a list
|
||||||
|
of attributes or modules to access.
|
||||||
|
|
||||||
|
Example directory structure:
|
||||||
|
|
||||||
|
reflex/
|
||||||
|
|_ components/
|
||||||
|
|_ radix/
|
||||||
|
|_ themes/
|
||||||
|
|_ components/
|
||||||
|
|_ box.py
|
||||||
|
|
||||||
|
To add `box` under the `rx` namespace (`rx.box`), add the relative path to `submod_attrs` in
|
||||||
|
`reflex/__init__.py` (this file):
|
||||||
|
|
||||||
|
```python
|
||||||
|
lazy_loader.attach(
|
||||||
|
submodules={"components"},
|
||||||
|
submod_attrs={
|
||||||
|
"components.radix.themes.components.box": ["box"]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
This implies that `box` will be imported from `reflex/components/radix/themes/components/box.py`.
|
||||||
|
|
||||||
|
To add box under the `rx.radix` namespace (`rx.radix.box`), add the relative path to the
|
||||||
|
submod_attrs argument in `reflex/components/radix/__init__.py`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
lazy_loader.attach(
|
||||||
|
submodules = {"themes"},
|
||||||
|
submod_attrs = {
|
||||||
|
"themes.components.box": ["box"]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: It is important to specify the immediate submodules of a directory in the submodules
|
||||||
|
argument to ensure they are registered at runtime. For example, 'components' for reflex,
|
||||||
|
'radix' for components, 'themes' for radix, etc.
|
||||||
|
|
||||||
|
|
||||||
|
Pyi_generator
|
||||||
|
--------------
|
||||||
|
To generate `.pyi` files for `__init__.py` files, we read the `_SUBMODULES` and `_SUBMOD_ATTRS`
|
||||||
|
attributes to generate the import statements. It is highly recommended to define these with
|
||||||
|
the provided annotations to facilitate their generation.
|
||||||
|
|
||||||
|
|
||||||
|
Aliases
|
||||||
|
------------
|
||||||
|
This is a special case to specify an alias for a component.
|
||||||
|
As an example, we use this typically for `rx.list` where defining `list` attribute in the list.py
|
||||||
|
overshadows python's list object which messes up the pyi generation for `list.pyi`. As a result, aliases
|
||||||
|
should be used for similar cases like this. Note that this logic is employed to fix the pyi generation and alias
|
||||||
|
should still be defined or accessible. Check out the __getattr__ logic in `reflex/components/radix/themes/layouts/list.py`
|
||||||
|
|
||||||
|
```python
|
||||||
|
lazy_loader.attach(
|
||||||
|
submodules={"components"},
|
||||||
|
submod_attrs={
|
||||||
|
"components.radix.themes.layouts": [("list_ns", "list")]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
In the example above, you will be able to do `rx.list`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import importlib
|
from reflex.utils import lazy_loader
|
||||||
from typing import Type
|
|
||||||
|
|
||||||
from reflex.page import page as page
|
# import this here explicitly to avoid returning the page module since page attr has the
|
||||||
from reflex.utils import console
|
# same name as page module(page.py)
|
||||||
from reflex.utils.format import to_snake_case
|
from .page import page as page
|
||||||
|
|
||||||
_ALL_COMPONENTS = [
|
RADIX_THEMES_MAPPING: dict = {
|
||||||
# Core
|
"components.radix.themes.base": ["color_mode", "theme", "theme_panel"],
|
||||||
"color",
|
"components.radix.themes.color_mode": ["color_mode"],
|
||||||
"cond",
|
}
|
||||||
"foreach",
|
RADIX_THEMES_COMPONENTS_MAPPING: dict = {
|
||||||
"html",
|
**{
|
||||||
"match",
|
f"components.radix.themes.components.{mod}": [mod]
|
||||||
"color_mode_cond",
|
for mod in [
|
||||||
"connection_banner",
|
"alert_dialog",
|
||||||
"connection_modal",
|
"aspect_ratio",
|
||||||
"debounce_input",
|
"avatar",
|
||||||
# Base
|
"badge",
|
||||||
"fragment",
|
"button",
|
||||||
"Fragment",
|
"callout",
|
||||||
"image",
|
"card",
|
||||||
"script",
|
"checkbox",
|
||||||
# Responsive
|
"context_menu",
|
||||||
"desktop_only",
|
"data_list",
|
||||||
"mobile_and_tablet",
|
"dialog",
|
||||||
"mobile_only",
|
"hover_card",
|
||||||
"tablet_and_desktop",
|
"icon_button",
|
||||||
"tablet_only",
|
"input",
|
||||||
# Upload
|
"inset",
|
||||||
"cancel_upload",
|
"popover",
|
||||||
"clear_selected_files",
|
"scroll_area",
|
||||||
"get_upload_dir",
|
"select",
|
||||||
"get_upload_url",
|
"skeleton",
|
||||||
"selected_files",
|
"slider",
|
||||||
"upload",
|
"spinner",
|
||||||
# Radix
|
"switch",
|
||||||
"accordion",
|
"table",
|
||||||
"alert_dialog",
|
"tabs",
|
||||||
"aspect_ratio",
|
"text_area",
|
||||||
"avatar",
|
"tooltip",
|
||||||
"badge",
|
"segmented_control",
|
||||||
"blockquote",
|
"radio_cards",
|
||||||
"box",
|
"checkbox_cards",
|
||||||
"button",
|
"checkbox_group",
|
||||||
"callout",
|
]
|
||||||
"card",
|
},
|
||||||
"center",
|
"components.radix.themes.components.text_field": ["text_field", "input"],
|
||||||
"checkbox",
|
"components.radix.themes.components.radio_group": ["radio", "radio_group"],
|
||||||
"code",
|
"components.radix.themes.components.dropdown_menu": ["menu", "dropdown_menu"],
|
||||||
"container",
|
"components.radix.themes.components.separator": ["divider", "separator"],
|
||||||
"context_menu",
|
}
|
||||||
"data_list",
|
|
||||||
"dialog",
|
|
||||||
"divider",
|
|
||||||
"drawer",
|
|
||||||
"flex",
|
|
||||||
"form",
|
|
||||||
"grid",
|
|
||||||
"heading",
|
|
||||||
"hover_card",
|
|
||||||
"hstack",
|
|
||||||
"icon_button",
|
|
||||||
"inset",
|
|
||||||
"input",
|
|
||||||
"link",
|
|
||||||
"menu",
|
|
||||||
"popover",
|
|
||||||
"progress",
|
|
||||||
"radio",
|
|
||||||
"scroll_area",
|
|
||||||
"section",
|
|
||||||
"select",
|
|
||||||
"skeleton",
|
|
||||||
"slider",
|
|
||||||
"spacer",
|
|
||||||
"spinner",
|
|
||||||
"stack",
|
|
||||||
"switch",
|
|
||||||
"table",
|
|
||||||
"tabs",
|
|
||||||
"text",
|
|
||||||
"text_area",
|
|
||||||
"theme",
|
|
||||||
"theme_panel",
|
|
||||||
"tooltip",
|
|
||||||
"vstack",
|
|
||||||
# Other
|
|
||||||
"code_block",
|
|
||||||
"data_editor",
|
|
||||||
"data_editor_theme",
|
|
||||||
"data_table",
|
|
||||||
"plotly",
|
|
||||||
"audio",
|
|
||||||
"video",
|
|
||||||
"editor",
|
|
||||||
"EditorButtonList",
|
|
||||||
"EditorOptions",
|
|
||||||
"icon",
|
|
||||||
"markdown",
|
|
||||||
"list",
|
|
||||||
"list_item",
|
|
||||||
"unordered_list",
|
|
||||||
"ordered_list",
|
|
||||||
"moment",
|
|
||||||
"logo",
|
|
||||||
# Toast is in experimental namespace initially
|
|
||||||
# "toast",
|
|
||||||
]
|
|
||||||
|
|
||||||
_MAPPING = {
|
RADIX_THEMES_LAYOUT_MAPPING: dict = {
|
||||||
"reflex.experimental": ["_x"],
|
"components.radix.themes.layout.box": [
|
||||||
"reflex.admin": ["admin", "AdminDash"],
|
"box",
|
||||||
"reflex.app": ["app", "App", "UploadFile"],
|
],
|
||||||
"reflex.base": ["base", "Base"],
|
"components.radix.themes.layout.center": [
|
||||||
"reflex.compiler": ["compiler"],
|
"center",
|
||||||
"reflex.components": _ALL_COMPONENTS,
|
],
|
||||||
"reflex.components.component": ["Component", "NoSSRComponent", "memo"],
|
"components.radix.themes.layout.container": [
|
||||||
"reflex.components.chakra": ["chakra"],
|
"container",
|
||||||
"reflex.components.el": ["el"],
|
],
|
||||||
"reflex.components.lucide": ["lucide"],
|
"components.radix.themes.layout.flex": [
|
||||||
"reflex.components.next": ["next"],
|
"flex",
|
||||||
"reflex.components.radix": ["radix", "color_mode"],
|
],
|
||||||
"reflex.components.recharts": ["recharts"],
|
"components.radix.themes.layout.grid": [
|
||||||
"reflex.components.moment.moment": ["MomentDelta"],
|
"grid",
|
||||||
"reflex.config": ["config", "Config", "DBConfig"],
|
],
|
||||||
"reflex.constants": ["constants", "Env"],
|
"components.radix.themes.layout.section": [
|
||||||
"reflex.event": [
|
"section",
|
||||||
"event",
|
],
|
||||||
|
"components.radix.themes.layout.spacer": [
|
||||||
|
"spacer",
|
||||||
|
],
|
||||||
|
"components.radix.themes.layout.stack": [
|
||||||
|
"stack",
|
||||||
|
"hstack",
|
||||||
|
"vstack",
|
||||||
|
],
|
||||||
|
"components.radix.themes.layout.list": [
|
||||||
|
("list_ns", "list"),
|
||||||
|
"list_item",
|
||||||
|
"ordered_list",
|
||||||
|
"unordered_list",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
RADIX_THEMES_TYPOGRAPHY_MAPPING: dict = {
|
||||||
|
"components.radix.themes.typography.blockquote": [
|
||||||
|
"blockquote",
|
||||||
|
],
|
||||||
|
"components.radix.themes.typography.code": [
|
||||||
|
"code",
|
||||||
|
],
|
||||||
|
"components.radix.themes.typography.heading": [
|
||||||
|
"heading",
|
||||||
|
],
|
||||||
|
"components.radix.themes.typography.link": [
|
||||||
|
"link",
|
||||||
|
],
|
||||||
|
"components.radix.themes.typography.text": [
|
||||||
|
"text",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
RADIX_PRIMITIVES_MAPPING: dict = {
|
||||||
|
"components.radix.primitives.accordion": [
|
||||||
|
"accordion",
|
||||||
|
],
|
||||||
|
"components.radix.primitives.drawer": [
|
||||||
|
"drawer",
|
||||||
|
],
|
||||||
|
"components.radix.primitives.form": [
|
||||||
|
"form",
|
||||||
|
],
|
||||||
|
"components.radix.primitives.progress": ["progress"],
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPONENTS_CORE_MAPPING: dict = {
|
||||||
|
"components.core.banner": [
|
||||||
|
"connection_banner",
|
||||||
|
"connection_modal",
|
||||||
|
],
|
||||||
|
"components.core.cond": ["cond", "color_mode_cond"],
|
||||||
|
"components.core.foreach": ["foreach"],
|
||||||
|
"components.core.debounce": ["debounce_input"],
|
||||||
|
"components.core.html": ["html"],
|
||||||
|
"components.core.match": ["match"],
|
||||||
|
"components.core.colors": ["color"],
|
||||||
|
"components.core.responsive": [
|
||||||
|
"desktop_only",
|
||||||
|
"mobile_and_tablet",
|
||||||
|
"mobile_only",
|
||||||
|
"tablet_and_desktop",
|
||||||
|
"tablet_only",
|
||||||
|
],
|
||||||
|
"components.core.upload": [
|
||||||
|
"cancel_upload",
|
||||||
|
"clear_selected_files",
|
||||||
|
"get_upload_dir",
|
||||||
|
"get_upload_url",
|
||||||
|
"selected_files",
|
||||||
|
"upload",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPONENTS_BASE_MAPPING: dict = {
|
||||||
|
"components.base.fragment": ["fragment", "Fragment"],
|
||||||
|
"components.base.script": ["script", "Script"],
|
||||||
|
}
|
||||||
|
|
||||||
|
RADIX_MAPPING: dict = {
|
||||||
|
**RADIX_THEMES_MAPPING,
|
||||||
|
**RADIX_THEMES_COMPONENTS_MAPPING,
|
||||||
|
**RADIX_THEMES_TYPOGRAPHY_MAPPING,
|
||||||
|
**RADIX_THEMES_LAYOUT_MAPPING,
|
||||||
|
**RADIX_PRIMITIVES_MAPPING,
|
||||||
|
}
|
||||||
|
|
||||||
|
_MAPPING: dict = {
|
||||||
|
"experimental": ["_x"],
|
||||||
|
"admin": ["AdminDash"],
|
||||||
|
"app": ["App", "UploadFile"],
|
||||||
|
"base": ["Base"],
|
||||||
|
"components.component": ["Component", "NoSSRComponent", "memo"],
|
||||||
|
"components.el.elements.media": ["image"],
|
||||||
|
"components.lucide": ["icon"],
|
||||||
|
**COMPONENTS_BASE_MAPPING,
|
||||||
|
"components.suneditor": [
|
||||||
|
"editor",
|
||||||
|
"EditorButtonList",
|
||||||
|
"EditorOptions",
|
||||||
|
],
|
||||||
|
"components": ["el", "chakra", "radix", "lucide", "recharts", "next"],
|
||||||
|
"components.markdown": ["markdown"],
|
||||||
|
**RADIX_MAPPING,
|
||||||
|
"components.plotly": ["plotly"],
|
||||||
|
"components.react_player": ["audio", "video"],
|
||||||
|
**COMPONENTS_CORE_MAPPING,
|
||||||
|
"components.datadisplay.code": [
|
||||||
|
"code_block",
|
||||||
|
],
|
||||||
|
"components.datadisplay.dataeditor": [
|
||||||
|
"data_editor",
|
||||||
|
"data_editor_theme",
|
||||||
|
],
|
||||||
|
"components.datadisplay.logo": ["logo"],
|
||||||
|
"components.gridjs": ["data_table"],
|
||||||
|
"components.moment": ["MomentDelta", "moment"],
|
||||||
|
"config": ["Config", "DBConfig"],
|
||||||
|
"constants": ["Env"],
|
||||||
|
"event": [
|
||||||
"EventChain",
|
"EventChain",
|
||||||
"EventHandler",
|
"EventHandler",
|
||||||
"background",
|
"background",
|
||||||
@ -155,84 +295,38 @@ _MAPPING = {
|
|||||||
"upload_files",
|
"upload_files",
|
||||||
"window_alert",
|
"window_alert",
|
||||||
],
|
],
|
||||||
"reflex.middleware": ["middleware", "Middleware"],
|
"middleware": ["middleware", "Middleware"],
|
||||||
"reflex.model": ["model", "session", "Model"],
|
"model": ["session", "Model"],
|
||||||
"reflex.page": ["page"],
|
"state": [
|
||||||
"reflex.route": ["route"],
|
|
||||||
"reflex.state": [
|
|
||||||
"state",
|
|
||||||
"var",
|
"var",
|
||||||
"Cookie",
|
"Cookie",
|
||||||
"LocalStorage",
|
"LocalStorage",
|
||||||
"ComponentState",
|
"ComponentState",
|
||||||
"State",
|
"State",
|
||||||
],
|
],
|
||||||
"reflex.style": ["style", "toggle_color_mode"],
|
"style": ["Style", "toggle_color_mode"],
|
||||||
"reflex.testing": ["testing"],
|
"utils.imports": ["ImportVar"],
|
||||||
"reflex.utils": ["utils"],
|
"utils.serializers": ["serializer"],
|
||||||
"reflex.utils.imports": ["ImportVar"],
|
"vars": ["cached_var", "Var"],
|
||||||
"reflex.vars": ["vars", "cached_var", "Var"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_SUBMODULES: set[str] = {
|
||||||
def _reverse_mapping(mapping: dict[str, list]) -> dict[str, str]:
|
"components",
|
||||||
"""Reverse the mapping used to lazy loading, and check for conflicting name.
|
"event",
|
||||||
|
"app",
|
||||||
Args:
|
"style",
|
||||||
mapping: The mapping to reverse.
|
"admin",
|
||||||
|
"base",
|
||||||
Returns:
|
"model",
|
||||||
The reversed mapping.
|
"testing",
|
||||||
"""
|
"utils",
|
||||||
reversed_mapping = {}
|
"vars",
|
||||||
for key, values in mapping.items():
|
"config",
|
||||||
for value in values:
|
"compiler",
|
||||||
if value not in reversed_mapping:
|
}
|
||||||
reversed_mapping[value] = key
|
_SUBMOD_ATTRS: dict = _MAPPING
|
||||||
else:
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
console.warn(
|
__name__,
|
||||||
f"Key {value} is present multiple times in the imports _MAPPING: {key} / {reversed_mapping[value]}"
|
submodules=_SUBMODULES,
|
||||||
)
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
return reversed_mapping
|
)
|
||||||
|
|
||||||
|
|
||||||
# _MAPPING = {value: key for key, values in _MAPPING.items() for value in values}
|
|
||||||
_MAPPING = _reverse_mapping(_MAPPING)
|
|
||||||
|
|
||||||
|
|
||||||
def _removeprefix(text, prefix):
|
|
||||||
return text[text.startswith(prefix) and len(prefix) :]
|
|
||||||
|
|
||||||
|
|
||||||
__all__ = (_removeprefix(mod, "reflex.") for mod in _MAPPING)
|
|
||||||
|
|
||||||
|
|
||||||
def __getattr__(name: str) -> Type:
|
|
||||||
"""Lazy load all modules.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
name: name of the module to load.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
The module or the attribute of the module.
|
|
||||||
|
|
||||||
Raises:
|
|
||||||
AttributeError: If the module or the attribute does not exist.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
# Check for import of a module that is not in the mapping.
|
|
||||||
if name not in _MAPPING:
|
|
||||||
# If the name does not start with reflex, add it.
|
|
||||||
if not name.startswith("reflex") and name != "__all__":
|
|
||||||
name = f"reflex.{name}"
|
|
||||||
return importlib.import_module(name)
|
|
||||||
|
|
||||||
# Import the module.
|
|
||||||
module = importlib.import_module(_MAPPING[name])
|
|
||||||
|
|
||||||
# Get the attribute from the module if the name is not the module itself.
|
|
||||||
return (
|
|
||||||
getattr(module, name) if name != _MAPPING[name].rsplit(".")[-1] else module
|
|
||||||
)
|
|
||||||
except ModuleNotFoundError:
|
|
||||||
raise AttributeError(f"module 'reflex' has no attribute {name}") from None
|
|
||||||
|
@ -1,157 +1,196 @@
|
|||||||
from reflex.experimental import _x as _x
|
"""Stub file for reflex/__init__.py"""
|
||||||
from reflex import admin as admin
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
from reflex.admin import AdminDash as AdminDash
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
from reflex import app as app
|
# ------------------------------------------------------
|
||||||
from reflex.app import App as App
|
|
||||||
from reflex.app import UploadFile as UploadFile
|
from . import admin as admin
|
||||||
from reflex import base as base
|
from . import app as app
|
||||||
from reflex.base import Base as Base
|
from . import base as base
|
||||||
from reflex import compiler as compiler
|
from . import compiler as compiler
|
||||||
from reflex.components import color as color
|
from . import components as components
|
||||||
from reflex.components import cond as cond
|
from . import config as config
|
||||||
from reflex.components import foreach as foreach
|
from . import event as event
|
||||||
from reflex.components import html as html
|
from . import model as model
|
||||||
from reflex.components import match as match
|
from . import style as style
|
||||||
from reflex.components import color_mode_cond as color_mode_cond
|
from . import testing as testing
|
||||||
from reflex.components import connection_banner as connection_banner
|
from . import utils as utils
|
||||||
from reflex.components import connection_modal as connection_modal
|
from . import vars as vars
|
||||||
from reflex.components import debounce_input as debounce_input
|
|
||||||
from reflex.components import fragment as fragment
|
from .experimental import _x as _x
|
||||||
from reflex.components import Fragment as Fragment
|
from .admin import AdminDash as AdminDash
|
||||||
from reflex.components import image as image
|
from .app import App as App
|
||||||
from reflex.components import script as script
|
from .app import UploadFile as UploadFile
|
||||||
from reflex.components import desktop_only as desktop_only
|
from .base import Base as Base
|
||||||
from reflex.components import mobile_and_tablet as mobile_and_tablet
|
from .components.component import Component as Component
|
||||||
from reflex.components import mobile_only as mobile_only
|
from .components.component import NoSSRComponent as NoSSRComponent
|
||||||
from reflex.components import tablet_and_desktop as tablet_and_desktop
|
from .components.component import memo as memo
|
||||||
from reflex.components import tablet_only as tablet_only
|
from .components.el.elements.media import image as image
|
||||||
from reflex.components import cancel_upload as cancel_upload
|
from .components.lucide import icon as icon
|
||||||
from reflex.components import clear_selected_files as clear_selected_files
|
from .components.base.fragment import fragment as fragment
|
||||||
from reflex.components import get_upload_dir as get_upload_dir
|
from .components.base.fragment import Fragment as Fragment
|
||||||
from reflex.components import get_upload_url as get_upload_url
|
from .components.base.script import script as script
|
||||||
from reflex.components import selected_files as selected_files
|
from .components.base.script import Script as Script
|
||||||
from reflex.components import upload as upload
|
from .components.suneditor import editor as editor
|
||||||
from reflex.components import accordion as accordion
|
from .components.suneditor import EditorButtonList as EditorButtonList
|
||||||
from reflex.components import alert_dialog as alert_dialog
|
from .components.suneditor import EditorOptions as EditorOptions
|
||||||
from reflex.components import aspect_ratio as aspect_ratio
|
from .components import el as el
|
||||||
from reflex.components import avatar as avatar
|
from .components import chakra as chakra
|
||||||
from reflex.components import badge as badge
|
from .components import radix as radix
|
||||||
from reflex.components import blockquote as blockquote
|
from .components import lucide as lucide
|
||||||
from reflex.components import box as box
|
from .components import recharts as recharts
|
||||||
from reflex.components import button as button
|
from .components import next as next
|
||||||
from reflex.components import callout as callout
|
from .components.markdown import markdown as markdown
|
||||||
from reflex.components import card as card
|
from .components.radix.themes.color_mode import color_mode as color_mode
|
||||||
from reflex.components import center as center
|
from .components.radix.themes.base import theme as theme
|
||||||
from reflex.components import checkbox as checkbox
|
from .components.radix.themes.base import theme_panel as theme_panel
|
||||||
from reflex.components import code as code
|
from .components.radix.themes.components.alert_dialog import (
|
||||||
from reflex.components import container as container
|
alert_dialog as alert_dialog,
|
||||||
from reflex.components import context_menu as context_menu
|
)
|
||||||
from reflex.components import data_list as data_list
|
from .components.radix.themes.components.aspect_ratio import (
|
||||||
from reflex.components import dialog as dialog
|
aspect_ratio as aspect_ratio,
|
||||||
from reflex.components import divider as divider
|
)
|
||||||
from reflex.components import drawer as drawer
|
from .components.radix.themes.components.avatar import avatar as avatar
|
||||||
from reflex.components import flex as flex
|
from .components.radix.themes.components.badge import badge as badge
|
||||||
from reflex.components import form as form
|
from .components.radix.themes.components.button import button as button
|
||||||
from reflex.components import grid as grid
|
from .components.radix.themes.components.callout import callout as callout
|
||||||
from reflex.components import heading as heading
|
from .components.radix.themes.components.card import card as card
|
||||||
from reflex.components import hover_card as hover_card
|
from .components.radix.themes.components.checkbox import checkbox as checkbox
|
||||||
from reflex.components import hstack as hstack
|
from .components.radix.themes.components.context_menu import (
|
||||||
from reflex.components import icon_button as icon_button
|
context_menu as context_menu,
|
||||||
from reflex.components import inset as inset
|
)
|
||||||
from reflex.components import input as input
|
from .components.radix.themes.components.data_list import data_list as data_list
|
||||||
from reflex.components import link as link
|
from .components.radix.themes.components.dialog import dialog as dialog
|
||||||
from reflex.components import menu as menu
|
from .components.radix.themes.components.hover_card import hover_card as hover_card
|
||||||
from reflex.components import popover as popover
|
from .components.radix.themes.components.icon_button import icon_button as icon_button
|
||||||
from reflex.components import progress as progress
|
from .components.radix.themes.components.text_field import input as input
|
||||||
from reflex.components import radio as radio
|
from .components.radix.themes.components.inset import inset as inset
|
||||||
from reflex.components import scroll_area as scroll_area
|
from .components.radix.themes.components.popover import popover as popover
|
||||||
from reflex.components import section as section
|
from .components.radix.themes.components.scroll_area import scroll_area as scroll_area
|
||||||
from reflex.components import select as select
|
from .components.radix.themes.components.select import select as select
|
||||||
from reflex.components import skeleton as skeleton
|
from .components.radix.themes.components.skeleton import skeleton as skeleton
|
||||||
from reflex.components import slider as slider
|
from .components.radix.themes.components.slider import slider as slider
|
||||||
from reflex.components import spacer as spacer
|
from .components.radix.themes.components.spinner import spinner as spinner
|
||||||
from reflex.components import spinner as spinner
|
from .components.radix.themes.components.switch import switch as switch
|
||||||
from reflex.components import stack as stack
|
from .components.radix.themes.components.table import table as table
|
||||||
from reflex.components import switch as switch
|
from .components.radix.themes.components.tabs import tabs as tabs
|
||||||
from reflex.components import table as table
|
from .components.radix.themes.components.text_area import text_area as text_area
|
||||||
from reflex.components import tabs as tabs
|
from .components.radix.themes.components.tooltip import tooltip as tooltip
|
||||||
from reflex.components import text as text
|
from .components.radix.themes.components.segmented_control import (
|
||||||
from reflex.components import text_area as text_area
|
segmented_control as segmented_control,
|
||||||
from reflex.components import theme as theme
|
)
|
||||||
from reflex.components import theme_panel as theme_panel
|
from .components.radix.themes.components.radio_cards import radio_cards as radio_cards
|
||||||
from reflex.components import tooltip as tooltip
|
from .components.radix.themes.components.checkbox_cards import (
|
||||||
from reflex.components import vstack as vstack
|
checkbox_cards as checkbox_cards,
|
||||||
from reflex.components import code_block as code_block
|
)
|
||||||
from reflex.components import data_editor as data_editor
|
from .components.radix.themes.components.checkbox_group import (
|
||||||
from reflex.components import data_editor_theme as data_editor_theme
|
checkbox_group as checkbox_group,
|
||||||
from reflex.components import data_table as data_table
|
)
|
||||||
from reflex.components import plotly as plotly
|
from .components.radix.themes.components.text_field import text_field as text_field
|
||||||
from reflex.components import audio as audio
|
from .components.radix.themes.components.radio_group import radio as radio
|
||||||
from reflex.components import video as video
|
from .components.radix.themes.components.radio_group import radio_group as radio_group
|
||||||
from reflex.components import editor as editor
|
from .components.radix.themes.components.dropdown_menu import menu as menu
|
||||||
from reflex.components import EditorButtonList as EditorButtonList
|
from .components.radix.themes.components.dropdown_menu import (
|
||||||
from reflex.components import EditorOptions as EditorOptions
|
dropdown_menu as dropdown_menu,
|
||||||
from reflex.components import icon as icon
|
)
|
||||||
from reflex.components import markdown as markdown
|
from .components.radix.themes.components.separator import divider as divider
|
||||||
from reflex.components import list as list
|
from .components.radix.themes.components.separator import separator as separator
|
||||||
from reflex.components import list_item as list_item
|
from .components.radix.themes.typography.blockquote import blockquote as blockquote
|
||||||
from reflex.components import unordered_list as unordered_list
|
from .components.radix.themes.typography.code import code as code
|
||||||
from reflex.components import ordered_list as ordered_list
|
from .components.radix.themes.typography.heading import heading as heading
|
||||||
from reflex.components import moment as moment
|
from .components.radix.themes.typography.link import link as link
|
||||||
from reflex.components import logo as logo
|
from .components.radix.themes.typography.text import text as text
|
||||||
from reflex.components.component import Component as Component
|
from .components.radix.themes.layout.box import box as box
|
||||||
from reflex.components.component import NoSSRComponent as NoSSRComponent
|
from .components.radix.themes.layout.center import center as center
|
||||||
from reflex.components.component import memo as memo
|
from .components.radix.themes.layout.container import container as container
|
||||||
from reflex.components import chakra as chakra
|
from .components.radix.themes.layout.flex import flex as flex
|
||||||
from reflex.components import el as el
|
from .components.radix.themes.layout.grid import grid as grid
|
||||||
from reflex.components import lucide as lucide
|
from .components.radix.themes.layout.section import section as section
|
||||||
from reflex.components import next as next
|
from .components.radix.themes.layout.spacer import spacer as spacer
|
||||||
from reflex.components import radix as radix
|
from .components.radix.themes.layout.stack import stack as stack
|
||||||
from reflex.components.radix import color_mode as color_mode
|
from .components.radix.themes.layout.stack import hstack as hstack
|
||||||
from reflex.components import recharts as recharts
|
from .components.radix.themes.layout.stack import vstack as vstack
|
||||||
from reflex.components.moment.moment import MomentDelta as MomentDelta
|
from .components.radix.themes.layout.list import list_ns as list
|
||||||
from reflex import config as config
|
from .components.radix.themes.layout.list import list_item as list_item
|
||||||
from reflex.config import Config as Config
|
from .components.radix.themes.layout.list import ordered_list as ordered_list
|
||||||
from reflex.config import DBConfig as DBConfig
|
from .components.radix.themes.layout.list import unordered_list as unordered_list
|
||||||
from reflex import constants as constants
|
from .components.radix.primitives.accordion import accordion as accordion
|
||||||
from reflex.constants import Env as Env
|
from .components.radix.primitives.drawer import drawer as drawer
|
||||||
from reflex import event as event
|
from .components.radix.primitives.form import form as form
|
||||||
from reflex.event import EventChain as EventChain
|
from .components.radix.primitives.progress import progress as progress
|
||||||
from reflex.event import EventHandler as EventHandler
|
from .components.plotly import plotly as plotly
|
||||||
from reflex.event import background as background
|
from .components.react_player import audio as audio
|
||||||
from reflex.event import call_script as call_script
|
from .components.react_player import video as video
|
||||||
from reflex.event import clear_local_storage as clear_local_storage
|
from .components.core.banner import connection_banner as connection_banner
|
||||||
from reflex.event import console_log as console_log
|
from .components.core.banner import connection_modal as connection_modal
|
||||||
from reflex.event import download as download
|
from .components.core.cond import cond as cond
|
||||||
from reflex.event import prevent_default as prevent_default
|
from .components.core.cond import color_mode_cond as color_mode_cond
|
||||||
from reflex.event import redirect as redirect
|
from .components.core.foreach import foreach as foreach
|
||||||
from reflex.event import remove_cookie as remove_cookie
|
from .components.core.debounce import debounce_input as debounce_input
|
||||||
from reflex.event import remove_local_storage as remove_local_storage
|
from .components.core.html import html as html
|
||||||
from reflex.event import set_clipboard as set_clipboard
|
from .components.core.match import match as match
|
||||||
from reflex.event import set_focus as set_focus
|
from .components.core.colors import color as color
|
||||||
from reflex.event import scroll_to as scroll_to
|
from .components.core.responsive import desktop_only as desktop_only
|
||||||
from reflex.event import set_value as set_value
|
from .components.core.responsive import mobile_and_tablet as mobile_and_tablet
|
||||||
from reflex.event import stop_propagation as stop_propagation
|
from .components.core.responsive import mobile_only as mobile_only
|
||||||
from reflex.event import upload_files as upload_files
|
from .components.core.responsive import tablet_and_desktop as tablet_and_desktop
|
||||||
from reflex.event import window_alert as window_alert
|
from .components.core.responsive import tablet_only as tablet_only
|
||||||
from reflex import middleware as middleware
|
from .components.core.upload import cancel_upload as cancel_upload
|
||||||
from reflex.middleware import Middleware as Middleware
|
from .components.core.upload import clear_selected_files as clear_selected_files
|
||||||
from reflex import model as model
|
from .components.core.upload import get_upload_dir as get_upload_dir
|
||||||
from reflex.model import session as session
|
from .components.core.upload import get_upload_url as get_upload_url
|
||||||
from reflex.model import Model as Model
|
from .components.core.upload import selected_files as selected_files
|
||||||
from reflex.page import page as page
|
from .components.core.upload import upload as upload
|
||||||
from reflex import route as route
|
from .components.datadisplay.code import code_block as code_block
|
||||||
from reflex import state as state
|
from .components.datadisplay.dataeditor import data_editor as data_editor
|
||||||
from reflex.state import var as var
|
from .components.datadisplay.dataeditor import data_editor_theme as data_editor_theme
|
||||||
from reflex.state import Cookie as Cookie
|
from .components.datadisplay.logo import logo as logo
|
||||||
from reflex.state import LocalStorage as LocalStorage
|
from .components.gridjs import data_table as data_table
|
||||||
from reflex.state import ComponentState as ComponentState
|
from .components.moment import MomentDelta as MomentDelta
|
||||||
from reflex.state import State as State
|
from .components.moment import moment as moment
|
||||||
from reflex import style as style
|
from .config import Config as Config
|
||||||
from reflex.style import toggle_color_mode as toggle_color_mode
|
from .config import DBConfig as DBConfig
|
||||||
from reflex import testing as testing
|
from .constants import Env as Env
|
||||||
from reflex import utils as utils
|
from .event import EventChain as EventChain
|
||||||
from reflex.utils.imports import ImportVar as ImportVar
|
from .event import EventHandler as EventHandler
|
||||||
from reflex import vars as vars
|
from .event import background as background
|
||||||
from reflex.vars import cached_var as cached_var
|
from .event import call_script as call_script
|
||||||
from reflex.vars import Var as Var
|
from .event import clear_local_storage as clear_local_storage
|
||||||
|
from .event import console_log as console_log
|
||||||
|
from .event import download as download
|
||||||
|
from .event import prevent_default as prevent_default
|
||||||
|
from .event import redirect as redirect
|
||||||
|
from .event import remove_cookie as remove_cookie
|
||||||
|
from .event import remove_local_storage as remove_local_storage
|
||||||
|
from .event import set_clipboard as set_clipboard
|
||||||
|
from .event import set_focus as set_focus
|
||||||
|
from .event import scroll_to as scroll_to
|
||||||
|
from .event import set_value as set_value
|
||||||
|
from .event import stop_propagation as stop_propagation
|
||||||
|
from .event import upload_files as upload_files
|
||||||
|
from .event import window_alert as window_alert
|
||||||
|
from .middleware import middleware as middleware
|
||||||
|
from .middleware import Middleware as Middleware
|
||||||
|
from .model import session as session
|
||||||
|
from .model import Model as Model
|
||||||
|
from .state import var as var
|
||||||
|
from .state import Cookie as Cookie
|
||||||
|
from .state import LocalStorage as LocalStorage
|
||||||
|
from .state import ComponentState as ComponentState
|
||||||
|
from .state import State as State
|
||||||
|
from .style import Style as Style
|
||||||
|
from .style import toggle_color_mode as toggle_color_mode
|
||||||
|
from .utils.imports import ImportVar as ImportVar
|
||||||
|
from .utils.serializers import serializer as serializer
|
||||||
|
from .vars import cached_var as cached_var
|
||||||
|
from .vars import Var as Var
|
||||||
|
from reflex.utils import lazy_loader
|
||||||
|
from .page import page as page
|
||||||
|
|
||||||
|
RADIX_THEMES_MAPPING: dict
|
||||||
|
RADIX_THEMES_COMPONENTS_MAPPING: dict
|
||||||
|
RADIX_THEMES_LAYOUT_MAPPING: dict
|
||||||
|
RADIX_THEMES_TYPOGRAPHY_MAPPING: dict
|
||||||
|
RADIX_PRIMITIVES_MAPPING: dict
|
||||||
|
COMPONENTS_CORE_MAPPING: dict
|
||||||
|
COMPONENTS_BASE_MAPPING: dict
|
||||||
|
RADIX_MAPPING: dict
|
||||||
|
@ -50,7 +50,7 @@ from reflex.components.component import (
|
|||||||
ComponentStyle,
|
ComponentStyle,
|
||||||
evaluate_style_namespaces,
|
evaluate_style_namespaces,
|
||||||
)
|
)
|
||||||
from reflex.components.core import connection_pulser, connection_toaster
|
from reflex.components.core.banner import connection_pulser, connection_toaster
|
||||||
from reflex.components.core.client_side_routing import (
|
from reflex.components.core.client_side_routing import (
|
||||||
Default404Page,
|
Default404Page,
|
||||||
wait_for_client_redirect,
|
wait_for_client_redirect,
|
||||||
|
@ -1,21 +1,35 @@
|
|||||||
"""Import all the components."""
|
"""Import all the components."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import lucide
|
from reflex.utils import lazy_loader
|
||||||
from .base import Fragment, Script, fragment, script
|
|
||||||
from .component import Component
|
|
||||||
from .component import NoSSRComponent as NoSSRComponent
|
|
||||||
from .core import *
|
|
||||||
from .datadisplay import *
|
|
||||||
from .el import img as image
|
|
||||||
from .gridjs import *
|
|
||||||
from .markdown import *
|
|
||||||
from .moment import *
|
|
||||||
from .next import NextLink, next_link
|
|
||||||
from .plotly import *
|
|
||||||
from .radix import *
|
|
||||||
from .react_player import *
|
|
||||||
from .sonner import *
|
|
||||||
from .suneditor import *
|
|
||||||
|
|
||||||
icon = lucide.icon
|
_SUBMODULES: set[str] = {
|
||||||
|
"lucide",
|
||||||
|
"core",
|
||||||
|
"datadisplay",
|
||||||
|
"gridjs",
|
||||||
|
"markdown",
|
||||||
|
"moment",
|
||||||
|
"plotly",
|
||||||
|
"radix",
|
||||||
|
"react_player",
|
||||||
|
"sonner",
|
||||||
|
"suneditor",
|
||||||
|
"chakra",
|
||||||
|
"el",
|
||||||
|
"base",
|
||||||
|
"recharts",
|
||||||
|
}
|
||||||
|
|
||||||
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
"component": [
|
||||||
|
"Component",
|
||||||
|
"NoSSRComponent",
|
||||||
|
],
|
||||||
|
"next": ["NextLink", "next_link"],
|
||||||
|
}
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
26
reflex/components/__init__.pyi
Normal file
26
reflex/components/__init__.pyi
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
"""Stub file for reflex/components/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import base as base
|
||||||
|
from . import chakra as chakra
|
||||||
|
from . import core as core
|
||||||
|
from . import datadisplay as datadisplay
|
||||||
|
from . import el as el
|
||||||
|
from . import gridjs as gridjs
|
||||||
|
from . import lucide as lucide
|
||||||
|
from . import markdown as markdown
|
||||||
|
from . import moment as moment
|
||||||
|
from . import plotly as plotly
|
||||||
|
from . import radix as radix
|
||||||
|
from . import react_player as react_player
|
||||||
|
from . import recharts as recharts
|
||||||
|
from . import sonner as sonner
|
||||||
|
from . import suneditor as suneditor
|
||||||
|
|
||||||
|
from .component import Component as Component
|
||||||
|
from .component import NoSSRComponent as NoSSRComponent
|
||||||
|
from .next import NextLink as NextLink
|
||||||
|
from .next import next_link as next_link
|
||||||
|
from reflex.utils import lazy_loader
|
@ -1,12 +1,28 @@
|
|||||||
"""Base components."""
|
"""Base components."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .body import Body
|
from reflex.utils import lazy_loader
|
||||||
from .document import DocumentHead, Html, Main, NextScript
|
|
||||||
from .fragment import Fragment
|
|
||||||
from .head import Head
|
|
||||||
from .link import RawLink, ScriptTag
|
|
||||||
from .meta import Description, Image, Meta, Title
|
|
||||||
from .script import Script
|
|
||||||
|
|
||||||
fragment = Fragment.create
|
_SUBMODULES: set[str] = {"app_wrap", "bare"}
|
||||||
script = Script.create
|
|
||||||
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
"body": ["Body"],
|
||||||
|
"document": ["DocumentHead", "Html", "Main", "NextScript"],
|
||||||
|
"fragment": [
|
||||||
|
"Fragment",
|
||||||
|
"fragment",
|
||||||
|
],
|
||||||
|
"head": [
|
||||||
|
"head",
|
||||||
|
"Head",
|
||||||
|
],
|
||||||
|
"link": ["RawLink", "ScriptTag"],
|
||||||
|
"meta": ["Description", "Image", "Meta", "Title"],
|
||||||
|
"script": ["Script", "script"],
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
26
reflex/components/base/__init__.pyi
Normal file
26
reflex/components/base/__init__.pyi
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
"""Stub file for reflex/components/base/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import app_wrap as app_wrap
|
||||||
|
from . import bare as bare
|
||||||
|
|
||||||
|
from .body import Body as Body
|
||||||
|
from .document import DocumentHead as DocumentHead
|
||||||
|
from .document import Html as Html
|
||||||
|
from .document import Main as Main
|
||||||
|
from .document import NextScript as NextScript
|
||||||
|
from .fragment import Fragment as Fragment
|
||||||
|
from .fragment import fragment as fragment
|
||||||
|
from .head import head as head
|
||||||
|
from .head import Head as Head
|
||||||
|
from .link import RawLink as RawLink
|
||||||
|
from .link import ScriptTag as ScriptTag
|
||||||
|
from .meta import Description as Description
|
||||||
|
from .meta import Image as Image
|
||||||
|
from .meta import Meta as Meta
|
||||||
|
from .meta import Title as Title
|
||||||
|
from .script import Script as Script
|
||||||
|
from .script import script as script
|
||||||
|
from reflex.utils import lazy_loader
|
@ -7,3 +7,6 @@ class Fragment(Component):
|
|||||||
|
|
||||||
library = "react"
|
library = "react"
|
||||||
tag = "Fragment"
|
tag = "Fragment"
|
||||||
|
|
||||||
|
|
||||||
|
fragment = Fragment.create
|
||||||
|
@ -84,3 +84,5 @@ class Fragment(Component):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
fragment = Fragment.create
|
||||||
|
@ -15,3 +15,6 @@ class Head(NextHeadLib, MemoizationLeaf):
|
|||||||
tag = "NextHead"
|
tag = "NextHead"
|
||||||
|
|
||||||
is_default = True
|
is_default = True
|
||||||
|
|
||||||
|
|
||||||
|
head = Head.create
|
||||||
|
@ -160,3 +160,5 @@ class Head(NextHeadLib, MemoizationLeaf):
|
|||||||
The memoization leaf
|
The memoization leaf
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
head = Head.create
|
||||||
|
@ -70,3 +70,6 @@ class Script(Component):
|
|||||||
"on_ready": lambda: [],
|
"on_ready": lambda: [],
|
||||||
"on_error": lambda: [],
|
"on_error": lambda: [],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
script = Script.create
|
||||||
|
@ -113,3 +113,5 @@ class Script(Component):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
|
def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
|
||||||
|
|
||||||
|
script = Script.create
|
||||||
|
@ -1,40 +1,54 @@
|
|||||||
"""Core Reflex components."""
|
"""Core Reflex components."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import layout as layout
|
from reflex.utils import lazy_loader
|
||||||
from .banner import (
|
|
||||||
ConnectionBanner,
|
|
||||||
ConnectionModal,
|
|
||||||
ConnectionPulser,
|
|
||||||
ConnectionToaster,
|
|
||||||
)
|
|
||||||
from .colors import color
|
|
||||||
from .cond import Cond, color_mode_cond, cond
|
|
||||||
from .debounce import DebounceInput
|
|
||||||
from .foreach import Foreach
|
|
||||||
from .html import Html
|
|
||||||
from .match import Match
|
|
||||||
from .responsive import (
|
|
||||||
desktop_only,
|
|
||||||
mobile_and_tablet,
|
|
||||||
mobile_only,
|
|
||||||
tablet_and_desktop,
|
|
||||||
tablet_only,
|
|
||||||
)
|
|
||||||
from .upload import (
|
|
||||||
UploadNamespace,
|
|
||||||
cancel_upload,
|
|
||||||
clear_selected_files,
|
|
||||||
get_upload_dir,
|
|
||||||
get_upload_url,
|
|
||||||
selected_files,
|
|
||||||
)
|
|
||||||
|
|
||||||
connection_banner = ConnectionBanner.create
|
_SUBMODULES: set[str] = {"layout"}
|
||||||
connection_modal = ConnectionModal.create
|
|
||||||
connection_toaster = ConnectionToaster.create
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
connection_pulser = ConnectionPulser.create
|
"banner": [
|
||||||
debounce_input = DebounceInput.create
|
"ConnectionBanner",
|
||||||
foreach = Foreach.create
|
"ConnectionModal",
|
||||||
html = Html.create
|
"ConnectionPulser",
|
||||||
match = Match.create
|
"ConnectionToaster",
|
||||||
upload = UploadNamespace()
|
"connection_banner",
|
||||||
|
"connection_modal",
|
||||||
|
"connection_toaster",
|
||||||
|
"connection_pulser",
|
||||||
|
],
|
||||||
|
"colors": [
|
||||||
|
"color",
|
||||||
|
],
|
||||||
|
"cond": ["Cond", "color_mode_cond", "cond"],
|
||||||
|
"debounce": ["DebounceInput", "debounce_input"],
|
||||||
|
"foreach": [
|
||||||
|
"foreach",
|
||||||
|
"Foreach",
|
||||||
|
],
|
||||||
|
"html": ["html", "Html"],
|
||||||
|
"match": [
|
||||||
|
"match",
|
||||||
|
"Match",
|
||||||
|
],
|
||||||
|
"responsive": [
|
||||||
|
"desktop_only",
|
||||||
|
"mobile_and_tablet",
|
||||||
|
"mobile_only",
|
||||||
|
"tablet_and_desktop",
|
||||||
|
"tablet_only",
|
||||||
|
],
|
||||||
|
"upload": [
|
||||||
|
"upload",
|
||||||
|
"cancel_upload",
|
||||||
|
"clear_selected_files",
|
||||||
|
"get_upload_dir",
|
||||||
|
"get_upload_url",
|
||||||
|
"selected_files",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
39
reflex/components/core/__init__.pyi
Normal file
39
reflex/components/core/__init__.pyi
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
"""Stub file for reflex/components/core/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import layout as layout
|
||||||
|
|
||||||
|
from .banner import ConnectionBanner as ConnectionBanner
|
||||||
|
from .banner import ConnectionModal as ConnectionModal
|
||||||
|
from .banner import ConnectionPulser as ConnectionPulser
|
||||||
|
from .banner import ConnectionToaster as ConnectionToaster
|
||||||
|
from .banner import connection_banner as connection_banner
|
||||||
|
from .banner import connection_modal as connection_modal
|
||||||
|
from .banner import connection_toaster as connection_toaster
|
||||||
|
from .banner import connection_pulser as connection_pulser
|
||||||
|
from .colors import color as color
|
||||||
|
from .cond import Cond as Cond
|
||||||
|
from .cond import color_mode_cond as color_mode_cond
|
||||||
|
from .cond import cond as cond
|
||||||
|
from .debounce import DebounceInput as DebounceInput
|
||||||
|
from .debounce import debounce_input as debounce_input
|
||||||
|
from .foreach import foreach as foreach
|
||||||
|
from .foreach import Foreach as Foreach
|
||||||
|
from .html import html as html
|
||||||
|
from .html import Html as Html
|
||||||
|
from .match import match as match
|
||||||
|
from .match import Match as Match
|
||||||
|
from .responsive import desktop_only as desktop_only
|
||||||
|
from .responsive import mobile_and_tablet as mobile_and_tablet
|
||||||
|
from .responsive import mobile_only as mobile_only
|
||||||
|
from .responsive import tablet_and_desktop as tablet_and_desktop
|
||||||
|
from .responsive import tablet_only as tablet_only
|
||||||
|
from .upload import upload as upload
|
||||||
|
from .upload import cancel_upload as cancel_upload
|
||||||
|
from .upload import clear_selected_files as clear_selected_files
|
||||||
|
from .upload import get_upload_dir as get_upload_dir
|
||||||
|
from .upload import get_upload_url as get_upload_url
|
||||||
|
from .upload import selected_files as selected_files
|
||||||
|
from reflex.utils import lazy_loader
|
@ -14,7 +14,7 @@ from reflex.components.radix.themes.components.dialog import (
|
|||||||
DialogRoot,
|
DialogRoot,
|
||||||
DialogTitle,
|
DialogTitle,
|
||||||
)
|
)
|
||||||
from reflex.components.radix.themes.layout import Flex
|
from reflex.components.radix.themes.layout.flex import Flex
|
||||||
from reflex.components.radix.themes.typography.text import Text
|
from reflex.components.radix.themes.typography.text import Text
|
||||||
from reflex.components.sonner.toast import Toaster, ToastProps
|
from reflex.components.sonner.toast import Toaster, ToastProps
|
||||||
from reflex.constants import Dirs, Hooks, Imports
|
from reflex.constants import Dirs, Hooks, Imports
|
||||||
@ -278,3 +278,9 @@ class ConnectionPulser(Div):
|
|||||||
width="100vw",
|
width="100vw",
|
||||||
height="0",
|
height="0",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
connection_banner = ConnectionBanner.create
|
||||||
|
connection_modal = ConnectionModal.create
|
||||||
|
connection_toaster = ConnectionToaster.create
|
||||||
|
connection_pulser = ConnectionPulser.create
|
||||||
|
@ -18,7 +18,7 @@ from reflex.components.radix.themes.components.dialog import (
|
|||||||
DialogRoot,
|
DialogRoot,
|
||||||
DialogTitle,
|
DialogTitle,
|
||||||
)
|
)
|
||||||
from reflex.components.radix.themes.layout import Flex
|
from reflex.components.radix.themes.layout.flex import Flex
|
||||||
from reflex.components.radix.themes.typography.text import Text
|
from reflex.components.radix.themes.typography.text import Text
|
||||||
from reflex.components.sonner.toast import Toaster, ToastProps
|
from reflex.components.sonner.toast import Toaster, ToastProps
|
||||||
from reflex.constants import Dirs, Hooks, Imports
|
from reflex.constants import Dirs, Hooks, Imports
|
||||||
@ -574,3 +574,8 @@ class ConnectionPulser(Div):
|
|||||||
The connection pulser component.
|
The connection pulser component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
connection_banner = ConnectionBanner.create
|
||||||
|
connection_modal = ConnectionModal.create
|
||||||
|
connection_toaster = ConnectionToaster.create
|
||||||
|
connection_pulser = ConnectionPulser.create
|
||||||
|
@ -136,3 +136,6 @@ class DebounceInput(Component):
|
|||||||
|
|
||||||
def _render(self):
|
def _render(self):
|
||||||
return super()._render().remove_props("ref")
|
return super()._render().remove_props("ref")
|
||||||
|
|
||||||
|
|
||||||
|
debounce_input = DebounceInput.create
|
||||||
|
@ -106,3 +106,5 @@ class DebounceInput(Component):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
def get_event_triggers(self) -> dict[str, Any]: ...
|
def get_event_triggers(self) -> dict[str, Any]: ...
|
||||||
|
|
||||||
|
debounce_input = DebounceInput.create
|
||||||
|
@ -139,3 +139,6 @@ class Foreach(Component):
|
|||||||
arg_index=tag.get_index_var_arg(),
|
arg_index=tag.get_index_var_arg(),
|
||||||
iterable_type=tag.iterable._var_type.mro()[0].__name__,
|
iterable_type=tag.iterable._var_type.mro()[0].__name__,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
foreach = Foreach.create
|
||||||
|
@ -43,3 +43,6 @@ class Html(Div):
|
|||||||
|
|
||||||
# Create the component.
|
# Create the component.
|
||||||
return super().create(**props)
|
return super().create(**props)
|
||||||
|
|
||||||
|
|
||||||
|
html = Html.create
|
||||||
|
@ -149,3 +149,5 @@ class Html(Div):
|
|||||||
ValueError: If children are not provided or more than one child is provided.
|
ValueError: If children are not provided or more than one child is provided.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
html = Html.create
|
||||||
|
@ -273,3 +273,6 @@ class Match(MemoizationLeaf):
|
|||||||
super()._get_imports(),
|
super()._get_imports(),
|
||||||
getattr(self.cond._var_data, "imports", {}),
|
getattr(self.cond._var_data, "imports", {}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
match = Match.create
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
"""Responsive components."""
|
"""Responsive components."""
|
||||||
|
|
||||||
from reflex.components.radix.themes.layout import Box
|
from reflex.components.radix.themes.layout.box import Box
|
||||||
|
|
||||||
|
|
||||||
# Add responsive styles shortcuts.
|
# Add responsive styles shortcuts.
|
||||||
|
@ -7,9 +7,9 @@ from pathlib import Path
|
|||||||
from typing import Any, Callable, ClassVar, Dict, List, Optional, Union
|
from typing import Any, Callable, ClassVar, Dict, List, Optional, Union
|
||||||
|
|
||||||
from reflex import constants
|
from reflex import constants
|
||||||
from reflex.components.chakra.forms.input import Input
|
|
||||||
from reflex.components.chakra.layout.box import Box
|
|
||||||
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
||||||
|
from reflex.components.el.elements.forms import Input
|
||||||
|
from reflex.components.radix.themes.layout.box import Box
|
||||||
from reflex.constants import Dirs
|
from reflex.constants import Dirs
|
||||||
from reflex.event import (
|
from reflex.event import (
|
||||||
CallableEventSpec,
|
CallableEventSpec,
|
||||||
@ -339,3 +339,6 @@ class UploadNamespace(ComponentNamespace):
|
|||||||
|
|
||||||
root = Upload.create
|
root = Upload.create
|
||||||
__call__ = StyledUpload.create
|
__call__ = StyledUpload.create
|
||||||
|
|
||||||
|
|
||||||
|
upload = UploadNamespace()
|
||||||
|
@ -11,9 +11,9 @@ import os
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Callable, ClassVar, Dict, List, Optional, Union
|
from typing import Any, Callable, ClassVar, Dict, List, Optional, Union
|
||||||
from reflex import constants
|
from reflex import constants
|
||||||
from reflex.components.chakra.forms.input import Input
|
|
||||||
from reflex.components.chakra.layout.box import Box
|
|
||||||
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
||||||
|
from reflex.components.el.elements.forms import Input
|
||||||
|
from reflex.components.radix.themes.layout.box import Box
|
||||||
from reflex.constants import Dirs
|
from reflex.constants import Dirs
|
||||||
from reflex.event import (
|
from reflex.event import (
|
||||||
CallableEventSpec,
|
CallableEventSpec,
|
||||||
@ -417,3 +417,5 @@ class UploadNamespace(ComponentNamespace):
|
|||||||
The styled upload component.
|
The styled upload component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
upload = UploadNamespace()
|
||||||
|
@ -1,11 +1,20 @@
|
|||||||
"""Data grid components."""
|
"""Data grid components."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .code import CodeBlock
|
from reflex.utils import lazy_loader
|
||||||
from .code import LiteralCodeBlockTheme as LiteralCodeBlockTheme
|
|
||||||
from .code import LiteralCodeLanguage as LiteralCodeLanguage
|
|
||||||
from .dataeditor import DataEditor, DataEditorTheme
|
|
||||||
from .logo import logo
|
|
||||||
|
|
||||||
code_block = CodeBlock.create
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
data_editor = DataEditor.create
|
"code": [
|
||||||
data_editor_theme = DataEditorTheme
|
"CodeBlock",
|
||||||
|
"code_block",
|
||||||
|
"LiteralCodeBlockTheme",
|
||||||
|
"LiteralCodeLanguage",
|
||||||
|
],
|
||||||
|
"dataeditor": ["data_editor", "data_editor_theme", "DataEditorTheme"],
|
||||||
|
"logo": ["logo"],
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
14
reflex/components/datadisplay/__init__.pyi
Normal file
14
reflex/components/datadisplay/__init__.pyi
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
"""Stub file for reflex/components/datadisplay/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from .code import CodeBlock as CodeBlock
|
||||||
|
from .code import code_block as code_block
|
||||||
|
from .code import LiteralCodeBlockTheme as LiteralCodeBlockTheme
|
||||||
|
from .code import LiteralCodeLanguage as LiteralCodeLanguage
|
||||||
|
from .dataeditor import data_editor as data_editor
|
||||||
|
from .dataeditor import data_editor_theme as data_editor_theme
|
||||||
|
from .dataeditor import DataEditorTheme as DataEditorTheme
|
||||||
|
from .logo import logo as logo
|
||||||
|
from reflex.utils import lazy_loader
|
@ -523,3 +523,6 @@ class CodeBlock(Component):
|
|||||||
if theme in ["light", "dark"]:
|
if theme in ["light", "dark"]:
|
||||||
return f"one-{theme}"
|
return f"one-{theme}"
|
||||||
return theme
|
return theme
|
||||||
|
|
||||||
|
|
||||||
|
code_block = CodeBlock.create
|
||||||
|
@ -1114,3 +1114,5 @@ class CodeBlock(Component):
|
|||||||
def add_style(self): ...
|
def add_style(self): ...
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def convert_theme_name(theme) -> str: ...
|
def convert_theme_name(theme) -> str: ...
|
||||||
|
|
||||||
|
code_block = CodeBlock.create
|
||||||
|
@ -410,3 +410,7 @@ def serialize_dataeditortheme(theme: DataEditorTheme):
|
|||||||
return format.json_dumps(
|
return format.json_dumps(
|
||||||
{format.to_camel_case(k): v for k, v in theme.__dict__.items() if v is not None}
|
{format.to_camel_case(k): v for k, v in theme.__dict__.items() if v is not None}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
data_editor = DataEditor.create
|
||||||
|
data_editor_theme = DataEditorTheme
|
||||||
|
@ -236,3 +236,6 @@ class DataEditor(NoSSRComponent):
|
|||||||
|
|
||||||
@serializer
|
@serializer
|
||||||
def serialize_dataeditortheme(theme: DataEditorTheme): ...
|
def serialize_dataeditortheme(theme: DataEditorTheme): ...
|
||||||
|
|
||||||
|
data_editor = DataEditor.create
|
||||||
|
data_editor_theme = DataEditorTheme
|
||||||
|
@ -1,3 +1,17 @@
|
|||||||
"""The el package exports raw HTML elements."""
|
"""The el package exports raw HTML elements."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .elements import *
|
from reflex.utils import lazy_loader
|
||||||
|
|
||||||
|
from . import elements
|
||||||
|
|
||||||
|
_SUBMODULES: set[str] = {"elements"}
|
||||||
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
f"elements.{k}": v for k, v in elements._MAPPING.items()
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
227
reflex/components/el/__init__.pyi
Normal file
227
reflex/components/el/__init__.pyi
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
"""Stub file for reflex/components/el/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import elements as elements
|
||||||
|
|
||||||
|
from .elements.forms import button as button
|
||||||
|
from .elements.forms import fieldset as fieldset
|
||||||
|
from .elements.forms import form as form
|
||||||
|
from .elements.forms import input as input
|
||||||
|
from .elements.forms import label as label
|
||||||
|
from .elements.forms import legend as legend
|
||||||
|
from .elements.forms import meter as meter
|
||||||
|
from .elements.forms import optgroup as optgroup
|
||||||
|
from .elements.forms import option as option
|
||||||
|
from .elements.forms import output as output
|
||||||
|
from .elements.forms import progress as progress
|
||||||
|
from .elements.forms import select as select
|
||||||
|
from .elements.forms import textarea as textarea
|
||||||
|
from .elements.forms import Button as Button
|
||||||
|
from .elements.forms import Fieldset as Fieldset
|
||||||
|
from .elements.forms import Form as Form
|
||||||
|
from .elements.forms import Input as Input
|
||||||
|
from .elements.forms import Label as Label
|
||||||
|
from .elements.forms import Legend as Legend
|
||||||
|
from .elements.forms import Meter as Meter
|
||||||
|
from .elements.forms import Optgroup as Optgroup
|
||||||
|
from .elements.forms import Option as Option
|
||||||
|
from .elements.forms import Output as Output
|
||||||
|
from .elements.forms import Progress as Progress
|
||||||
|
from .elements.forms import Select as Select
|
||||||
|
from .elements.forms import Textarea as Textarea
|
||||||
|
from .elements.inline import a as a
|
||||||
|
from .elements.inline import abbr as abbr
|
||||||
|
from .elements.inline import b as b
|
||||||
|
from .elements.inline import bdi as bdi
|
||||||
|
from .elements.inline import bdo as bdo
|
||||||
|
from .elements.inline import br as br
|
||||||
|
from .elements.inline import cite as cite
|
||||||
|
from .elements.inline import code as code
|
||||||
|
from .elements.inline import data as data
|
||||||
|
from .elements.inline import dfn as dfn
|
||||||
|
from .elements.inline import em as em
|
||||||
|
from .elements.inline import i as i
|
||||||
|
from .elements.inline import kbd as kbd
|
||||||
|
from .elements.inline import mark as mark
|
||||||
|
from .elements.inline import q as q
|
||||||
|
from .elements.inline import rp as rp
|
||||||
|
from .elements.inline import rt as rt
|
||||||
|
from .elements.inline import ruby as ruby
|
||||||
|
from .elements.inline import s as s
|
||||||
|
from .elements.inline import samp as samp
|
||||||
|
from .elements.inline import small as small
|
||||||
|
from .elements.inline import span as span
|
||||||
|
from .elements.inline import strong as strong
|
||||||
|
from .elements.inline import sub as sub
|
||||||
|
from .elements.inline import sup as sup
|
||||||
|
from .elements.inline import time as time
|
||||||
|
from .elements.inline import u as u
|
||||||
|
from .elements.inline import wbr as wbr
|
||||||
|
from .elements.inline import A as A
|
||||||
|
from .elements.inline import Abbr as Abbr
|
||||||
|
from .elements.inline import B as B
|
||||||
|
from .elements.inline import Bdi as Bdi
|
||||||
|
from .elements.inline import Bdo as Bdo
|
||||||
|
from .elements.inline import Br as Br
|
||||||
|
from .elements.inline import Cite as Cite
|
||||||
|
from .elements.inline import Code as Code
|
||||||
|
from .elements.inline import Data as Data
|
||||||
|
from .elements.inline import Dfn as Dfn
|
||||||
|
from .elements.inline import Em as Em
|
||||||
|
from .elements.inline import I as I
|
||||||
|
from .elements.inline import Kbd as Kbd
|
||||||
|
from .elements.inline import Mark as Mark
|
||||||
|
from .elements.inline import Q as Q
|
||||||
|
from .elements.inline import Rp as Rp
|
||||||
|
from .elements.inline import Rt as Rt
|
||||||
|
from .elements.inline import Ruby as Ruby
|
||||||
|
from .elements.inline import S as S
|
||||||
|
from .elements.inline import Samp as Samp
|
||||||
|
from .elements.inline import Small as Small
|
||||||
|
from .elements.inline import Span as Span
|
||||||
|
from .elements.inline import Strong as Strong
|
||||||
|
from .elements.inline import Sub as Sub
|
||||||
|
from .elements.inline import Sup as Sup
|
||||||
|
from .elements.inline import Time as Time
|
||||||
|
from .elements.inline import U as U
|
||||||
|
from .elements.inline import Wbr as Wbr
|
||||||
|
from .elements.media import area as area
|
||||||
|
from .elements.media import audio as audio
|
||||||
|
from .elements.media import img as img
|
||||||
|
from .elements.media import image as image
|
||||||
|
from .elements.media import map as map
|
||||||
|
from .elements.media import track as track
|
||||||
|
from .elements.media import video as video
|
||||||
|
from .elements.media import embed as embed
|
||||||
|
from .elements.media import iframe as iframe
|
||||||
|
from .elements.media import object as object
|
||||||
|
from .elements.media import picture as picture
|
||||||
|
from .elements.media import portal as portal
|
||||||
|
from .elements.media import source as source
|
||||||
|
from .elements.media import svg as svg
|
||||||
|
from .elements.media import path as path
|
||||||
|
from .elements.media import Area as Area
|
||||||
|
from .elements.media import Audio as Audio
|
||||||
|
from .elements.media import Img as Img
|
||||||
|
from .elements.media import Map as Map
|
||||||
|
from .elements.media import Track as Track
|
||||||
|
from .elements.media import Video as Video
|
||||||
|
from .elements.media import Embed as Embed
|
||||||
|
from .elements.media import Iframe as Iframe
|
||||||
|
from .elements.media import Object as Object
|
||||||
|
from .elements.media import Picture as Picture
|
||||||
|
from .elements.media import Portal as Portal
|
||||||
|
from .elements.media import Source as Source
|
||||||
|
from .elements.media import Svg as Svg
|
||||||
|
from .elements.media import Path as Path
|
||||||
|
from .elements.metadata import base as base
|
||||||
|
from .elements.metadata import head as head
|
||||||
|
from .elements.metadata import link as link
|
||||||
|
from .elements.metadata import meta as meta
|
||||||
|
from .elements.metadata import title as title
|
||||||
|
from .elements.metadata import Base as Base
|
||||||
|
from .elements.metadata import Head as Head
|
||||||
|
from .elements.metadata import Link as Link
|
||||||
|
from .elements.metadata import Meta as Meta
|
||||||
|
from .elements.metadata import Title as Title
|
||||||
|
from .elements.other import details as details
|
||||||
|
from .elements.other import dialog as dialog
|
||||||
|
from .elements.other import summary as summary
|
||||||
|
from .elements.other import slot as slot
|
||||||
|
from .elements.other import template as template
|
||||||
|
from .elements.other import math as math
|
||||||
|
from .elements.other import html as html
|
||||||
|
from .elements.other import Details as Details
|
||||||
|
from .elements.other import Dialog as Dialog
|
||||||
|
from .elements.other import Summary as Summary
|
||||||
|
from .elements.other import Slot as Slot
|
||||||
|
from .elements.other import Template as Template
|
||||||
|
from .elements.other import Math as Math
|
||||||
|
from .elements.other import Html as Html
|
||||||
|
from .elements.scripts import canvas as canvas
|
||||||
|
from .elements.scripts import noscript as noscript
|
||||||
|
from .elements.scripts import script as script
|
||||||
|
from .elements.scripts import Canvas as Canvas
|
||||||
|
from .elements.scripts import Noscript as Noscript
|
||||||
|
from .elements.scripts import Script as Script
|
||||||
|
from .elements.sectioning import address as address
|
||||||
|
from .elements.sectioning import article as article
|
||||||
|
from .elements.sectioning import aside as aside
|
||||||
|
from .elements.sectioning import body as body
|
||||||
|
from .elements.sectioning import header as header
|
||||||
|
from .elements.sectioning import footer as footer
|
||||||
|
from .elements.sectioning import h1 as h1
|
||||||
|
from .elements.sectioning import h2 as h2
|
||||||
|
from .elements.sectioning import h3 as h3
|
||||||
|
from .elements.sectioning import h4 as h4
|
||||||
|
from .elements.sectioning import h5 as h5
|
||||||
|
from .elements.sectioning import h6 as h6
|
||||||
|
from .elements.sectioning import main as main
|
||||||
|
from .elements.sectioning import nav as nav
|
||||||
|
from .elements.sectioning import section as section
|
||||||
|
from .elements.sectioning import Address as Address
|
||||||
|
from .elements.sectioning import Article as Article
|
||||||
|
from .elements.sectioning import Aside as Aside
|
||||||
|
from .elements.sectioning import Body as Body
|
||||||
|
from .elements.sectioning import Header as Header
|
||||||
|
from .elements.sectioning import Footer as Footer
|
||||||
|
from .elements.sectioning import H1 as H1
|
||||||
|
from .elements.sectioning import H2 as H2
|
||||||
|
from .elements.sectioning import H3 as H3
|
||||||
|
from .elements.sectioning import H4 as H4
|
||||||
|
from .elements.sectioning import H5 as H5
|
||||||
|
from .elements.sectioning import H6 as H6
|
||||||
|
from .elements.sectioning import Main as Main
|
||||||
|
from .elements.sectioning import Nav as Nav
|
||||||
|
from .elements.sectioning import Section as Section
|
||||||
|
from .elements.tables import caption as caption
|
||||||
|
from .elements.tables import col as col
|
||||||
|
from .elements.tables import colgroup as colgroup
|
||||||
|
from .elements.tables import table as table
|
||||||
|
from .elements.tables import td as td
|
||||||
|
from .elements.tables import tfoot as tfoot
|
||||||
|
from .elements.tables import th as th
|
||||||
|
from .elements.tables import thead as thead
|
||||||
|
from .elements.tables import tr as tr
|
||||||
|
from .elements.tables import Tbody as Tbody
|
||||||
|
from .elements.tables import Caption as Caption
|
||||||
|
from .elements.tables import Col as Col
|
||||||
|
from .elements.tables import Colgroup as Colgroup
|
||||||
|
from .elements.tables import Table as Table
|
||||||
|
from .elements.tables import Td as Td
|
||||||
|
from .elements.tables import Tfoot as Tfoot
|
||||||
|
from .elements.tables import Th as Th
|
||||||
|
from .elements.tables import Thead as Thead
|
||||||
|
from .elements.tables import Tr as Tr
|
||||||
|
from .elements.typography import blockquote as blockquote
|
||||||
|
from .elements.typography import dd as dd
|
||||||
|
from .elements.typography import div as div
|
||||||
|
from .elements.typography import dl as dl
|
||||||
|
from .elements.typography import dt as dt
|
||||||
|
from .elements.typography import figcaption as figcaption
|
||||||
|
from .elements.typography import hr as hr
|
||||||
|
from .elements.typography import ol as ol
|
||||||
|
from .elements.typography import li as li
|
||||||
|
from .elements.typography import p as p
|
||||||
|
from .elements.typography import pre as pre
|
||||||
|
from .elements.typography import ul as ul
|
||||||
|
from .elements.typography import ins as ins
|
||||||
|
from .elements.typography import del_ as del_
|
||||||
|
from .elements.typography import Del as Del
|
||||||
|
from .elements.typography import Blockquote as Blockquote
|
||||||
|
from .elements.typography import Dd as Dd
|
||||||
|
from .elements.typography import Div as Div
|
||||||
|
from .elements.typography import Dl as Dl
|
||||||
|
from .elements.typography import Dt as Dt
|
||||||
|
from .elements.typography import Figcaption as Figcaption
|
||||||
|
from .elements.typography import Hr as Hr
|
||||||
|
from .elements.typography import Ol as Ol
|
||||||
|
from .elements.typography import Li as Li
|
||||||
|
from .elements.typography import P as P
|
||||||
|
from .elements.typography import Pre as Pre
|
||||||
|
from .elements.typography import Ul as Ul
|
||||||
|
from .elements.typography import Ins as Ins
|
||||||
|
from reflex.utils import lazy_loader
|
||||||
|
from . import elements
|
@ -1,227 +1,136 @@
|
|||||||
"""Element classes."""
|
"""Element classes."""
|
||||||
from .forms import (
|
from __future__ import annotations
|
||||||
Button,
|
|
||||||
Fieldset,
|
from reflex.utils import lazy_loader
|
||||||
Form,
|
|
||||||
Input,
|
_MAPPING = {
|
||||||
Label,
|
"forms": [
|
||||||
Legend,
|
"button",
|
||||||
Meter,
|
"fieldset",
|
||||||
Optgroup,
|
"form",
|
||||||
Option,
|
"input",
|
||||||
Output,
|
"label",
|
||||||
Progress,
|
"legend",
|
||||||
Select,
|
"meter",
|
||||||
Textarea,
|
"optgroup",
|
||||||
|
"option",
|
||||||
|
"output",
|
||||||
|
"progress",
|
||||||
|
"select",
|
||||||
|
"textarea",
|
||||||
|
],
|
||||||
|
"inline": [
|
||||||
|
"a",
|
||||||
|
"abbr",
|
||||||
|
"b",
|
||||||
|
"bdi",
|
||||||
|
"bdo",
|
||||||
|
"br",
|
||||||
|
"cite",
|
||||||
|
"code",
|
||||||
|
"data",
|
||||||
|
"dfn",
|
||||||
|
"em",
|
||||||
|
"i",
|
||||||
|
"kbd",
|
||||||
|
"mark",
|
||||||
|
"q",
|
||||||
|
"rp",
|
||||||
|
"rt",
|
||||||
|
"ruby",
|
||||||
|
"s",
|
||||||
|
"samp",
|
||||||
|
"small",
|
||||||
|
"span",
|
||||||
|
"strong",
|
||||||
|
"sub",
|
||||||
|
"sup",
|
||||||
|
"time",
|
||||||
|
"u",
|
||||||
|
"wbr",
|
||||||
|
],
|
||||||
|
"media": [
|
||||||
|
"area",
|
||||||
|
"audio",
|
||||||
|
"img",
|
||||||
|
"image",
|
||||||
|
"map",
|
||||||
|
"track",
|
||||||
|
"video",
|
||||||
|
"embed",
|
||||||
|
"iframe",
|
||||||
|
"object",
|
||||||
|
"picture",
|
||||||
|
"portal",
|
||||||
|
"source",
|
||||||
|
"svg",
|
||||||
|
"path",
|
||||||
|
],
|
||||||
|
"metadata": [
|
||||||
|
"base",
|
||||||
|
"head",
|
||||||
|
"link",
|
||||||
|
"meta",
|
||||||
|
"title",
|
||||||
|
],
|
||||||
|
"other": ["details", "dialog", "summary", "slot", "template", "math", "html"],
|
||||||
|
"scripts": ["canvas", "noscript", "script"],
|
||||||
|
"sectioning": [
|
||||||
|
"address",
|
||||||
|
"article",
|
||||||
|
"aside",
|
||||||
|
"body",
|
||||||
|
"header",
|
||||||
|
"footer",
|
||||||
|
"h1",
|
||||||
|
"h2",
|
||||||
|
"h3",
|
||||||
|
"h4",
|
||||||
|
"h5",
|
||||||
|
"h6",
|
||||||
|
"main",
|
||||||
|
"nav",
|
||||||
|
"section",
|
||||||
|
],
|
||||||
|
"tables": [
|
||||||
|
"caption",
|
||||||
|
"col",
|
||||||
|
"colgroup",
|
||||||
|
"table",
|
||||||
|
"td",
|
||||||
|
"tfoot",
|
||||||
|
"th",
|
||||||
|
"thead",
|
||||||
|
"tr",
|
||||||
|
"Tbody",
|
||||||
|
],
|
||||||
|
"typography": [
|
||||||
|
"blockquote",
|
||||||
|
"dd",
|
||||||
|
"div",
|
||||||
|
"dl",
|
||||||
|
"dt",
|
||||||
|
"figcaption",
|
||||||
|
"hr",
|
||||||
|
"ol",
|
||||||
|
"li",
|
||||||
|
"p",
|
||||||
|
"pre",
|
||||||
|
"ul",
|
||||||
|
"ins",
|
||||||
|
"del_",
|
||||||
|
"Del",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
EXCLUDE = ["del_", "Del", "image"]
|
||||||
|
for _, v in _MAPPING.items():
|
||||||
|
v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
|
||||||
|
|
||||||
|
_SUBMOD_ATTRS: dict[str, list[str]] = _MAPPING
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
)
|
)
|
||||||
from .inline import (
|
|
||||||
A,
|
|
||||||
Abbr,
|
|
||||||
B,
|
|
||||||
Bdi,
|
|
||||||
Bdo,
|
|
||||||
Br,
|
|
||||||
Cite,
|
|
||||||
Code,
|
|
||||||
Data,
|
|
||||||
Dfn,
|
|
||||||
Em,
|
|
||||||
I,
|
|
||||||
Kbd,
|
|
||||||
Mark,
|
|
||||||
Q,
|
|
||||||
Rp,
|
|
||||||
Rt,
|
|
||||||
Ruby,
|
|
||||||
S,
|
|
||||||
Samp,
|
|
||||||
Small,
|
|
||||||
Span,
|
|
||||||
Strong,
|
|
||||||
Sub,
|
|
||||||
Sup,
|
|
||||||
Time,
|
|
||||||
U,
|
|
||||||
Wbr,
|
|
||||||
)
|
|
||||||
from .media import (
|
|
||||||
Area,
|
|
||||||
Audio,
|
|
||||||
Embed,
|
|
||||||
Iframe,
|
|
||||||
Img,
|
|
||||||
Map,
|
|
||||||
Object,
|
|
||||||
Path,
|
|
||||||
Picture,
|
|
||||||
Portal,
|
|
||||||
Source,
|
|
||||||
Svg,
|
|
||||||
Track,
|
|
||||||
Video,
|
|
||||||
)
|
|
||||||
from .metadata import Base, Head, Link, Meta, Title
|
|
||||||
from .other import Details, Dialog, Html, Math, Slot, Summary, Template
|
|
||||||
from .scripts import Canvas, Noscript, Script
|
|
||||||
from .sectioning import (
|
|
||||||
H1,
|
|
||||||
H2,
|
|
||||||
H3,
|
|
||||||
H4,
|
|
||||||
H5,
|
|
||||||
H6,
|
|
||||||
Address,
|
|
||||||
Article,
|
|
||||||
Aside,
|
|
||||||
Body,
|
|
||||||
Footer,
|
|
||||||
Header,
|
|
||||||
Main,
|
|
||||||
Nav,
|
|
||||||
Section,
|
|
||||||
)
|
|
||||||
from .tables import Caption, Col, Colgroup, Table, Tbody, Td, Tfoot, Th, Thead, Tr
|
|
||||||
from .typography import (
|
|
||||||
Blockquote,
|
|
||||||
Dd,
|
|
||||||
Del,
|
|
||||||
Div,
|
|
||||||
Dl,
|
|
||||||
Dt,
|
|
||||||
Figcaption,
|
|
||||||
Hr,
|
|
||||||
Ins,
|
|
||||||
Li,
|
|
||||||
Ol,
|
|
||||||
P,
|
|
||||||
Pre,
|
|
||||||
Ul,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Forms
|
|
||||||
button = Button.create
|
|
||||||
fieldset = Fieldset.create
|
|
||||||
form = Form.create
|
|
||||||
input = Input.create
|
|
||||||
label = Label.create
|
|
||||||
legend = Legend.create
|
|
||||||
meter = Meter.create
|
|
||||||
optgroup = Optgroup.create
|
|
||||||
option = Option.create
|
|
||||||
output = Output.create
|
|
||||||
progress = Progress.create
|
|
||||||
select = Select.create
|
|
||||||
textarea = Textarea.create
|
|
||||||
|
|
||||||
# Tables
|
|
||||||
caption = Caption.create
|
|
||||||
col = Col.create
|
|
||||||
colgroup = Colgroup.create
|
|
||||||
table = Table.create
|
|
||||||
tbody = Tbody.create
|
|
||||||
td = Td.create
|
|
||||||
tfoot = Tfoot.create
|
|
||||||
th = Th.create
|
|
||||||
thead = Thead.create
|
|
||||||
tr = Tr.create
|
|
||||||
|
|
||||||
# Media
|
|
||||||
area = Area.create
|
|
||||||
audio = Audio.create
|
|
||||||
img = Img.create
|
|
||||||
map = Map.create
|
|
||||||
track = Track.create
|
|
||||||
video = Video.create
|
|
||||||
embed = Embed.create
|
|
||||||
iframe = Iframe.create
|
|
||||||
object = Object.create
|
|
||||||
picture = Picture.create
|
|
||||||
portal = Portal.create
|
|
||||||
source = Source.create
|
|
||||||
svg = Svg.create
|
|
||||||
path = Path.create
|
|
||||||
|
|
||||||
# Sectioning
|
|
||||||
address = Address.create
|
|
||||||
article = Article.create
|
|
||||||
aside = Aside.create
|
|
||||||
body = Body.create
|
|
||||||
header = Header.create
|
|
||||||
footer = Footer.create
|
|
||||||
|
|
||||||
# Typography
|
|
||||||
blockquote = Blockquote.create
|
|
||||||
dd = Dd.create
|
|
||||||
div = Div.create
|
|
||||||
dl = Dl.create
|
|
||||||
dt = Dt.create
|
|
||||||
figcaption = Figcaption.create
|
|
||||||
hr = Hr.create
|
|
||||||
li = Li.create
|
|
||||||
ol = Ol.create
|
|
||||||
p = P.create
|
|
||||||
pre = Pre.create
|
|
||||||
ul = Ul.create
|
|
||||||
ins = Ins.create
|
|
||||||
del_ = Del.create # 'del' is a reserved keyword in Python
|
|
||||||
h1 = H1.create
|
|
||||||
h2 = H2.create
|
|
||||||
h3 = H3.create
|
|
||||||
h4 = H4.create
|
|
||||||
h5 = H5.create
|
|
||||||
h6 = H6.create
|
|
||||||
main = Main.create
|
|
||||||
nav = Nav.create
|
|
||||||
section = Section.create
|
|
||||||
|
|
||||||
# Inline
|
|
||||||
a = A.create
|
|
||||||
abbr = Abbr.create
|
|
||||||
b = B.create
|
|
||||||
bdi = Bdi.create
|
|
||||||
bdo = Bdo.create
|
|
||||||
br = Br.create
|
|
||||||
cite = Cite.create
|
|
||||||
code = Code.create
|
|
||||||
data = Data.create
|
|
||||||
dfn = Dfn.create
|
|
||||||
em = Em.create
|
|
||||||
i = I.create
|
|
||||||
kbd = Kbd.create
|
|
||||||
mark = Mark.create
|
|
||||||
q = Q.create
|
|
||||||
rp = Rp.create
|
|
||||||
rt = Rt.create
|
|
||||||
ruby = Ruby.create
|
|
||||||
s = S.create
|
|
||||||
samp = Samp.create
|
|
||||||
small = Small.create
|
|
||||||
span = Span.create
|
|
||||||
strong = Strong.create
|
|
||||||
sub = Sub.create
|
|
||||||
sup = Sup.create
|
|
||||||
time = Time.create
|
|
||||||
u = U.create
|
|
||||||
wbr = Wbr.create
|
|
||||||
|
|
||||||
# Metadata
|
|
||||||
base = Base.create
|
|
||||||
head = Head.create
|
|
||||||
link = Link.create
|
|
||||||
meta = Meta.create
|
|
||||||
title = Title.create
|
|
||||||
|
|
||||||
# Scripts
|
|
||||||
canvas = Canvas.create
|
|
||||||
noscript = Noscript.create
|
|
||||||
script = Script.create
|
|
||||||
|
|
||||||
# Other
|
|
||||||
details = Details.create
|
|
||||||
dialog = Dialog.create
|
|
||||||
summary = Summary.create
|
|
||||||
slot = Slot.create
|
|
||||||
template = Template.create
|
|
||||||
svg = Svg.create
|
|
||||||
math = Math.create
|
|
||||||
html = Html.create
|
|
||||||
|
341
reflex/components/el/elements/__init__.pyi
Normal file
341
reflex/components/el/elements/__init__.pyi
Normal file
@ -0,0 +1,341 @@
|
|||||||
|
"""Stub file for reflex/components/el/elements/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from .forms import button as button
|
||||||
|
from .forms import fieldset as fieldset
|
||||||
|
from .forms import form as form
|
||||||
|
from .forms import input as input
|
||||||
|
from .forms import label as label
|
||||||
|
from .forms import legend as legend
|
||||||
|
from .forms import meter as meter
|
||||||
|
from .forms import optgroup as optgroup
|
||||||
|
from .forms import option as option
|
||||||
|
from .forms import output as output
|
||||||
|
from .forms import progress as progress
|
||||||
|
from .forms import select as select
|
||||||
|
from .forms import textarea as textarea
|
||||||
|
from .forms import Button as Button
|
||||||
|
from .forms import Fieldset as Fieldset
|
||||||
|
from .forms import Form as Form
|
||||||
|
from .forms import Input as Input
|
||||||
|
from .forms import Label as Label
|
||||||
|
from .forms import Legend as Legend
|
||||||
|
from .forms import Meter as Meter
|
||||||
|
from .forms import Optgroup as Optgroup
|
||||||
|
from .forms import Option as Option
|
||||||
|
from .forms import Output as Output
|
||||||
|
from .forms import Progress as Progress
|
||||||
|
from .forms import Select as Select
|
||||||
|
from .forms import Textarea as Textarea
|
||||||
|
from .inline import a as a
|
||||||
|
from .inline import abbr as abbr
|
||||||
|
from .inline import b as b
|
||||||
|
from .inline import bdi as bdi
|
||||||
|
from .inline import bdo as bdo
|
||||||
|
from .inline import br as br
|
||||||
|
from .inline import cite as cite
|
||||||
|
from .inline import code as code
|
||||||
|
from .inline import data as data
|
||||||
|
from .inline import dfn as dfn
|
||||||
|
from .inline import em as em
|
||||||
|
from .inline import i as i
|
||||||
|
from .inline import kbd as kbd
|
||||||
|
from .inline import mark as mark
|
||||||
|
from .inline import q as q
|
||||||
|
from .inline import rp as rp
|
||||||
|
from .inline import rt as rt
|
||||||
|
from .inline import ruby as ruby
|
||||||
|
from .inline import s as s
|
||||||
|
from .inline import samp as samp
|
||||||
|
from .inline import small as small
|
||||||
|
from .inline import span as span
|
||||||
|
from .inline import strong as strong
|
||||||
|
from .inline import sub as sub
|
||||||
|
from .inline import sup as sup
|
||||||
|
from .inline import time as time
|
||||||
|
from .inline import u as u
|
||||||
|
from .inline import wbr as wbr
|
||||||
|
from .inline import A as A
|
||||||
|
from .inline import Abbr as Abbr
|
||||||
|
from .inline import B as B
|
||||||
|
from .inline import Bdi as Bdi
|
||||||
|
from .inline import Bdo as Bdo
|
||||||
|
from .inline import Br as Br
|
||||||
|
from .inline import Cite as Cite
|
||||||
|
from .inline import Code as Code
|
||||||
|
from .inline import Data as Data
|
||||||
|
from .inline import Dfn as Dfn
|
||||||
|
from .inline import Em as Em
|
||||||
|
from .inline import I as I
|
||||||
|
from .inline import Kbd as Kbd
|
||||||
|
from .inline import Mark as Mark
|
||||||
|
from .inline import Q as Q
|
||||||
|
from .inline import Rp as Rp
|
||||||
|
from .inline import Rt as Rt
|
||||||
|
from .inline import Ruby as Ruby
|
||||||
|
from .inline import S as S
|
||||||
|
from .inline import Samp as Samp
|
||||||
|
from .inline import Small as Small
|
||||||
|
from .inline import Span as Span
|
||||||
|
from .inline import Strong as Strong
|
||||||
|
from .inline import Sub as Sub
|
||||||
|
from .inline import Sup as Sup
|
||||||
|
from .inline import Time as Time
|
||||||
|
from .inline import U as U
|
||||||
|
from .inline import Wbr as Wbr
|
||||||
|
from .media import area as area
|
||||||
|
from .media import audio as audio
|
||||||
|
from .media import img as img
|
||||||
|
from .media import image as image
|
||||||
|
from .media import map as map
|
||||||
|
from .media import track as track
|
||||||
|
from .media import video as video
|
||||||
|
from .media import embed as embed
|
||||||
|
from .media import iframe as iframe
|
||||||
|
from .media import object as object
|
||||||
|
from .media import picture as picture
|
||||||
|
from .media import portal as portal
|
||||||
|
from .media import source as source
|
||||||
|
from .media import svg as svg
|
||||||
|
from .media import path as path
|
||||||
|
from .media import Area as Area
|
||||||
|
from .media import Audio as Audio
|
||||||
|
from .media import Img as Img
|
||||||
|
from .media import Map as Map
|
||||||
|
from .media import Track as Track
|
||||||
|
from .media import Video as Video
|
||||||
|
from .media import Embed as Embed
|
||||||
|
from .media import Iframe as Iframe
|
||||||
|
from .media import Object as Object
|
||||||
|
from .media import Picture as Picture
|
||||||
|
from .media import Portal as Portal
|
||||||
|
from .media import Source as Source
|
||||||
|
from .media import Svg as Svg
|
||||||
|
from .media import Path as Path
|
||||||
|
from .metadata import base as base
|
||||||
|
from .metadata import head as head
|
||||||
|
from .metadata import link as link
|
||||||
|
from .metadata import meta as meta
|
||||||
|
from .metadata import title as title
|
||||||
|
from .metadata import Base as Base
|
||||||
|
from .metadata import Head as Head
|
||||||
|
from .metadata import Link as Link
|
||||||
|
from .metadata import Meta as Meta
|
||||||
|
from .metadata import Title as Title
|
||||||
|
from .other import details as details
|
||||||
|
from .other import dialog as dialog
|
||||||
|
from .other import summary as summary
|
||||||
|
from .other import slot as slot
|
||||||
|
from .other import template as template
|
||||||
|
from .other import math as math
|
||||||
|
from .other import html as html
|
||||||
|
from .other import Details as Details
|
||||||
|
from .other import Dialog as Dialog
|
||||||
|
from .other import Summary as Summary
|
||||||
|
from .other import Slot as Slot
|
||||||
|
from .other import Template as Template
|
||||||
|
from .other import Math as Math
|
||||||
|
from .other import Html as Html
|
||||||
|
from .scripts import canvas as canvas
|
||||||
|
from .scripts import noscript as noscript
|
||||||
|
from .scripts import script as script
|
||||||
|
from .scripts import Canvas as Canvas
|
||||||
|
from .scripts import Noscript as Noscript
|
||||||
|
from .scripts import Script as Script
|
||||||
|
from .sectioning import address as address
|
||||||
|
from .sectioning import article as article
|
||||||
|
from .sectioning import aside as aside
|
||||||
|
from .sectioning import body as body
|
||||||
|
from .sectioning import header as header
|
||||||
|
from .sectioning import footer as footer
|
||||||
|
from .sectioning import h1 as h1
|
||||||
|
from .sectioning import h2 as h2
|
||||||
|
from .sectioning import h3 as h3
|
||||||
|
from .sectioning import h4 as h4
|
||||||
|
from .sectioning import h5 as h5
|
||||||
|
from .sectioning import h6 as h6
|
||||||
|
from .sectioning import main as main
|
||||||
|
from .sectioning import nav as nav
|
||||||
|
from .sectioning import section as section
|
||||||
|
from .sectioning import Address as Address
|
||||||
|
from .sectioning import Article as Article
|
||||||
|
from .sectioning import Aside as Aside
|
||||||
|
from .sectioning import Body as Body
|
||||||
|
from .sectioning import Header as Header
|
||||||
|
from .sectioning import Footer as Footer
|
||||||
|
from .sectioning import H1 as H1
|
||||||
|
from .sectioning import H2 as H2
|
||||||
|
from .sectioning import H3 as H3
|
||||||
|
from .sectioning import H4 as H4
|
||||||
|
from .sectioning import H5 as H5
|
||||||
|
from .sectioning import H6 as H6
|
||||||
|
from .sectioning import Main as Main
|
||||||
|
from .sectioning import Nav as Nav
|
||||||
|
from .sectioning import Section as Section
|
||||||
|
from .tables import caption as caption
|
||||||
|
from .tables import col as col
|
||||||
|
from .tables import colgroup as colgroup
|
||||||
|
from .tables import table as table
|
||||||
|
from .tables import td as td
|
||||||
|
from .tables import tfoot as tfoot
|
||||||
|
from .tables import th as th
|
||||||
|
from .tables import thead as thead
|
||||||
|
from .tables import tr as tr
|
||||||
|
from .tables import Tbody as Tbody
|
||||||
|
from .tables import Caption as Caption
|
||||||
|
from .tables import Col as Col
|
||||||
|
from .tables import Colgroup as Colgroup
|
||||||
|
from .tables import Table as Table
|
||||||
|
from .tables import Td as Td
|
||||||
|
from .tables import Tfoot as Tfoot
|
||||||
|
from .tables import Th as Th
|
||||||
|
from .tables import Thead as Thead
|
||||||
|
from .tables import Tr as Tr
|
||||||
|
from .typography import blockquote as blockquote
|
||||||
|
from .typography import dd as dd
|
||||||
|
from .typography import div as div
|
||||||
|
from .typography import dl as dl
|
||||||
|
from .typography import dt as dt
|
||||||
|
from .typography import figcaption as figcaption
|
||||||
|
from .typography import hr as hr
|
||||||
|
from .typography import ol as ol
|
||||||
|
from .typography import li as li
|
||||||
|
from .typography import p as p
|
||||||
|
from .typography import pre as pre
|
||||||
|
from .typography import ul as ul
|
||||||
|
from .typography import ins as ins
|
||||||
|
from .typography import del_ as del_
|
||||||
|
from .typography import Del as Del
|
||||||
|
from .typography import Blockquote as Blockquote
|
||||||
|
from .typography import Dd as Dd
|
||||||
|
from .typography import Div as Div
|
||||||
|
from .typography import Dl as Dl
|
||||||
|
from .typography import Dt as Dt
|
||||||
|
from .typography import Figcaption as Figcaption
|
||||||
|
from .typography import Hr as Hr
|
||||||
|
from .typography import Ol as Ol
|
||||||
|
from .typography import Li as Li
|
||||||
|
from .typography import P as P
|
||||||
|
from .typography import Pre as Pre
|
||||||
|
from .typography import Ul as Ul
|
||||||
|
from .typography import Ins as Ins
|
||||||
|
from reflex.utils import lazy_loader
|
||||||
|
|
||||||
|
_MAPPING = {
|
||||||
|
"forms": [
|
||||||
|
"button",
|
||||||
|
"fieldset",
|
||||||
|
"form",
|
||||||
|
"input",
|
||||||
|
"label",
|
||||||
|
"legend",
|
||||||
|
"meter",
|
||||||
|
"optgroup",
|
||||||
|
"option",
|
||||||
|
"output",
|
||||||
|
"progress",
|
||||||
|
"select",
|
||||||
|
"textarea",
|
||||||
|
],
|
||||||
|
"inline": [
|
||||||
|
"a",
|
||||||
|
"abbr",
|
||||||
|
"b",
|
||||||
|
"bdi",
|
||||||
|
"bdo",
|
||||||
|
"br",
|
||||||
|
"cite",
|
||||||
|
"code",
|
||||||
|
"data",
|
||||||
|
"dfn",
|
||||||
|
"em",
|
||||||
|
"i",
|
||||||
|
"kbd",
|
||||||
|
"mark",
|
||||||
|
"q",
|
||||||
|
"rp",
|
||||||
|
"rt",
|
||||||
|
"ruby",
|
||||||
|
"s",
|
||||||
|
"samp",
|
||||||
|
"small",
|
||||||
|
"span",
|
||||||
|
"strong",
|
||||||
|
"sub",
|
||||||
|
"sup",
|
||||||
|
"time",
|
||||||
|
"u",
|
||||||
|
"wbr",
|
||||||
|
],
|
||||||
|
"media": [
|
||||||
|
"area",
|
||||||
|
"audio",
|
||||||
|
"img",
|
||||||
|
"image",
|
||||||
|
"map",
|
||||||
|
"track",
|
||||||
|
"video",
|
||||||
|
"embed",
|
||||||
|
"iframe",
|
||||||
|
"object",
|
||||||
|
"picture",
|
||||||
|
"portal",
|
||||||
|
"source",
|
||||||
|
"svg",
|
||||||
|
"path",
|
||||||
|
],
|
||||||
|
"metadata": ["base", "head", "link", "meta", "title"],
|
||||||
|
"other": ["details", "dialog", "summary", "slot", "template", "math", "html"],
|
||||||
|
"scripts": ["canvas", "noscript", "script"],
|
||||||
|
"sectioning": [
|
||||||
|
"address",
|
||||||
|
"article",
|
||||||
|
"aside",
|
||||||
|
"body",
|
||||||
|
"header",
|
||||||
|
"footer",
|
||||||
|
"h1",
|
||||||
|
"h2",
|
||||||
|
"h3",
|
||||||
|
"h4",
|
||||||
|
"h5",
|
||||||
|
"h6",
|
||||||
|
"main",
|
||||||
|
"nav",
|
||||||
|
"section",
|
||||||
|
],
|
||||||
|
"tables": [
|
||||||
|
"caption",
|
||||||
|
"col",
|
||||||
|
"colgroup",
|
||||||
|
"table",
|
||||||
|
"td",
|
||||||
|
"tfoot",
|
||||||
|
"th",
|
||||||
|
"thead",
|
||||||
|
"tr",
|
||||||
|
"Tbody",
|
||||||
|
],
|
||||||
|
"typography": [
|
||||||
|
"blockquote",
|
||||||
|
"dd",
|
||||||
|
"div",
|
||||||
|
"dl",
|
||||||
|
"dt",
|
||||||
|
"figcaption",
|
||||||
|
"hr",
|
||||||
|
"ol",
|
||||||
|
"li",
|
||||||
|
"p",
|
||||||
|
"pre",
|
||||||
|
"ul",
|
||||||
|
"ins",
|
||||||
|
"del_",
|
||||||
|
"Del",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
EXCLUDE = ["del_", "Del", "image"]
|
||||||
|
for _, v in _MAPPING.items():
|
||||||
|
v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
|
@ -650,3 +650,18 @@ class Textarea(BaseHTML):
|
|||||||
EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key],
|
EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key],
|
||||||
EventTriggers.ON_KEY_UP: lambda e0: [e0.key],
|
EventTriggers.ON_KEY_UP: lambda e0: [e0.key],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
button = Button.create
|
||||||
|
fieldset = Fieldset.create
|
||||||
|
form = Form.create
|
||||||
|
input = Input.create
|
||||||
|
label = Label.create
|
||||||
|
legend = Legend.create
|
||||||
|
meter = Meter.create
|
||||||
|
optgroup = Optgroup.create
|
||||||
|
option = Option.create
|
||||||
|
output = Output.create
|
||||||
|
progress = Progress.create
|
||||||
|
select = Select.create
|
||||||
|
textarea = Textarea.create
|
||||||
|
@ -2180,3 +2180,17 @@ class Textarea(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
button = Button.create
|
||||||
|
fieldset = Fieldset.create
|
||||||
|
form = Form.create
|
||||||
|
input = Input.create
|
||||||
|
label = Label.create
|
||||||
|
legend = Legend.create
|
||||||
|
meter = Meter.create
|
||||||
|
optgroup = Optgroup.create
|
||||||
|
option = Option.create
|
||||||
|
output = Output.create
|
||||||
|
progress = Progress.create
|
||||||
|
select = Select.create
|
||||||
|
textarea = Textarea.create
|
||||||
|
@ -208,3 +208,33 @@ class Wbr(BaseHTML):
|
|||||||
"""Display the wbr element."""
|
"""Display the wbr element."""
|
||||||
|
|
||||||
tag = "wbr"
|
tag = "wbr"
|
||||||
|
|
||||||
|
|
||||||
|
a = A.create
|
||||||
|
abbr = Abbr.create
|
||||||
|
b = B.create
|
||||||
|
bdi = Bdi.create
|
||||||
|
bdo = Bdo.create
|
||||||
|
br = Br.create
|
||||||
|
cite = Cite.create
|
||||||
|
code = Code.create
|
||||||
|
data = Data.create
|
||||||
|
dfn = Dfn.create
|
||||||
|
em = Em.create
|
||||||
|
i = I.create
|
||||||
|
kbd = Kbd.create
|
||||||
|
mark = Mark.create
|
||||||
|
q = Q.create
|
||||||
|
rp = Rp.create
|
||||||
|
rt = Rt.create
|
||||||
|
ruby = Ruby.create
|
||||||
|
s = S.create
|
||||||
|
samp = Samp.create
|
||||||
|
small = Small.create
|
||||||
|
span = Span.create
|
||||||
|
strong = Strong.create
|
||||||
|
sub = Sub.create
|
||||||
|
sup = Sup.create
|
||||||
|
time = Time.create
|
||||||
|
u = U.create
|
||||||
|
wbr = Wbr.create
|
||||||
|
@ -3746,3 +3746,32 @@ class Wbr(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
a = A.create
|
||||||
|
abbr = Abbr.create
|
||||||
|
b = B.create
|
||||||
|
bdi = Bdi.create
|
||||||
|
bdo = Bdo.create
|
||||||
|
br = Br.create
|
||||||
|
cite = Cite.create
|
||||||
|
code = Code.create
|
||||||
|
data = Data.create
|
||||||
|
dfn = Dfn.create
|
||||||
|
em = Em.create
|
||||||
|
i = I.create
|
||||||
|
kbd = Kbd.create
|
||||||
|
mark = Mark.create
|
||||||
|
q = Q.create
|
||||||
|
rp = Rp.create
|
||||||
|
rt = Rt.create
|
||||||
|
ruby = Ruby.create
|
||||||
|
s = S.create
|
||||||
|
samp = Samp.create
|
||||||
|
small = Small.create
|
||||||
|
span = Span.create
|
||||||
|
strong = Strong.create
|
||||||
|
sub = Sub.create
|
||||||
|
sup = Sup.create
|
||||||
|
time = Time.create
|
||||||
|
u = U.create
|
||||||
|
wbr = Wbr.create
|
||||||
|
@ -316,3 +316,19 @@ class Path(BaseHTML):
|
|||||||
|
|
||||||
# Defines the shape of the path
|
# Defines the shape of the path
|
||||||
d: Var[Union[str, int, bool]]
|
d: Var[Union[str, int, bool]]
|
||||||
|
|
||||||
|
|
||||||
|
area = Area.create
|
||||||
|
audio = Audio.create
|
||||||
|
image = img = Img.create
|
||||||
|
map = Map.create
|
||||||
|
track = Track.create
|
||||||
|
video = Video.create
|
||||||
|
embed = Embed.create
|
||||||
|
iframe = Iframe.create
|
||||||
|
object = Object.create
|
||||||
|
picture = Picture.create
|
||||||
|
portal = Portal.create
|
||||||
|
source = Source.create
|
||||||
|
svg = Svg.create
|
||||||
|
path = Path.create
|
||||||
|
@ -2086,3 +2086,18 @@ class Path(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
area = Area.create
|
||||||
|
audio = Audio.create
|
||||||
|
image = img = Img.create
|
||||||
|
map = Map.create
|
||||||
|
track = Track.create
|
||||||
|
video = Video.create
|
||||||
|
embed = Embed.create
|
||||||
|
iframe = Iframe.create
|
||||||
|
object = Object.create
|
||||||
|
picture = Picture.create
|
||||||
|
portal = Portal.create
|
||||||
|
source = Source.create
|
||||||
|
svg = Svg.create
|
||||||
|
path = Path.create
|
||||||
|
@ -53,3 +53,10 @@ class Title(Element): # noqa: E742
|
|||||||
"""Display the title element."""
|
"""Display the title element."""
|
||||||
|
|
||||||
tag = "title"
|
tag = "title"
|
||||||
|
|
||||||
|
|
||||||
|
base = Base.create
|
||||||
|
head = Head.create
|
||||||
|
link = Link.create
|
||||||
|
meta = Meta.create
|
||||||
|
title = Title.create
|
||||||
|
@ -650,3 +650,9 @@ class Title(Element):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
base = Base.create
|
||||||
|
head = Head.create
|
||||||
|
link = Link.create
|
||||||
|
meta = Meta.create
|
||||||
|
title = Title.create
|
||||||
|
@ -59,3 +59,12 @@ class Html(BaseHTML):
|
|||||||
|
|
||||||
# Specifies the URL of the document's cache manifest (obsolete in HTML5)
|
# Specifies the URL of the document's cache manifest (obsolete in HTML5)
|
||||||
manifest: Var[Union[str, int, bool]]
|
manifest: Var[Union[str, int, bool]]
|
||||||
|
|
||||||
|
|
||||||
|
details = Details.create
|
||||||
|
dialog = Dialog.create
|
||||||
|
summary = Summary.create
|
||||||
|
slot = Slot.create
|
||||||
|
template = Template.create
|
||||||
|
math = Math.create
|
||||||
|
html = Html.create
|
||||||
|
@ -942,3 +942,11 @@ class Html(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
details = Details.create
|
||||||
|
dialog = Dialog.create
|
||||||
|
summary = Summary.create
|
||||||
|
slot = Slot.create
|
||||||
|
template = Template.create
|
||||||
|
math = Math.create
|
||||||
|
html = Html.create
|
||||||
|
@ -50,3 +50,8 @@ class Script(BaseHTML):
|
|||||||
|
|
||||||
# Specifies the MIME type of the script
|
# Specifies the MIME type of the script
|
||||||
type: Var[Union[str, int, bool]]
|
type: Var[Union[str, int, bool]]
|
||||||
|
|
||||||
|
|
||||||
|
canvas = Canvas.create
|
||||||
|
noscript = Noscript.create
|
||||||
|
script = Script.create
|
||||||
|
@ -438,3 +438,7 @@ class Script(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
canvas = Canvas.create
|
||||||
|
noscript = Noscript.create
|
||||||
|
script = Script.create
|
||||||
|
@ -93,3 +93,20 @@ class Section(BaseHTML): # noqa: E742
|
|||||||
"""Display the section element."""
|
"""Display the section element."""
|
||||||
|
|
||||||
tag = "section"
|
tag = "section"
|
||||||
|
|
||||||
|
|
||||||
|
address = Address.create
|
||||||
|
article = Article.create
|
||||||
|
aside = Aside.create
|
||||||
|
body = Body.create
|
||||||
|
header = Header.create
|
||||||
|
footer = Footer.create
|
||||||
|
h1 = H1.create
|
||||||
|
h2 = H2.create
|
||||||
|
h3 = H3.create
|
||||||
|
h4 = H4.create
|
||||||
|
h5 = H5.create
|
||||||
|
h6 = H6.create
|
||||||
|
main = Main.create
|
||||||
|
nav = Nav.create
|
||||||
|
section = Section.create
|
||||||
|
@ -1989,3 +1989,19 @@ class Section(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
address = Address.create
|
||||||
|
article = Article.create
|
||||||
|
aside = Aside.create
|
||||||
|
body = Body.create
|
||||||
|
header = Header.create
|
||||||
|
footer = Footer.create
|
||||||
|
h1 = H1.create
|
||||||
|
h2 = H2.create
|
||||||
|
h3 = H3.create
|
||||||
|
h4 = H4.create
|
||||||
|
h5 = H5.create
|
||||||
|
h6 = H6.create
|
||||||
|
main = Main.create
|
||||||
|
nav = Nav.create
|
||||||
|
section = Section.create
|
||||||
|
@ -124,3 +124,15 @@ class Tr(BaseHTML):
|
|||||||
|
|
||||||
# Alignment of the content within the table row
|
# Alignment of the content within the table row
|
||||||
align: Var[Union[str, int, bool]]
|
align: Var[Union[str, int, bool]]
|
||||||
|
|
||||||
|
|
||||||
|
caption = Caption.create
|
||||||
|
col = Col.create
|
||||||
|
colgroup = Colgroup.create
|
||||||
|
table = Table.create
|
||||||
|
tbody = Tbody.create
|
||||||
|
td = Td.create
|
||||||
|
tfoot = Tfoot.create
|
||||||
|
th = Th.create
|
||||||
|
thead = Thead.create
|
||||||
|
tr = Tr.create
|
||||||
|
@ -1406,3 +1406,14 @@ class Tr(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
caption = Caption.create
|
||||||
|
col = Col.create
|
||||||
|
colgroup = Colgroup.create
|
||||||
|
table = Table.create
|
||||||
|
tbody = Tbody.create
|
||||||
|
td = Td.create
|
||||||
|
tfoot = Tfoot.create
|
||||||
|
th = Th.create
|
||||||
|
thead = Thead.create
|
||||||
|
tr = Tr.create
|
||||||
|
@ -124,3 +124,19 @@ class Del(BaseHTML):
|
|||||||
|
|
||||||
# Specifies the date and time of when the text was deleted.
|
# Specifies the date and time of when the text was deleted.
|
||||||
date_time: Var[Union[str, int, bool]]
|
date_time: Var[Union[str, int, bool]]
|
||||||
|
|
||||||
|
|
||||||
|
blockquote = Blockquote.create
|
||||||
|
dd = Dd.create
|
||||||
|
div = Div.create
|
||||||
|
dl = Dl.create
|
||||||
|
dt = Dt.create
|
||||||
|
figcaption = Figcaption.create
|
||||||
|
hr = Hr.create
|
||||||
|
li = Li.create
|
||||||
|
ol = Ol.create
|
||||||
|
p = P.create
|
||||||
|
pre = Pre.create
|
||||||
|
ul = Ul.create
|
||||||
|
ins = Ins.create
|
||||||
|
del_ = Del.create # 'del' is a reserved keyword in Python
|
||||||
|
@ -2020,3 +2020,18 @@ class Del(BaseHTML):
|
|||||||
The component.
|
The component.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
blockquote = Blockquote.create
|
||||||
|
dd = Dd.create
|
||||||
|
div = Div.create
|
||||||
|
dl = Dl.create
|
||||||
|
dt = Dt.create
|
||||||
|
figcaption = Figcaption.create
|
||||||
|
hr = Hr.create
|
||||||
|
li = Li.create
|
||||||
|
ol = Ol.create
|
||||||
|
p = P.create
|
||||||
|
pre = Pre.create
|
||||||
|
ul = Ul.create
|
||||||
|
ins = Ins.create
|
||||||
|
del_ = Del.create
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
"""Moment.js component."""
|
"""Moment.js component."""
|
||||||
|
|
||||||
from .moment import Moment
|
from .moment import Moment, MomentDelta
|
||||||
|
|
||||||
moment = Moment.create
|
moment = Moment.create
|
||||||
|
@ -1,4 +1,16 @@
|
|||||||
"""Namespace for components provided by @radix-ui packages."""
|
"""Namespace for components provided by @radix-ui packages."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .primitives import *
|
from reflex import RADIX_MAPPING
|
||||||
from .themes import *
|
from reflex.utils import lazy_loader
|
||||||
|
|
||||||
|
_SUBMODULES: set[str] = {"themes", "primitives"}
|
||||||
|
|
||||||
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
"".join(k.split("components.radix.")[-1]): v for k, v in RADIX_MAPPING.items()
|
||||||
|
}
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
73
reflex/components/radix/__init__.pyi
Normal file
73
reflex/components/radix/__init__.pyi
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
"""Stub file for reflex/components/radix/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import primitives as primitives
|
||||||
|
from . import themes as themes
|
||||||
|
|
||||||
|
from .themes.color_mode import color_mode as color_mode
|
||||||
|
from .themes.base import theme as theme
|
||||||
|
from .themes.base import theme_panel as theme_panel
|
||||||
|
from .themes.components.alert_dialog import alert_dialog as alert_dialog
|
||||||
|
from .themes.components.aspect_ratio import aspect_ratio as aspect_ratio
|
||||||
|
from .themes.components.avatar import avatar as avatar
|
||||||
|
from .themes.components.badge import badge as badge
|
||||||
|
from .themes.components.button import button as button
|
||||||
|
from .themes.components.callout import callout as callout
|
||||||
|
from .themes.components.card import card as card
|
||||||
|
from .themes.components.checkbox import checkbox as checkbox
|
||||||
|
from .themes.components.context_menu import context_menu as context_menu
|
||||||
|
from .themes.components.data_list import data_list as data_list
|
||||||
|
from .themes.components.dialog import dialog as dialog
|
||||||
|
from .themes.components.hover_card import hover_card as hover_card
|
||||||
|
from .themes.components.icon_button import icon_button as icon_button
|
||||||
|
from .themes.components.text_field import input as input
|
||||||
|
from .themes.components.inset import inset as inset
|
||||||
|
from .themes.components.popover import popover as popover
|
||||||
|
from .themes.components.scroll_area import scroll_area as scroll_area
|
||||||
|
from .themes.components.select import select as select
|
||||||
|
from .themes.components.skeleton import skeleton as skeleton
|
||||||
|
from .themes.components.slider import slider as slider
|
||||||
|
from .themes.components.spinner import spinner as spinner
|
||||||
|
from .themes.components.switch import switch as switch
|
||||||
|
from .themes.components.table import table as table
|
||||||
|
from .themes.components.tabs import tabs as tabs
|
||||||
|
from .themes.components.text_area import text_area as text_area
|
||||||
|
from .themes.components.tooltip import tooltip as tooltip
|
||||||
|
from .themes.components.segmented_control import segmented_control as segmented_control
|
||||||
|
from .themes.components.radio_cards import radio_cards as radio_cards
|
||||||
|
from .themes.components.checkbox_cards import checkbox_cards as checkbox_cards
|
||||||
|
from .themes.components.checkbox_group import checkbox_group as checkbox_group
|
||||||
|
from .themes.components.text_field import text_field as text_field
|
||||||
|
from .themes.components.radio_group import radio as radio
|
||||||
|
from .themes.components.radio_group import radio_group as radio_group
|
||||||
|
from .themes.components.dropdown_menu import menu as menu
|
||||||
|
from .themes.components.dropdown_menu import dropdown_menu as dropdown_menu
|
||||||
|
from .themes.components.separator import divider as divider
|
||||||
|
from .themes.components.separator import separator as separator
|
||||||
|
from .themes.typography.blockquote import blockquote as blockquote
|
||||||
|
from .themes.typography.code import code as code
|
||||||
|
from .themes.typography.heading import heading as heading
|
||||||
|
from .themes.typography.link import link as link
|
||||||
|
from .themes.typography.text import text as text
|
||||||
|
from .themes.layout.box import box as box
|
||||||
|
from .themes.layout.center import center as center
|
||||||
|
from .themes.layout.container import container as container
|
||||||
|
from .themes.layout.flex import flex as flex
|
||||||
|
from .themes.layout.grid import grid as grid
|
||||||
|
from .themes.layout.section import section as section
|
||||||
|
from .themes.layout.spacer import spacer as spacer
|
||||||
|
from .themes.layout.stack import stack as stack
|
||||||
|
from .themes.layout.stack import hstack as hstack
|
||||||
|
from .themes.layout.stack import vstack as vstack
|
||||||
|
from .themes.layout.list import list_ns as list
|
||||||
|
from .themes.layout.list import list_item as list_item
|
||||||
|
from .themes.layout.list import ordered_list as ordered_list
|
||||||
|
from .themes.layout.list import unordered_list as unordered_list
|
||||||
|
from .primitives.accordion import accordion as accordion
|
||||||
|
from .primitives.drawer import drawer as drawer
|
||||||
|
from .primitives.form import form as form
|
||||||
|
from .primitives.progress import progress as progress
|
||||||
|
from reflex import RADIX_MAPPING
|
||||||
|
from reflex.utils import lazy_loader
|
@ -1,7 +1,15 @@
|
|||||||
"""Radix primitive components (https://www.radix-ui.com/primitives)."""
|
"""Radix primitive components (https://www.radix-ui.com/primitives)."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .accordion import accordion
|
from reflex import RADIX_PRIMITIVES_MAPPING
|
||||||
from .drawer import drawer
|
from reflex.utils import lazy_loader
|
||||||
from .form import form
|
|
||||||
from .progress import progress
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
from .slider import slider
|
"".join(k.split("components.radix.primitives.")[-1]): v
|
||||||
|
for k, v in RADIX_PRIMITIVES_MAPPING.items()
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
11
reflex/components/radix/primitives/__init__.pyi
Normal file
11
reflex/components/radix/primitives/__init__.pyi
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
"""Stub file for reflex/components/radix/primitives/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from .accordion import accordion as accordion
|
||||||
|
from .drawer import drawer as drawer
|
||||||
|
from .form import form as form
|
||||||
|
from .progress import progress as progress
|
||||||
|
from reflex import RADIX_PRIMITIVES_MAPPING
|
||||||
|
from reflex.utils import lazy_loader
|
@ -1,7 +1,21 @@
|
|||||||
"""Namespace for components provided by the @radix-ui/themes library."""
|
"""Namespace for components provided by the @radix-ui/themes library."""
|
||||||
from .base import theme as theme
|
from __future__ import annotations
|
||||||
from .base import theme_panel as theme_panel
|
|
||||||
from .color_mode import color_mode_var_and_namespace as color_mode
|
from reflex.utils import lazy_loader
|
||||||
from .components import *
|
|
||||||
from .layout import *
|
_SUBMODULES: set[str] = {"components", "layout", "typography"}
|
||||||
from .typography import *
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
"base": [
|
||||||
|
"theme",
|
||||||
|
"theme_panel",
|
||||||
|
],
|
||||||
|
"color_mode": [
|
||||||
|
"color_mode",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
|
__name__,
|
||||||
|
submodules=_SUBMODULES,
|
||||||
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
|
)
|
||||||
|
13
reflex/components/radix/themes/__init__.pyi
Normal file
13
reflex/components/radix/themes/__init__.pyi
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
"""Stub file for reflex/components/radix/themes/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from . import components as components
|
||||||
|
from . import layout as layout
|
||||||
|
from . import typography as typography
|
||||||
|
|
||||||
|
from .base import theme as theme
|
||||||
|
from .base import theme_panel as theme_panel
|
||||||
|
from .color_mode import color_mode as color_mode
|
||||||
|
from reflex.utils import lazy_loader
|
@ -174,4 +174,6 @@ class ColorModeNamespace(BaseVar):
|
|||||||
switch = staticmethod(ColorModeSwitch.create)
|
switch = staticmethod(ColorModeSwitch.create)
|
||||||
|
|
||||||
|
|
||||||
color_mode_var_and_namespace = ColorModeNamespace(**dataclasses.asdict(color_mode))
|
color_mode = color_mode_var_and_namespace = ColorModeNamespace(
|
||||||
|
**dataclasses.asdict(color_mode)
|
||||||
|
)
|
||||||
|
@ -543,4 +543,6 @@ class ColorModeNamespace(BaseVar):
|
|||||||
button = staticmethod(ColorModeIconButton.create)
|
button = staticmethod(ColorModeIconButton.create)
|
||||||
switch = staticmethod(ColorModeSwitch.create)
|
switch = staticmethod(ColorModeSwitch.create)
|
||||||
|
|
||||||
color_mode_var_and_namespace = ColorModeNamespace(**dataclasses.asdict(color_mode))
|
color_mode = color_mode_var_and_namespace = ColorModeNamespace(
|
||||||
|
**dataclasses.asdict(color_mode)
|
||||||
|
)
|
||||||
|
@ -1,83 +1,15 @@
|
|||||||
"""Radix themes components."""
|
"""Radix themes components."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .alert_dialog import alert_dialog as alert_dialog
|
from reflex import RADIX_THEMES_COMPONENTS_MAPPING
|
||||||
from .aspect_ratio import aspect_ratio as aspect_ratio
|
from reflex.utils import lazy_loader
|
||||||
from .avatar import avatar as avatar
|
|
||||||
from .badge import badge as badge
|
|
||||||
from .button import button as button
|
|
||||||
from .callout import callout as callout
|
|
||||||
from .card import card as card
|
|
||||||
from .checkbox import checkbox as checkbox
|
|
||||||
from .checkbox_cards import checkbox_cards as checkbox_cards
|
|
||||||
from .checkbox_group import checkbox_group as checkbox_group
|
|
||||||
from .context_menu import context_menu as context_menu
|
|
||||||
from .data_list import data_list as data_list
|
|
||||||
from .dialog import dialog as dialog
|
|
||||||
from .dropdown_menu import dropdown_menu as dropdown_menu
|
|
||||||
from .dropdown_menu import menu as menu
|
|
||||||
from .hover_card import hover_card as hover_card
|
|
||||||
from .icon_button import icon_button as icon_button
|
|
||||||
from .inset import inset as inset
|
|
||||||
from .popover import popover as popover
|
|
||||||
from .progress import progress as progress
|
|
||||||
from .radio_cards import radio_cards as radio_cards
|
|
||||||
from .radio_group import radio as radio
|
|
||||||
from .radio_group import radio_group as radio_group
|
|
||||||
from .scroll_area import scroll_area as scroll_area
|
|
||||||
from .segmented_control import segmented_control as segmented_control
|
|
||||||
from .select import select as select
|
|
||||||
from .separator import divider as divider
|
|
||||||
from .separator import separator as separator
|
|
||||||
from .skeleton import skeleton as skeleton
|
|
||||||
from .slider import slider as slider
|
|
||||||
from .spinner import spinner as spinner
|
|
||||||
from .switch import switch as switch
|
|
||||||
from .table import table as table
|
|
||||||
from .tabs import tabs as tabs
|
|
||||||
from .text_area import text_area as text_area
|
|
||||||
from .text_field import text_field as text_field
|
|
||||||
from .tooltip import tooltip as tooltip
|
|
||||||
|
|
||||||
input = text_field
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
|
"".join(k.split("components.radix.themes.components.")[-1]): v
|
||||||
|
for k, v in RADIX_THEMES_COMPONENTS_MAPPING.items()
|
||||||
|
}
|
||||||
|
|
||||||
__all__ = [
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
"alert_dialog",
|
__name__,
|
||||||
"aspect_ratio",
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
"avatar",
|
)
|
||||||
"badge",
|
|
||||||
"button",
|
|
||||||
"callout",
|
|
||||||
"card",
|
|
||||||
"checkbox",
|
|
||||||
"checkbox_cards",
|
|
||||||
"checkbox_group",
|
|
||||||
"context_menu",
|
|
||||||
"data_list",
|
|
||||||
"dialog",
|
|
||||||
"divider",
|
|
||||||
"dropdown_menu",
|
|
||||||
"hover_card",
|
|
||||||
"icon_button",
|
|
||||||
"input",
|
|
||||||
"inset",
|
|
||||||
"menu",
|
|
||||||
"popover",
|
|
||||||
# progress is in experimental namespace until https://github.com/radix-ui/themes/pull/492
|
|
||||||
# "progress",
|
|
||||||
"radio",
|
|
||||||
"radio_cards",
|
|
||||||
"radio_group",
|
|
||||||
"scroll_area",
|
|
||||||
"segmented_control",
|
|
||||||
"select",
|
|
||||||
"separator",
|
|
||||||
"skeleton",
|
|
||||||
"slider",
|
|
||||||
"spinner",
|
|
||||||
"switch",
|
|
||||||
"table",
|
|
||||||
"tabs",
|
|
||||||
"text_area",
|
|
||||||
"text_field",
|
|
||||||
"tooltip",
|
|
||||||
]
|
|
||||||
|
44
reflex/components/radix/themes/components/__init__.pyi
Normal file
44
reflex/components/radix/themes/components/__init__.pyi
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
"""Stub file for reflex/components/radix/themes/components/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from .alert_dialog import alert_dialog as alert_dialog
|
||||||
|
from .aspect_ratio import aspect_ratio as aspect_ratio
|
||||||
|
from .avatar import avatar as avatar
|
||||||
|
from .badge import badge as badge
|
||||||
|
from .button import button as button
|
||||||
|
from .callout import callout as callout
|
||||||
|
from .card import card as card
|
||||||
|
from .checkbox import checkbox as checkbox
|
||||||
|
from .context_menu import context_menu as context_menu
|
||||||
|
from .data_list import data_list as data_list
|
||||||
|
from .dialog import dialog as dialog
|
||||||
|
from .hover_card import hover_card as hover_card
|
||||||
|
from .icon_button import icon_button as icon_button
|
||||||
|
from .text_field import input as input
|
||||||
|
from .inset import inset as inset
|
||||||
|
from .popover import popover as popover
|
||||||
|
from .scroll_area import scroll_area as scroll_area
|
||||||
|
from .select import select as select
|
||||||
|
from .skeleton import skeleton as skeleton
|
||||||
|
from .slider import slider as slider
|
||||||
|
from .spinner import spinner as spinner
|
||||||
|
from .switch import switch as switch
|
||||||
|
from .table import table as table
|
||||||
|
from .tabs import tabs as tabs
|
||||||
|
from .text_area import text_area as text_area
|
||||||
|
from .tooltip import tooltip as tooltip
|
||||||
|
from .segmented_control import segmented_control as segmented_control
|
||||||
|
from .radio_cards import radio_cards as radio_cards
|
||||||
|
from .checkbox_cards import checkbox_cards as checkbox_cards
|
||||||
|
from .checkbox_group import checkbox_group as checkbox_group
|
||||||
|
from .text_field import text_field as text_field
|
||||||
|
from .radio_group import radio as radio
|
||||||
|
from .radio_group import radio_group as radio_group
|
||||||
|
from .dropdown_menu import menu as menu
|
||||||
|
from .dropdown_menu import dropdown_menu as dropdown_menu
|
||||||
|
from .separator import divider as divider
|
||||||
|
from .separator import separator as separator
|
||||||
|
from reflex import RADIX_THEMES_COMPONENTS_MAPPING
|
||||||
|
from reflex.utils import lazy_loader
|
@ -1,8 +1,8 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ class AlertDialogTrigger(RadixThemesTriggerComponent):
|
|||||||
tag = "AlertDialog.Trigger"
|
tag = "AlertDialog.Trigger"
|
||||||
|
|
||||||
|
|
||||||
class AlertDialogContent(el.Div, RadixThemesComponent):
|
class AlertDialogContent(elements.Div, RadixThemesComponent):
|
||||||
"""Contains the content of the dialog. This component is based on the div element."""
|
"""Contains the content of the dialog. This component is based on the div element."""
|
||||||
|
|
||||||
tag = "AlertDialog.Content"
|
tag = "AlertDialog.Content"
|
||||||
|
@ -8,8 +8,8 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
||||||
@ -171,7 +171,7 @@ class AlertDialogTrigger(RadixThemesTriggerComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class AlertDialogContent(el.Div, RadixThemesComponent):
|
class AlertDialogContent(elements.Div, RadixThemesComponent):
|
||||||
def get_event_triggers(self) -> Dict[str, Any]: ...
|
def get_event_triggers(self) -> Dict[str, Any]: ...
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
from ..base import (
|
from ..base import (
|
||||||
@ -12,7 +12,7 @@ from ..base import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class Badge(el.Span, RadixThemesComponent):
|
class Badge(elements.Span, RadixThemesComponent):
|
||||||
"""A stylized badge element."""
|
"""A stylized badge element."""
|
||||||
|
|
||||||
tag = "Badge"
|
tag = "Badge"
|
||||||
|
@ -8,11 +8,11 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
|
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
|
||||||
|
|
||||||
class Badge(el.Span, RadixThemesComponent):
|
class Badge(elements.Span, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
from ..base import (
|
from ..base import (
|
||||||
@ -16,7 +16,7 @@ from ..base import (
|
|||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
|
|
||||||
class Button(el.Button, RadixLoadingProp, RadixThemesComponent):
|
class Button(elements.Button, RadixLoadingProp, RadixThemesComponent):
|
||||||
"""Trigger an action or event, such as submitting a form or displaying a dialog."""
|
"""Trigger an action or event, such as submitting a form or displaying a dialog."""
|
||||||
|
|
||||||
tag = "Button"
|
tag = "Button"
|
||||||
|
@ -8,7 +8,7 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import (
|
from ..base import (
|
||||||
LiteralAccentColor,
|
LiteralAccentColor,
|
||||||
@ -20,7 +20,7 @@ from ..base import (
|
|||||||
|
|
||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
class Button(el.Button, RadixLoadingProp, RadixThemesComponent):
|
class Button(elements.Button, RadixLoadingProp, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
from typing import Literal, Union
|
from typing import Literal, Union
|
||||||
|
|
||||||
import reflex as rx
|
import reflex as rx
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component, ComponentNamespace
|
from reflex.components.component import Component, ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.components.lucide.icon import Icon
|
from reflex.components.lucide.icon import Icon
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ from ..base import (
|
|||||||
CalloutVariant = Literal["soft", "surface", "outline"]
|
CalloutVariant = Literal["soft", "surface", "outline"]
|
||||||
|
|
||||||
|
|
||||||
class CalloutRoot(el.Div, RadixThemesComponent):
|
class CalloutRoot(elements.Div, RadixThemesComponent):
|
||||||
"""Groups Icon and Text parts of a Callout."""
|
"""Groups Icon and Text parts of a Callout."""
|
||||||
|
|
||||||
tag = "Callout.Root"
|
tag = "Callout.Root"
|
||||||
@ -37,13 +37,13 @@ class CalloutRoot(el.Div, RadixThemesComponent):
|
|||||||
high_contrast: Var[bool]
|
high_contrast: Var[bool]
|
||||||
|
|
||||||
|
|
||||||
class CalloutIcon(el.Div, RadixThemesComponent):
|
class CalloutIcon(elements.Div, RadixThemesComponent):
|
||||||
"""Provides width and height for the icon associated with the callout."""
|
"""Provides width and height for the icon associated with the callout."""
|
||||||
|
|
||||||
tag = "Callout.Icon"
|
tag = "Callout.Icon"
|
||||||
|
|
||||||
|
|
||||||
class CalloutText(el.P, RadixThemesComponent):
|
class CalloutText(elements.P, RadixThemesComponent):
|
||||||
"""Renders the callout text. This component is based on the p element."""
|
"""Renders the callout text. This component is based on the p element."""
|
||||||
|
|
||||||
tag = "Callout.Text"
|
tag = "Callout.Text"
|
||||||
|
@ -9,15 +9,15 @@ from reflex.event import EventChain, EventHandler, EventSpec
|
|||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal, Union
|
from typing import Literal, Union
|
||||||
import reflex as rx
|
import reflex as rx
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component, ComponentNamespace
|
from reflex.components.component import Component, ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.components.lucide.icon import Icon
|
from reflex.components.lucide.icon import Icon
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import LiteralAccentColor, RadixThemesComponent
|
from ..base import LiteralAccentColor, RadixThemesComponent
|
||||||
|
|
||||||
CalloutVariant = Literal["soft", "surface", "outline"]
|
CalloutVariant = Literal["soft", "surface", "outline"]
|
||||||
|
|
||||||
class CalloutRoot(el.Div, RadixThemesComponent):
|
class CalloutRoot(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -230,7 +230,7 @@ class CalloutRoot(el.Div, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class CalloutIcon(el.Div, RadixThemesComponent):
|
class CalloutIcon(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -365,7 +365,7 @@ class CalloutIcon(el.Div, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class CalloutText(el.P, RadixThemesComponent):
|
class CalloutText(elements.P, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
from ..base import (
|
from ..base import (
|
||||||
@ -9,7 +9,7 @@ from ..base import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class Card(el.Div, RadixThemesComponent):
|
class Card(elements.Div, RadixThemesComponent):
|
||||||
"""Container that groups related content and actions."""
|
"""Container that groups related content and actions."""
|
||||||
|
|
||||||
tag = "Card"
|
tag = "Card"
|
||||||
|
@ -8,11 +8,11 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent
|
from ..base import RadixThemesComponent
|
||||||
|
|
||||||
class Card(el.Div, RadixThemesComponent):
|
class Card(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ class DialogTitle(RadixThemesComponent):
|
|||||||
tag = "Dialog.Title"
|
tag = "Dialog.Title"
|
||||||
|
|
||||||
|
|
||||||
class DialogContent(el.Div, RadixThemesComponent):
|
class DialogContent(elements.Div, RadixThemesComponent):
|
||||||
"""Content component to display inside a Dialog modal."""
|
"""Content component to display inside a Dialog modal."""
|
||||||
|
|
||||||
tag = "Dialog.Content"
|
tag = "Dialog.Content"
|
||||||
|
@ -8,8 +8,8 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
||||||
@ -248,7 +248,7 @@ class DialogTitle(RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class DialogContent(el.Div, RadixThemesComponent):
|
class DialogContent(elements.Div, RadixThemesComponent):
|
||||||
def get_event_triggers(self) -> Dict[str, Any]: ...
|
def get_event_triggers(self) -> Dict[str, Any]: ...
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ class HoverCardTrigger(RadixThemesTriggerComponent):
|
|||||||
tag = "HoverCard.Trigger"
|
tag = "HoverCard.Trigger"
|
||||||
|
|
||||||
|
|
||||||
class HoverCardContent(el.Div, RadixThemesComponent):
|
class HoverCardContent(elements.Div, RadixThemesComponent):
|
||||||
"""Contains the content of the open hover card."""
|
"""Contains the content of the open hover card."""
|
||||||
|
|
||||||
tag = "HoverCard.Content"
|
tag = "HoverCard.Content"
|
||||||
|
@ -8,8 +8,8 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
||||||
@ -175,7 +175,7 @@ class HoverCardTrigger(RadixThemesTriggerComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class HoverCardContent(el.Div, RadixThemesComponent):
|
class HoverCardContent(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -3,9 +3,9 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component
|
from reflex.components.component import Component
|
||||||
from reflex.components.core.match import Match
|
from reflex.components.core.match import Match
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.components.lucide import Icon
|
from reflex.components.lucide import Icon
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
@ -21,7 +21,7 @@ from ..base import (
|
|||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
|
|
||||||
class IconButton(el.Button, RadixLoadingProp, RadixThemesComponent):
|
class IconButton(elements.Button, RadixLoadingProp, RadixThemesComponent):
|
||||||
"""A button designed specifically for usage with a single icon."""
|
"""A button designed specifically for usage with a single icon."""
|
||||||
|
|
||||||
tag = "IconButton"
|
tag = "IconButton"
|
||||||
|
@ -8,9 +8,9 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component
|
from reflex.components.component import Component
|
||||||
from reflex.components.core.match import Match
|
from reflex.components.core.match import Match
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.components.lucide import Icon
|
from reflex.components.lucide import Icon
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
@ -24,7 +24,7 @@ from ..base import (
|
|||||||
|
|
||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
class IconButton(el.Button, RadixLoadingProp, RadixThemesComponent):
|
class IconButton(elements.Button, RadixLoadingProp, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Literal, Union
|
from typing import Literal, Union
|
||||||
|
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
from ..base import (
|
from ..base import (
|
||||||
@ -11,7 +11,7 @@ from ..base import (
|
|||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
|
|
||||||
class Inset(el.Div, RadixThemesComponent):
|
class Inset(elements.Div, RadixThemesComponent):
|
||||||
"""Applies a negative margin to allow content to bleed into the surrounding container."""
|
"""Applies a negative margin to allow content to bleed into the surrounding container."""
|
||||||
|
|
||||||
tag = "Inset"
|
tag = "Inset"
|
||||||
|
@ -8,13 +8,13 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Literal, Union
|
from typing import Literal, Union
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent
|
from ..base import RadixThemesComponent
|
||||||
|
|
||||||
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
LiteralButtonSize = Literal["1", "2", "3", "4"]
|
||||||
|
|
||||||
class Inset(el.Div, RadixThemesComponent):
|
class Inset(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ class PopoverTrigger(RadixThemesTriggerComponent):
|
|||||||
tag = "Popover.Trigger"
|
tag = "Popover.Trigger"
|
||||||
|
|
||||||
|
|
||||||
class PopoverContent(el.Div, RadixThemesComponent):
|
class PopoverContent(elements.Div, RadixThemesComponent):
|
||||||
"""Contains content to be rendered in the open popover."""
|
"""Contains content to be rendered in the open popover."""
|
||||||
|
|
||||||
tag = "Popover.Content"
|
tag = "Popover.Content"
|
||||||
|
@ -8,8 +8,8 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal
|
from typing import Any, Dict, Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
|
||||||
@ -171,7 +171,7 @@ class PopoverTrigger(RadixThemesTriggerComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class PopoverContent(el.Div, RadixThemesComponent):
|
class PopoverContent(elements.Div, RadixThemesComponent):
|
||||||
def get_event_triggers(self) -> Dict[str, Any]: ...
|
def get_event_triggers(self) -> Dict[str, Any]: ...
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import List, Literal
|
from typing import List, Literal
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
from ..base import (
|
from ..base import (
|
||||||
@ -10,7 +10,7 @@ from ..base import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TableRoot(el.Table, RadixThemesComponent):
|
class TableRoot(elements.Table, RadixThemesComponent):
|
||||||
"""A semantic table for presenting tabular data."""
|
"""A semantic table for presenting tabular data."""
|
||||||
|
|
||||||
tag = "Table.Root"
|
tag = "Table.Root"
|
||||||
@ -22,7 +22,7 @@ class TableRoot(el.Table, RadixThemesComponent):
|
|||||||
variant: Var[Literal["surface", "ghost"]]
|
variant: Var[Literal["surface", "ghost"]]
|
||||||
|
|
||||||
|
|
||||||
class TableHeader(el.Thead, RadixThemesComponent):
|
class TableHeader(elements.Thead, RadixThemesComponent):
|
||||||
"""The header of the table defines column names and other non-data elements."""
|
"""The header of the table defines column names and other non-data elements."""
|
||||||
|
|
||||||
tag = "Table.Header"
|
tag = "Table.Header"
|
||||||
@ -32,7 +32,7 @@ class TableHeader(el.Thead, RadixThemesComponent):
|
|||||||
_valid_parents: List[str] = ["TableRoot"]
|
_valid_parents: List[str] = ["TableRoot"]
|
||||||
|
|
||||||
|
|
||||||
class TableRow(el.Tr, RadixThemesComponent):
|
class TableRow(elements.Tr, RadixThemesComponent):
|
||||||
"""A row containing table cells."""
|
"""A row containing table cells."""
|
||||||
|
|
||||||
tag = "Table.Row"
|
tag = "Table.Row"
|
||||||
@ -43,7 +43,7 @@ class TableRow(el.Tr, RadixThemesComponent):
|
|||||||
_invalid_children: List[str] = ["TableBody", "TableHeader", "TableRow"]
|
_invalid_children: List[str] = ["TableBody", "TableHeader", "TableRow"]
|
||||||
|
|
||||||
|
|
||||||
class TableColumnHeaderCell(el.Th, RadixThemesComponent):
|
class TableColumnHeaderCell(elements.Th, RadixThemesComponent):
|
||||||
"""A table cell that is semantically treated as a column header."""
|
"""A table cell that is semantically treated as a column header."""
|
||||||
|
|
||||||
tag = "Table.ColumnHeaderCell"
|
tag = "Table.ColumnHeaderCell"
|
||||||
@ -61,7 +61,7 @@ class TableColumnHeaderCell(el.Th, RadixThemesComponent):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class TableBody(el.Tbody, RadixThemesComponent):
|
class TableBody(elements.Tbody, RadixThemesComponent):
|
||||||
"""The body of the table contains the data rows."""
|
"""The body of the table contains the data rows."""
|
||||||
|
|
||||||
tag = "Table.Body"
|
tag = "Table.Body"
|
||||||
@ -76,7 +76,7 @@ class TableBody(el.Tbody, RadixThemesComponent):
|
|||||||
_valid_parents: List[str] = ["TableRoot"]
|
_valid_parents: List[str] = ["TableRoot"]
|
||||||
|
|
||||||
|
|
||||||
class TableCell(el.Td, RadixThemesComponent):
|
class TableCell(elements.Td, RadixThemesComponent):
|
||||||
"""A cell containing data."""
|
"""A cell containing data."""
|
||||||
|
|
||||||
tag = "Table.Cell"
|
tag = "Table.Cell"
|
||||||
@ -93,7 +93,7 @@ class TableCell(el.Td, RadixThemesComponent):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class TableRowHeaderCell(el.Th, RadixThemesComponent):
|
class TableRowHeaderCell(elements.Th, RadixThemesComponent):
|
||||||
"""A table cell that is semantically treated as a row header."""
|
"""A table cell that is semantically treated as a row header."""
|
||||||
|
|
||||||
tag = "Table.RowHeaderCell"
|
tag = "Table.RowHeaderCell"
|
||||||
|
@ -8,12 +8,12 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import List, Literal
|
from typing import List, Literal
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import ComponentNamespace
|
from reflex.components.component import ComponentNamespace
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import RadixThemesComponent
|
from ..base import RadixThemesComponent
|
||||||
|
|
||||||
class TableRoot(el.Table, RadixThemesComponent):
|
class TableRoot(elements.Table, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -164,7 +164,7 @@ class TableRoot(el.Table, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableHeader(el.Thead, RadixThemesComponent):
|
class TableHeader(elements.Thead, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -303,7 +303,7 @@ class TableHeader(el.Thead, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableRow(el.Tr, RadixThemesComponent):
|
class TableRow(elements.Tr, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -445,7 +445,7 @@ class TableRow(el.Tr, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableColumnHeaderCell(el.Th, RadixThemesComponent):
|
class TableColumnHeaderCell(elements.Th, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -607,7 +607,7 @@ class TableColumnHeaderCell(el.Th, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableBody(el.Tbody, RadixThemesComponent):
|
class TableBody(elements.Tbody, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -746,7 +746,7 @@ class TableBody(el.Tbody, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableCell(el.Td, RadixThemesComponent):
|
class TableCell(elements.Td, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -904,7 +904,7 @@ class TableCell(el.Td, RadixThemesComponent):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
class TableRowHeaderCell(el.Th, RadixThemesComponent):
|
class TableRowHeaderCell(elements.Th, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
"""Interactive components provided by @radix-ui/themes."""
|
"""Interactive components provided by @radix-ui/themes."""
|
||||||
from typing import Any, Dict, Literal, Union
|
from typing import Any, Dict, Literal, Union
|
||||||
|
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component
|
from reflex.components.component import Component
|
||||||
from reflex.components.core.debounce import DebounceInput
|
from reflex.components.core.debounce import DebounceInput
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ from ..base import (
|
|||||||
LiteralTextAreaSize = Literal["1", "2", "3"]
|
LiteralTextAreaSize = Literal["1", "2", "3"]
|
||||||
|
|
||||||
|
|
||||||
class TextArea(RadixThemesComponent, el.Textarea):
|
class TextArea(RadixThemesComponent, elements.Textarea):
|
||||||
"""The input part of a TextArea, may be used by itself."""
|
"""The input part of a TextArea, may be used by itself."""
|
||||||
|
|
||||||
tag = "TextArea"
|
tag = "TextArea"
|
||||||
|
@ -8,16 +8,16 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal, Union
|
from typing import Any, Dict, Literal, Union
|
||||||
from reflex import el
|
|
||||||
from reflex.components.component import Component
|
from reflex.components.component import Component
|
||||||
from reflex.components.core.debounce import DebounceInput
|
from reflex.components.core.debounce import DebounceInput
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
from ..base import LiteralAccentColor, RadixThemesComponent
|
from ..base import LiteralAccentColor, RadixThemesComponent
|
||||||
|
|
||||||
LiteralTextAreaSize = Literal["1", "2", "3"]
|
LiteralTextAreaSize = Literal["1", "2", "3"]
|
||||||
|
|
||||||
class TextArea(RadixThemesComponent, el.Textarea):
|
class TextArea(RadixThemesComponent, elements.Textarea):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
|
@ -3,10 +3,10 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import Any, Dict, Literal, Union
|
from typing import Any, Dict, Literal, Union
|
||||||
|
|
||||||
from reflex.components import el
|
|
||||||
from reflex.components.base.fragment import Fragment
|
from reflex.components.base.fragment import Fragment
|
||||||
from reflex.components.component import Component, ComponentNamespace
|
from reflex.components.component import Component, ComponentNamespace
|
||||||
from reflex.components.core.debounce import DebounceInput
|
from reflex.components.core.debounce import DebounceInput
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.style import Style, format_as_emotion
|
from reflex.style import Style, format_as_emotion
|
||||||
from reflex.utils import console
|
from reflex.utils import console
|
||||||
@ -22,7 +22,7 @@ LiteralTextFieldSize = Literal["1", "2", "3"]
|
|||||||
LiteralTextFieldVariant = Literal["classic", "surface", "soft"]
|
LiteralTextFieldVariant = Literal["classic", "surface", "soft"]
|
||||||
|
|
||||||
|
|
||||||
class TextFieldRoot(el.Div, RadixThemesComponent):
|
class TextFieldRoot(elements.Div, RadixThemesComponent):
|
||||||
"""Captures user input with an optional slot for buttons and icons."""
|
"""Captures user input with an optional slot for buttons and icons."""
|
||||||
|
|
||||||
tag = "TextField.Root"
|
tag = "TextField.Root"
|
||||||
@ -197,4 +197,4 @@ class TextField(ComponentNamespace):
|
|||||||
__call__ = staticmethod(TextFieldRoot.create)
|
__call__ = staticmethod(TextFieldRoot.create)
|
||||||
|
|
||||||
|
|
||||||
text_field = TextField()
|
input = text_field = TextField()
|
||||||
|
@ -8,10 +8,10 @@ from reflex.vars import Var, BaseVar, ComputedVar
|
|||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from typing import Any, Dict, Literal, Union
|
from typing import Any, Dict, Literal, Union
|
||||||
from reflex.components import el
|
|
||||||
from reflex.components.base.fragment import Fragment
|
from reflex.components.base.fragment import Fragment
|
||||||
from reflex.components.component import Component, ComponentNamespace
|
from reflex.components.component import Component, ComponentNamespace
|
||||||
from reflex.components.core.debounce import DebounceInput
|
from reflex.components.core.debounce import DebounceInput
|
||||||
|
from reflex.components.el import elements
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.style import Style, format_as_emotion
|
from reflex.style import Style, format_as_emotion
|
||||||
from reflex.utils import console
|
from reflex.utils import console
|
||||||
@ -21,7 +21,7 @@ from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
|
|||||||
LiteralTextFieldSize = Literal["1", "2", "3"]
|
LiteralTextFieldSize = Literal["1", "2", "3"]
|
||||||
LiteralTextFieldVariant = Literal["classic", "surface", "soft"]
|
LiteralTextFieldVariant = Literal["classic", "surface", "soft"]
|
||||||
|
|
||||||
class TextFieldRoot(el.Div, RadixThemesComponent):
|
class TextFieldRoot(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -662,4 +662,4 @@ class TextField(ComponentNamespace):
|
|||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
text_field = TextField()
|
input = text_field = TextField()
|
||||||
|
@ -1,42 +1,16 @@
|
|||||||
"""Layout components."""
|
"""Layout components."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from .box import Box
|
from reflex import RADIX_THEMES_LAYOUT_MAPPING
|
||||||
from .center import Center
|
from reflex.utils import lazy_loader
|
||||||
from .container import Container
|
|
||||||
from .flex import Flex
|
|
||||||
from .grid import Grid
|
|
||||||
from .list import list_ns as list
|
|
||||||
from .section import Section
|
|
||||||
from .spacer import Spacer
|
|
||||||
from .stack import HStack, Stack, VStack
|
|
||||||
|
|
||||||
box = Box.create
|
_SUBMOD_ATTRS: dict[str, list[str]] = {
|
||||||
center = Center.create
|
"".join(k.split("components.radix.themes.layout.")[-1]): v
|
||||||
container = Container.create
|
for k, v in RADIX_THEMES_LAYOUT_MAPPING.items()
|
||||||
flex = Flex.create
|
}
|
||||||
grid = Grid.create
|
|
||||||
section = Section.create
|
|
||||||
spacer = Spacer.create
|
|
||||||
stack = Stack.create
|
|
||||||
hstack = HStack.create
|
|
||||||
vstack = VStack.create
|
|
||||||
list_item = list.item
|
|
||||||
ordered_list = list.ordered
|
|
||||||
unordered_list = list.unordered
|
|
||||||
|
|
||||||
__all__ = [
|
|
||||||
"box",
|
__getattr__, __dir__, __all__ = lazy_loader.attach(
|
||||||
"center",
|
__name__,
|
||||||
"container",
|
submod_attrs=_SUBMOD_ATTRS,
|
||||||
"flex",
|
)
|
||||||
"grid",
|
|
||||||
"section",
|
|
||||||
"spacer",
|
|
||||||
"stack",
|
|
||||||
"hstack",
|
|
||||||
"vstack",
|
|
||||||
"list",
|
|
||||||
"list_item",
|
|
||||||
"ordered_list",
|
|
||||||
"unordered_list",
|
|
||||||
]
|
|
||||||
|
21
reflex/components/radix/themes/layout/__init__.pyi
Normal file
21
reflex/components/radix/themes/layout/__init__.pyi
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
"""Stub file for reflex/components/radix/themes/layout/__init__.py"""
|
||||||
|
# ------------------- DO NOT EDIT ----------------------
|
||||||
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
||||||
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
from .box import box as box
|
||||||
|
from .center import center as center
|
||||||
|
from .container import container as container
|
||||||
|
from .flex import flex as flex
|
||||||
|
from .grid import grid as grid
|
||||||
|
from .section import section as section
|
||||||
|
from .spacer import spacer as spacer
|
||||||
|
from .stack import stack as stack
|
||||||
|
from .stack import hstack as hstack
|
||||||
|
from .stack import vstack as vstack
|
||||||
|
from .list import list_ns as list
|
||||||
|
from .list import list_item as list_item
|
||||||
|
from .list import ordered_list as ordered_list
|
||||||
|
from .list import unordered_list as unordered_list
|
||||||
|
from reflex import RADIX_THEMES_LAYOUT_MAPPING
|
||||||
|
from reflex.utils import lazy_loader
|
@ -1,12 +1,15 @@
|
|||||||
"""Declarative layout and common spacing props."""
|
"""Declarative layout and common spacing props."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
|
|
||||||
from ..base import RadixThemesComponent
|
from ..base import RadixThemesComponent
|
||||||
|
|
||||||
|
|
||||||
class Box(el.Div, RadixThemesComponent):
|
class Box(elements.Div, RadixThemesComponent):
|
||||||
"""A fundamental layout building block, based on `div` element."""
|
"""A fundamental layout building block, based on `div` element."""
|
||||||
|
|
||||||
tag = "Box"
|
tag = "Box"
|
||||||
|
|
||||||
|
|
||||||
|
box = Box.create
|
||||||
|
@ -7,10 +7,10 @@ from typing import Any, Dict, Literal, Optional, Union, overload
|
|||||||
from reflex.vars import Var, BaseVar, ComputedVar
|
from reflex.vars import Var, BaseVar, ComputedVar
|
||||||
from reflex.event import EventChain, EventHandler, EventSpec
|
from reflex.event import EventChain, EventHandler, EventSpec
|
||||||
from reflex.style import Style
|
from reflex.style import Style
|
||||||
from reflex import el
|
from reflex.components.el import elements
|
||||||
from ..base import RadixThemesComponent
|
from ..base import RadixThemesComponent
|
||||||
|
|
||||||
class Box(el.Div, RadixThemesComponent):
|
class Box(elements.Div, RadixThemesComponent):
|
||||||
@overload
|
@overload
|
||||||
@classmethod
|
@classmethod
|
||||||
def create( # type: ignore
|
def create( # type: ignore
|
||||||
@ -144,3 +144,5 @@ class Box(el.Div, RadixThemesComponent):
|
|||||||
A new component instance.
|
A new component instance.
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
box = Box.create
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user