Browse Source

Rename pynecone to reflex (#1236)

Nikhil Rao 1 year ago
parent
commit
139ce38df1
100 changed files with 519 additions and 3797 deletions
  1. 1 1
      .coveragerc
  2. 1 1
      .github/ISSUE_TEMPLATE/bug_report.md
  3. 3 3
      .github/workflows/build.yml
  4. 3 3
      .github/workflows/integration_examples.yml
  5. 3 3
      .github/workflows/integration_website.yml
  6. 3 3
      .pre-commit-config.yaml
  7. 21 21
      CONTRIBUTING.md
  8. 1 1
      LICENSE
  9. 16 0
      README.md
  10. 5 5
      docker-example/Dockerfile
  11. 12 12
      docker-example/README.md
  12. 1 1
      docker-example/requirements.txt
  13. 39 39
      docs/zh/zh_tw/README.md
  14. 181 146
      poetry.lock
  15. 0 1
      pynecone/compiler/__init__.py
  16. 0 3325
      pynecone/el/elements/__init__.py
  17. 0 1
      pynecone/utils/__init__.py
  18. 4 4
      pyproject.toml
  19. 0 0
      reflex/.templates/apps/counter/__init__.py
  20. 12 12
      reflex/.templates/apps/counter/counter.py
  21. 0 0
      reflex/.templates/apps/default/__init__.py
  22. 13 13
      reflex/.templates/apps/default/default.py
  23. 0 0
      reflex/.templates/assets/favicon.ico
  24. 3 3
      reflex/.templates/jinja/app/rxconfig.py.jinja2
  25. 0 0
      reflex/.templates/jinja/web/pages/_document.js.jinja2
  26. 0 0
      reflex/.templates/jinja/web/pages/base_page.js.jinja2
  27. 0 0
      reflex/.templates/jinja/web/pages/custom_component.js.jinja2
  28. 0 0
      reflex/.templates/jinja/web/pages/index.js.jinja2
  29. 0 0
      reflex/.templates/jinja/web/pages/utils.js.jinja2
  30. 0 0
      reflex/.templates/jinja/web/tailwind.config.js.jinja2
  31. 0 0
      reflex/.templates/jinja/web/utils/theme.js.jinja2
  32. 0 0
      reflex/.templates/web/.gitignore
  33. 0 0
      reflex/.templates/web/bun.lockb
  34. 0 0
      reflex/.templates/web/jsconfig.json
  35. 0 0
      reflex/.templates/web/next.config.js
  36. 1 1
      reflex/.templates/web/package.json
  37. 0 0
      reflex/.templates/web/pages/404.js
  38. 0 0
      reflex/.templates/web/pages/_app.js
  39. 0 0
      reflex/.templates/web/postcss.config.js
  40. 0 0
      reflex/.templates/web/styles/code/prism.js
  41. 0 0
      reflex/.templates/web/styles/tailwind.css
  42. 1 1
      reflex/.templates/web/utils/state.js
  43. 1 1
      reflex/__init__.py
  44. 1 1
      reflex/admin.py
  45. 18 18
      reflex/app.py
  46. 4 7
      reflex/base.py
  47. 1 0
      reflex/compiler/__init__.py
  48. 9 9
      reflex/compiler/compiler.py
  49. 8 8
      reflex/compiler/templates.py
  50. 8 8
      reflex/compiler/utils.py
  51. 0 0
      reflex/components/__init__.py
  52. 0 0
      reflex/components/base/__init__.py
  53. 4 4
      reflex/components/base/bare.py
  54. 1 1
      reflex/components/base/body.py
  55. 2 2
      reflex/components/base/document.py
  56. 1 1
      reflex/components/base/head.py
  57. 2 2
      reflex/components/base/link.py
  58. 2 2
      reflex/components/base/meta.py
  59. 10 10
      reflex/components/component.py
  60. 0 0
      reflex/components/datadisplay/__init__.py
  61. 2 2
      reflex/components/datadisplay/badge.py
  62. 9 9
      reflex/components/datadisplay/code.py
  63. 4 4
      reflex/components/datadisplay/datatable.py
  64. 2 2
      reflex/components/datadisplay/divider.py
  65. 1 1
      reflex/components/datadisplay/keyboard_key.py
  66. 4 4
      reflex/components/datadisplay/list.py
  67. 3 3
      reflex/components/datadisplay/stat.py
  68. 4 4
      reflex/components/datadisplay/table.py
  69. 6 6
      reflex/components/datadisplay/tag.py
  70. 0 0
      reflex/components/disclosure/__init__.py
  71. 3 3
      reflex/components/disclosure/accordion.py
  72. 3 3
      reflex/components/disclosure/tabs.py
  73. 2 2
      reflex/components/disclosure/transition.py
  74. 1 1
      reflex/components/disclosure/visuallyhidden.py
  75. 0 0
      reflex/components/feedback/__init__.py
  76. 3 3
      reflex/components/feedback/alert.py
  77. 3 3
      reflex/components/feedback/circularprogress.py
  78. 2 2
      reflex/components/feedback/progress.py
  79. 2 2
      reflex/components/feedback/skeleton.py
  80. 2 2
      reflex/components/feedback/spinner.py
  81. 0 0
      reflex/components/forms/__init__.py
  82. 2 2
      reflex/components/forms/button.py
  83. 3 3
      reflex/components/forms/checkbox.py
  84. 7 7
      reflex/components/forms/colormodeswitch.py
  85. 2 2
      reflex/components/forms/copytoclipboard.py
  86. 2 2
      reflex/components/forms/date_picker.py
  87. 2 2
      reflex/components/forms/date_time_picker.py
  88. 3 3
      reflex/components/forms/editable.py
  89. 2 2
      reflex/components/forms/email.py
  90. 3 3
      reflex/components/forms/form.py
  91. 2 2
      reflex/components/forms/iconbutton.py
  92. 4 4
      reflex/components/forms/input.py
  93. 4 4
      reflex/components/forms/multiselect.py
  94. 4 4
      reflex/components/forms/numberinput.py
  95. 2 2
      reflex/components/forms/password.py
  96. 4 4
      reflex/components/forms/pininput.py
  97. 7 7
      reflex/components/forms/radio.py
  98. 4 4
      reflex/components/forms/rangeslider.py
  99. 6 6
      reflex/components/forms/select.py
  100. 4 4
      reflex/components/forms/slider.py

+ 1 - 1
.coveragerc

@@ -1,5 +1,5 @@
 [run]
-source = pynecone
+source = reflex
 branch = true
 
 [report]

+ 1 - 1
.github/ISSUE_TEMPLATE/bug_report.md

@@ -22,7 +22,7 @@ If applicable, add screenshots to help explain your problem.
 
 ** Specifics (please complete the following information):**
  - Python Version:
- - Pynecone Version:
+ - Reflex Version:
  - OS: 
  - Browser (Optional):
  

+ 3 - 3
.github/workflows/build.yml

@@ -48,8 +48,8 @@ jobs:
       if: steps.cache-deps.outputs.cache-hit != 'true'
     - run: poetry install --no-interaction
     - run: poetry run pytest tests --cov --no-cov-on-fail --cov-report=
-    - run: poetry run pyright pynecone tests
+    - run: poetry run pyright reflex tests
     - run: poetry run ruff check . --format github
-    - run: find pynecone tests -name "*.py" -not -path pynecone/pc.py | xargs poetry run darglint
-    - run: poetry run black --check pynecone tests
+    - run: find reflex tests -name "*.py" -not -path reflex/reflex.py | xargs poetry run darglint
+    - run: poetry run black --check reflex tests
     - run: poetry run coverage html

+ 3 - 3
.github/workflows/integration_examples.yml

@@ -31,8 +31,8 @@ jobs:
       with:
         python-version: ${{ matrix.python-version }}
     
-    # Clone Pynecone Website Repo For integration tests
-    - name: Clone Pynecone Examples Repo
+    # Clone Reflex Website Repo For integration tests
+    - name: Clone Reflex Examples Repo
       uses: actions/checkout@v3
       with:
         repository: pynecone-io/pynecone-examples
@@ -64,7 +64,7 @@ jobs:
       run: poetry run pip install -r requirements.txt
     - name: Init Website
       working-directory: ./pynecone-examples/counter
-      run: poetry run pc init
+      run: poetry run reflex init
     - name: Check for errors
       run: |
         chmod +x ./scripts/integration.sh

+ 3 - 3
.github/workflows/integration_website.yml

@@ -31,8 +31,8 @@ jobs:
       with:
         python-version: ${{ matrix.python-version }}
 
-      # Clone Pynecone Website Repo For integration tests
-    - name: Clone Pynecone Website Repo
+      # Clone Reflex Website Repo For integration tests
+    - name: Clone Reflex Website Repo
       uses: actions/checkout@v3
       with:
         repository: pynecone-io/pcweb
@@ -65,7 +65,7 @@ jobs:
       run: poetry run pip install -r requirements.txt && poetry run pip install googletrans
     - name: Init Website
       working-directory: ./pcweb
-      run: poetry run pc init
+      run: poetry run reflex init
     - name: Run Website and Check for errors
       run: |
         chmod +x ./scripts/integration.sh

+ 3 - 3
.pre-commit-config.yaml

@@ -8,17 +8,17 @@ repos:
     rev: v1.1.313
     hooks:
     - id: pyright
-      args: [pynecone, tests]
+      args: [reflex, tests]
       language: system
 
   - repo: https://github.com/terrencepreilly/darglint
     rev: v1.8.1
     hooks:
     - id: darglint
-      exclude: '^pynecone/pc.py'
+      exclude: '^reflex/reflex.py'
 
   - repo: https://github.com/psf/black
     rev: 22.10.0
     hooks:
     - id: black
-      args: [pynecone, tests]
+      args: [reflex, tests]

+ 21 - 21
CONTRIBUTING.md

@@ -1,43 +1,43 @@
-# Welcome to Pynecone contributing guide! 🥳
+# Welcome to Reflex contributing guide! 🥳
 
 ## Getting started
 
-To navigate our codebase with confidence, see [Pynecone Docs](https://pynecone.io/docs/getting-started/introduction) :confetti_ball:. 
+To navigate our codebase with confidence, see [Reflex Docs](https://pynecone.io/docs/getting-started/introduction) :confetti_ball:. 
 
 ### Discussions
 
 - Have a question? Want to discuss a feature? [Start a discussion](https://github.com/pynecone-io/pynecone/discussions)
 
-    We welcome any discussions and questions. We want to make sure that Pynecone is the best it can be, and we can't do that without your help.
+    We welcome any discussions and questions. We want to make sure that Reflex is the best it can be, and we can't do that without your help.
 
 ### Issues
 
 * #### Create a new issue
 
-    If you spot a problem with anything in Pynecone feel free to create an issue. Even if you are not sure if its a problem with the framework or your own code, create an issue and we will do our best to answer or resolve it.
+    If you spot a problem with anything in Reflex feel free to create an issue. Even if you are not sure if its a problem with the framework or your own code, create an issue and we will do our best to answer or resolve it.
 
 * #### Solve an issue
 
-    Scan through our [existing issues](https://github.com/pynecone-io/pynecone/issues) to find one that interests you. You can narrow down the search using `labels` as filters. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. Any large issue changing the compiler of Pynecone should brought to the Pynecone maintainers for approval
+    Scan through our [existing issues](https://github.com/pynecone-io/pynecone/issues) to find one that interests you. You can narrow down the search using `labels` as filters. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. Any large issue changing the compiler of Reflex should brought to the Reflex maintainers for approval
 
-Thank you for supporting Pynecone!🎊
+Thank you for supporting Reflex!🎊
 
-## 💻 How to Run a Local Build of Pynecone 
-Here is a quick guide to how the run Pynecone repo locally so you can start contributing to the project.
+## 💻 How to Run a Local Build of Reflex 
+Here is a quick guide to how the run Reflex repo locally so you can start contributing to the project.
 
-First clone Pynecone:
+First clone Reflex:
 ``` bash
 git clone https://github.com/pynecone-io/pynecone.git
 ```
 
 Navigate into the repo:
 ``` bash
-cd pynecone
+cd reflex
 ```
 
 Install poetry version >= 1.4.0 and add it to your path (see [Poetry Docs](https://python-poetry.org/docs/#installation) for more info).
 
-Install your local Pynecone build:
+Install your local Reflex build:
 ``` bash
 poetry install
 ```
@@ -56,18 +56,18 @@ cd example
 
 Now Init/Run
 ``` bash
-poetry run pc init
-poetry run pc run
+poetry run reflex init
+poetry run reflex run
 ```
 
 All the changes you make to the repository will be reflected in your running app.
-* We have the examples folder in the .gitignore, so your changes in pynecone/examples won't be reflected in your commit.
+* We have the examples folder in the .gitignore, so your changes in reflex/examples won't be reflected in your commit.
 
 ## 🧪 Testing and QA
 
 Any feature or significant change added should be accompanied with unit tests.
 
-Within the 'test' directory of Pynecone you can add to a test file already there or create a new test python file if it doesn't fit into the existing layout.
+Within the 'test' directory of Reflex you can add to a test file already there or create a new test python file if it doesn't fit into the existing layout.
 
 What to unit test?
 - Any feature or significant change that has been added.
@@ -77,11 +77,11 @@ What to unit test?
 
 ## ✅ Making a PR
 
-Once you solve a current issue or improvement to Pynecone, you can make a pr, and we will review the changes. 
+Once you solve a current issue or improvement to Reflex, you can make a pr, and we will review the changes. 
 
 Before submitting, a pull request, ensure the following steps are taken and test passing.
 
-In your `pynecone` directory run make sure all the unit tests are still passing using the following command.
+In your `reflex` directory run make sure all the unit tests are still passing using the following command.
 This will fail if code coverage is below 80%.
 ``` bash
 poetry run pytest tests --cov --no-cov-on-fail --cov-report= 
@@ -89,12 +89,12 @@ poetry run pytest tests --cov --no-cov-on-fail --cov-report=
 Next make sure all the following tests pass. This ensures that every new change has proper documentation and type checking.
 ``` bash
 poetry run ruff check .
-poetry run pyright pynecone tests
-find pynecone tests -name "*.py" -not -path pynecone/pc.py | xargs poetry run darglint
+poetry run pyright reflex tests
+find reflex tests -name "*.py" -not -path reflex/reflex.py | xargs poetry run darglint
 ```
 Finally, run `black` to format your code.
 ``` bash
-poetry run black pynecone tests
+poetry run black reflex tests
 ```
 
 Consider installing git pre-commit hooks so Ruff, Pyright, Darglint and Black will run automatically before each commit.
@@ -103,4 +103,4 @@ Note that pre-commit will only be installed when you use a Python version >= 3.8
 pre-commit install
 ```
 
-That's it you can now submit your pr. Thanks for contributing to Pynecone!
+That's it you can now submit your pr. Thanks for contributing to Reflex!

+ 1 - 1
LICENSE

@@ -186,7 +186,7 @@
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright 2023, Pynecone Inc
+   Copyright 2023, Pynecone, Inc.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.

+ 16 - 0
README.md

@@ -1,3 +1,19 @@
+```diff
++ ATTENTION: Over the next week we will be changing our project name from Pynecone to Reflex.
+
+The new name aligns with our goal of allowing you to build apps easily, while also being flexible and powerful enough to handle all your use cases.
+
+Major Changes:
++ Our domain will switch from https://pynecone.io/ -> https://pynecone.io/
++ Our pip install will switch from pip install pynecone -> pip install reflex
++ Our Github repo will switch from https://github.com/pynecone-io/pynecone -> https://github.com/reflex-dev/reflex
++ Our library will change from import pynecone as pc to import reflex as rx
+
+We will have a feature freeze until we migrate our code and website to the new name.
+
+Our goal is to complete the transition by June 30. Thanks for your support - please message on Discord if you have any questions or concerns!
+```
+
 <div align="center">
 
 <img src="docs/images/cones.png">

+ 5 - 5
docker-example/Dockerfile

@@ -1,6 +1,6 @@
 FROM python:3.11-slim as base
 
-RUN adduser --disabled-password pynecone
+RUN adduser --disabled-password reflex
 
 
 FROM base as build
@@ -34,16 +34,16 @@ FROM runtime as init
 WORKDIR /app
 ENV BUN_INSTALL="/app/.bun"
 COPY --from=build /app/ /app/
-RUN pc init
+RUN reflex init
 
 
 FROM runtime
 
-COPY --chown=pynecone --from=init /app/ /app/
-USER pynecone
+COPY --chown=reflex --from=init /app/ /app/
+USER reflex
 WORKDIR /app
 
-CMD ["pc","run" , "--env", "prod"]
+CMD ["rx","run" , "--env", "prod"]
 
 EXPOSE 3000
 EXPOSE 8000

+ 12 - 12
docker-example/README.md

@@ -1,38 +1,38 @@
-# Pynecone Container Image Build
+# Reflex Container Image Build
 
-This example describes how to create and use a container image for Pynecone with your own code.
+This example describes how to create and use a container image for Reflex with your own code.
 
 ## Update Requirements
 
-The `requirements.txt` includes the pynecone package which is need to install Pynecone framework. If you use additional packages in your project you have add this in the `requirements.txt` first. Copy the `Dockerfile` and the `requirements.txt` file in your project folder.
+The `requirements.txt` includes the reflex package which is need to install Reflex framework. If you use additional packages in your project you have add this in the `requirements.txt` first. Copy the `Dockerfile` and the `requirements.txt` file in your project folder.
 
-## Customize Pynecone Config
+## Customize Reflex Config
 
-The `pcconfig.py` includes the configuration of your Pynecone service. Edit the file like the following configuration. If you want to use a custom database you can set the endpoint in this file.
+The `rxconfig.py` includes the configuration of your Reflex service. Edit the file like the following configuration. If you want to use a custom database you can set the endpoint in this file.
 
 ```python
-import pynecone as pc
+import reflex as rx
 
-config = pc.Config(
+config = rx.Config(
     app_name="app",
     api_url="0.0.0.0:8000",
     bun_path="/app/.bun/bin/bun",
-    db_url="sqlite:///pynecone.db",
+    db_url="sqlite:///reflex.db",
 )
 ```
 
-## Build Pynecone Container Image
+## Build Reflex Container Image
 
 To build your container image run the following command:
 
 ```bash
-docker build -t pynecone-project:latest .
+docker build -t reflex-project:latest .
 ```
 
 ## Start Container Service
 
-Finally, you can start your Pynecone container service as follows:
+Finally, you can start your Reflex container service as follows:
 
 ```bash
-docker run -d -p 3000:3000 -p 8000:8000 --name pynecone pynecone-project:latest
+docker run -d -p 3000:3000 -p 8000:8000 --name reflex reflex-project:latest
 ```

+ 1 - 1
docker-example/requirements.txt

@@ -1 +1 @@
-pynecone
+reflex

+ 39 - 39
docs/zh/zh_tw/README.md

@@ -7,9 +7,9 @@
 
 📑 [Docs](https://pynecone.io/docs/getting-started/introduction) &nbsp; 📱 [Component Library](https://pynecone.io/docs/library) &nbsp; 🖼️ [Gallery](https://pynecone.io/docs/gallery) &nbsp; 🛸 [Deployment](https://pynecone.io/docs/hosting/deploy)
 
-[![PyPI version](https://badge.fury.io/py/pynecone.svg)](https://badge.fury.io/py/pynecone)
+[![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
 ![tests](https://github.com/pynecone-io/pynecone/actions/workflows/build.yml/badge.svg)
-![versions](https://img.shields.io/pypi/pyversions/pynecone-io.svg)
+![versions](https://img.shields.io/pypi/pyversions/reflex-dev.svg)
 [![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
 
 </div>
@@ -24,25 +24,25 @@
 
 ## 📦 1. 安裝
 
-Pynecone 需要以下最低要求:
+Reflex 需要以下最低要求:
 
 -   Python 3.7+
 -   [Node.js 16.8.0+](https://nodejs.org/en/) (不用擔心,你不需要寫任何 JavaScript!)
 
 ```
-pip install pynecone
+pip install reflex
 ```
 
 ## 🥳 2. 建立你的第一個應用程式
 
-安裝 Pynecone 的同時也會安裝 `pc` 命令行工具. 通過創建一個新專案來測試是否安裝成功。
+安裝 Reflex 的同時也會安裝 `rx` 命令行工具. 通過創建一個新專案來測試是否安裝成功。
 
 把 my_app_name 替代為你的專案名字:
 
 ```
 mkdir my_app_name
 cd my_app_name
-pc init
+reflex init
 ```
 
 當你第一次運行這個命令,將會自動下載與安裝 [bun](https://bun.sh/)。
@@ -54,12 +54,12 @@ pc init
 你可以在開發者模式運行這個應用程式:
 
 ```
-pc run
+reflex run
 ```
 
 你可以看到你的應用程式運行在 http://localhost:3000。
 
-現在在以下位置修改原始碼 `my_app_name/my_app_name.py`,Pynecone 擁有快速重整所以你可以在保存程式碼後馬上看到更改。
+現在在以下位置修改原始碼 `my_app_name/my_app_name.py`,Reflex 擁有快速重整所以你可以在保存程式碼後馬上看到更改。
 
 ## 🫧 範例
 
@@ -76,12 +76,12 @@ pc run
 這是上述範例的完整程式碼,只需要一個 Python 檔案就可以完成!
 
 ```python
-import pynecone as pc
+import reflex as rx
 import openai
 
 openai.api_key = "YOUR_API_KEY"
 
-class State(pc.State):
+class State(rx.State):
     """應用程式狀態"""
     prompt = ""
     image_url = ""
@@ -101,22 +101,22 @@ class State(pc.State):
         self.image_made = True
 
 def index():
-    return pc.center(
-        pc.vstack(
-            pc.heading("DALL·E", font_size="1.5em"),
-            pc.input(placeholder="Enter a prompt..", on_blur=State.set_prompt),
-            pc.button(
+    return rx.center(
+        rx.vstack(
+            rx.heading("DALL·E", font_size="1.5em"),
+            rx.input(placeholder="Enter a prompt..", on_blur=State.set_prompt),
+            rx.button(
                 "產生圖片",
                 on_click=[State.process_image, State.get_image],
                 width="100%",
             ),
-            pc.divider(),
-            pc.cond(
+            rx.divider(),
+            rx.cond(
                 State.image_processing,
-                pc.circular_progress(is_indeterminate=True),
-                pc.cond(
+                rx.circular_progress(is_indeterminate=True),
+                rx.cond(
                      State.image_made,
-                     pc.image(
+                     rx.image(
                          src=State.image_url,
                          height="25em",
                          width="25em",
@@ -134,18 +134,18 @@ def index():
     )
 
 # 把狀態跟頁面添加到應用程式。
-app = pc.App(state=State)
-app.add_page(index, title="Pynecone:DALL·E")
+app = rx.App(state=State)
+app.add_page(index, title="Reflex:DALL·E")
 app.compile()
 ```
 
-### **Pynecone 中的圖形使用者介面**
+### **Reflex 中的圖形使用者介面**
 
 讓我們分解以上步驟。
 
 ```python
 def index():
-    return pc.center(
+    return rx.center(
         ...
     )
 ```
@@ -155,15 +155,15 @@ def index():
 我們用不同的元件像是 `center`, `vstack`, `input`, 和 `button` 來建立前端, 元件之間可以相互嵌入,來建立複雜的佈局。
 並且你可以使用關鍵字參數來使用 CSS 的全部功能。
 
-Pynecone 擁有 [60+ built-in components](https://pynecone.io/docs/library) 來幫助你開始建立應用程式。
+Reflex 擁有 [60+ built-in components](https://pynecone.io/docs/library) 來幫助你開始建立應用程式。
 我們正在積極添加元件, 但是你也可以簡單的自己創建一些元件 [create your own components](https://pynecone.io/docs/advanced-guide/wrapping-react)。
 
 ### **狀態**
 
-Pynecone 用 State 來渲染你的 UI。
+Reflex 用 State 來渲染你的 UI。
 
 ```python
-class State(pc.State):
+class State(rx.State):
     """應用程式狀態"""
     prompt = ""
     image_url = ""
@@ -191,7 +191,7 @@ State 定義了應用程式中所有可以更改的變數及變更他們的 func
         self.image_made = True
 ```
 
-在 State 中我們定義了事件處理程序來更改狀態變數,事件處理程序是我們在 Pynecone 中修改狀態的方法,可以使用它們來回應使用者操作,像是點擊按鈕或在文字框輸入這些動作都是一種事件。
+在 State 中我們定義了事件處理程序來更改狀態變數,事件處理程序是我們在 Reflex 中修改狀態的方法,可以使用它們來回應使用者操作,像是點擊按鈕或在文字框輸入這些動作都是一種事件。
 
 我們的 DALL·E. 應用程式有兩個事件處理程序 `process_image` 表示正在生成圖片和 `get_image` 呼叫 OpenAI API。
 
@@ -200,36 +200,36 @@ State 定義了應用程式中所有可以更改的變數及變更他們的 func
 最後定義我們的應用程式並傳送狀態給它。
 
 ```python
-app = pc.App(state=State)
+app = rx.App(state=State)
 ```
 
 添加從應用程式根目錄到 index 元件的路由。 我們也添加了一個標題將會顯示在 預覽/瀏覽 分頁。
 
 ```python
-app.add_page(index, title="Pynecone:DALL-E")
+app.add_page(index, title="Reflex:DALL-E")
 app.compile()
 ```
 
 你可以藉由通過添加路由來增加更多頁面。
 
-## Pynecone 狀態
+## Reflex 狀態
 
-Pynecone 於 2022 年 12 月推出。
+Reflex 於 2022 年 12 月推出。
 
 截至 2023 年 3 月,我們處於 **Public Beta** 階段。
 
--   :white_check_mark: **Public Alpha**: 任何人都可以安裝與使用 Pynecone,或許包含問題, 但我們正在積極的解決他們。
+-   :white_check_mark: **Public Alpha**: 任何人都可以安裝與使用 Reflex,或許包含問題, 但我們正在積極的解決他們。
 -   :large_orange_diamond: **Public Beta**: 對於非軟體產品來說足夠穩定。
--   **Public Hosting Beta**: _Optionally_, 部屬跟託管你的 Pynecone!
--   **Public**: 這版本的 Pynecone 是可用於軟體產品的。
+-   **Public Hosting Beta**: _Optionally_, 部屬跟託管你的 Reflex!
+-   **Public**: 這版本的 Reflex 是可用於軟體產品的。
 
-Pynecone 每周都有新功能和釋出新版本! 確保你按下 :star: 和 :eyes: watch 這個 repository 來確保知道最新資訊。
+Reflex 每周都有新功能和釋出新版本! 確保你按下 :star: 和 :eyes: watch 這個 repository 來確保知道最新資訊。
 
 ## 貢獻
 
-我們歡迎任何大小的貢獻,以下是幾個好的方法來加入 Pynecone 社群。
+我們歡迎任何大小的貢獻,以下是幾個好的方法來加入 Reflex 社群。
 
--   **加入我們的 Discord**: 我們的 [Discord](https://discord.gg/T5WSbC2YtQ) 是幫助你加入 Pynecone 專案和討論或貢獻最棒的地方。
+-   **加入我們的 Discord**: 我們的 [Discord](https://discord.gg/T5WSbC2YtQ) 是幫助你加入 Reflex 專案和討論或貢獻最棒的地方。
 -   **GitHub Discussions**: 一個來討論你想要添加的功能或是需要澄清的事情的好地方。
 -   **GitHub Issues**: 報告錯誤的絕佳地方,另外你可以試著解決一些 issue 和送出 PR。
 
@@ -237,4 +237,4 @@ Pynecone 每周都有新功能和釋出新版本! 確保你按下 :star: 和 :ey
 
 ## 授權
 
-Pynecone 是一個開源專案且使用 [Apache License 2.0](LICENSE) 授權。
+Reflex 是一個開源專案且使用 [Apache License 2.0](LICENSE) 授權。

+ 181 - 146
poetry.lock

@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand.
 
 [[package]]
 name = "anyio"
@@ -285,18 +285,18 @@ test = ["pytest (>=6)"]
 
 [[package]]
 name = "fastapi"
-version = "0.96.0"
+version = "0.96.1"
 description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "fastapi-0.96.0-py3-none-any.whl", hash = "sha256:b8e11fe81e81eab4e1504209917338e0b80f783878a42c2b99467e5e1019a1e9"},
-    {file = "fastapi-0.96.0.tar.gz", hash = "sha256:71232d47c2787446991c81c41c249f8a16238d52d779c0e6b43927d3773dbe3c"},
+    {file = "fastapi-0.96.1-py3-none-any.whl", hash = "sha256:22d773ce95f14f04f8f37a0c8998fc163e67af83b65510d2879de6cbaaa10215"},
+    {file = "fastapi-0.96.1.tar.gz", hash = "sha256:5c1d243030e63089ccfc0aec69c2da6d619943917727e8e82ee502358d5119bf"},
 ]
 
 [package.dependencies]
-pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0"
+pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0"
 starlette = ">=0.27.0,<0.28.0"
 
 [package.extras]
@@ -307,19 +307,19 @@ test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6
 
 [[package]]
 name = "filelock"
-version = "3.12.0"
+version = "3.12.2"
 description = "A platform independent file lock."
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "filelock-3.12.0-py3-none-any.whl", hash = "sha256:ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"},
-    {file = "filelock-3.12.0.tar.gz", hash = "sha256:fc03ae43288c013d2ea83c8597001b1129db351aad9c57fe2409327916b8e718"},
+    {file = "filelock-3.12.2-py3-none-any.whl", hash = "sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"},
+    {file = "filelock-3.12.2.tar.gz", hash = "sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81"},
 ]
 
 [package.extras]
-docs = ["furo (>=2023.3.27)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"]
+docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
+testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"]
 
 [[package]]
 name = "greenlet"
@@ -506,14 +506,14 @@ files = [
 
 [[package]]
 name = "importlib-metadata"
-version = "6.6.0"
+version = "6.7.0"
 description = "Read metadata from Python packages"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
-    {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+    {file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
+    {file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
 ]
 
 [package.dependencies]
@@ -523,7 +523,7 @@ zipp = ">=0.5"
 [package.extras]
 docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
 perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
 
 [[package]]
 name = "iniconfig"
@@ -583,62 +583,62 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
 
 [[package]]
 name = "markupsafe"
-version = "2.1.2"
+version = "2.1.3"
 description = "Safely add untrusted strings to HTML/XML markup."
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
-    {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
-    {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
-    {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
-    {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
-    {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
-    {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
+    {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
+    {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
+    {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
+    {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
+    {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
+    {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
 ]
 
 [[package]]
@@ -759,6 +759,41 @@ files = [
     {file = "numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155"},
 ]
 
+[[package]]
+name = "numpy"
+version = "1.25.0"
+description = "Fundamental package for array computing in Python"
+category = "dev"
+optional = false
+python-versions = ">=3.9"
+files = [
+    {file = "numpy-1.25.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8aa130c3042052d656751df5e81f6d61edff3e289b5994edcf77f54118a8d9f4"},
+    {file = "numpy-1.25.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e3f2b96e3b63c978bc29daaa3700c028fe3f049ea3031b58aa33fe2a5809d24"},
+    {file = "numpy-1.25.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6b267f349a99d3908b56645eebf340cb58f01bd1e773b4eea1a905b3f0e4208"},
+    {file = "numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aedd08f15d3045a4e9c648f1e04daca2ab1044256959f1f95aafeeb3d794c16"},
+    {file = "numpy-1.25.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d183b5c58513f74225c376643234c369468e02947b47942eacbb23c1671f25d"},
+    {file = "numpy-1.25.0-cp310-cp310-win32.whl", hash = "sha256:d76a84998c51b8b68b40448ddd02bd1081bb33abcdc28beee6cd284fe11036c6"},
+    {file = "numpy-1.25.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0dc071017bc00abb7d7201bac06fa80333c6314477b3d10b52b58fa6a6e38f6"},
+    {file = "numpy-1.25.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c69fe5f05eea336b7a740e114dec995e2f927003c30702d896892403df6dbf0"},
+    {file = "numpy-1.25.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c7211d7920b97aeca7b3773a6783492b5b93baba39e7c36054f6e749fc7490c"},
+    {file = "numpy-1.25.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecc68f11404930e9c7ecfc937aa423e1e50158317bf67ca91736a9864eae0232"},
+    {file = "numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e559c6afbca484072a98a51b6fa466aae785cfe89b69e8b856c3191bc8872a82"},
+    {file = "numpy-1.25.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6c284907e37f5e04d2412950960894b143a648dea3f79290757eb878b91acbd1"},
+    {file = "numpy-1.25.0-cp311-cp311-win32.whl", hash = "sha256:95367ccd88c07af21b379be1725b5322362bb83679d36691f124a16357390153"},
+    {file = "numpy-1.25.0-cp311-cp311-win_amd64.whl", hash = "sha256:b76aa836a952059d70a2788a2d98cb2a533ccd46222558b6970348939e55fc24"},
+    {file = "numpy-1.25.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b792164e539d99d93e4e5e09ae10f8cbe5466de7d759fc155e075237e0c274e4"},
+    {file = "numpy-1.25.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7cd981ccc0afe49b9883f14761bb57c964df71124dcd155b0cba2b591f0d64b9"},
+    {file = "numpy-1.25.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa48bebfb41f93043a796128854b84407d4df730d3fb6e5dc36402f5cd594c0"},
+    {file = "numpy-1.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5177310ac2e63d6603f659fadc1e7bab33dd5a8db4e0596df34214eeab0fee3b"},
+    {file = "numpy-1.25.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0ac6edfb35d2a99aaf102b509c8e9319c499ebd4978df4971b94419a116d0790"},
+    {file = "numpy-1.25.0-cp39-cp39-win32.whl", hash = "sha256:7412125b4f18aeddca2ecd7219ea2d2708f697943e6f624be41aa5f8a9852cc4"},
+    {file = "numpy-1.25.0-cp39-cp39-win_amd64.whl", hash = "sha256:26815c6c8498dc49d81faa76d61078c4f9f0859ce7817919021b9eba72b425e3"},
+    {file = "numpy-1.25.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5b1b90860bf7d8a8c313b372d4f27343a54f415b20fb69dd601b7efe1029c91e"},
+    {file = "numpy-1.25.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85cdae87d8c136fd4da4dad1e48064d700f63e923d5af6c8c782ac0df8044542"},
+    {file = "numpy-1.25.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cc3fda2b36482891db1060f00f881c77f9423eead4c3579629940a3e12095fe8"},
+    {file = "numpy-1.25.0.tar.gz", hash = "sha256:f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19"},
+]
+
 [[package]]
 name = "packaging"
 version = "23.1"
@@ -876,33 +911,33 @@ files = [
 
 [[package]]
 name = "platformdirs"
-version = "3.5.1"
+version = "3.8.0"
 description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"},
-    {file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"},
+    {file = "platformdirs-3.8.0-py3-none-any.whl", hash = "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e"},
+    {file = "platformdirs-3.8.0.tar.gz", hash = "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"},
 ]
 
 [package.dependencies]
-typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""}
+typing-extensions = {version = ">=4.6.3", markers = "python_version < \"3.8\""}
 
 [package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
+docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"]
 
 [[package]]
 name = "plotly"
-version = "5.14.1"
+version = "5.15.0"
 description = "An open-source, interactive data visualization library for Python"
 category = "main"
 optional = false
 python-versions = ">=3.6"
 files = [
-    {file = "plotly-5.14.1-py2.py3-none-any.whl", hash = "sha256:a63f3ad9e4cc2e02902a738e5e3e7f3d1307f2732ac71a6c28f1238ed3052826"},
-    {file = "plotly-5.14.1.tar.gz", hash = "sha256:bcac86d7fcba3eff7260c1eddc36ca34dae2aded10a0709808446565e0e53b93"},
+    {file = "plotly-5.15.0-py2.py3-none-any.whl", hash = "sha256:3508876bbd6aefb8a692c21a7128ca87ce42498dd041efa5c933ee44b55aab24"},
+    {file = "plotly-5.15.0.tar.gz", hash = "sha256:822eabe53997d5ebf23c77e1d1fcbf3bb6aa745eb05d532afd4b6f9a2e2ab02f"},
 ]
 
 [package.dependencies]
@@ -911,14 +946,14 @@ tenacity = ">=6.2.0"
 
 [[package]]
 name = "pluggy"
-version = "1.0.0"
+version = "1.2.0"
 description = "plugin and hook calling mechanisms for python"
 category = "dev"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 files = [
-    {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
-    {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+    {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"},
+    {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"},
 ]
 
 [package.dependencies]
@@ -930,14 +965,14 @@ testing = ["pytest", "pytest-benchmark"]
 
 [[package]]
 name = "pre-commit"
-version = "3.3.2"
+version = "3.3.3"
 description = "A framework for managing and maintaining multi-language pre-commit hooks."
 category = "dev"
 optional = false
 python-versions = ">=3.8"
 files = [
-    {file = "pre_commit-3.3.2-py2.py3-none-any.whl", hash = "sha256:8056bc52181efadf4aac792b1f4f255dfd2fb5a350ded7335d251a68561e8cb6"},
-    {file = "pre_commit-3.3.2.tar.gz", hash = "sha256:66e37bec2d882de1f17f88075047ef8962581f83c234ac08da21a0c58953d1f0"},
+    {file = "pre_commit-3.3.3-py2.py3-none-any.whl", hash = "sha256:10badb65d6a38caff29703362271d7dca483d01da88f9d7e05d0b97171c136cb"},
+    {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"},
 ]
 
 [package.dependencies]
@@ -976,48 +1011,48 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
 
 [[package]]
 name = "pydantic"
-version = "1.10.8"
+version = "1.10.9"
 description = "Data validation and settings management using python type hints"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "pydantic-1.10.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1243d28e9b05003a89d72e7915fdb26ffd1d39bdd39b00b7dbe4afae4b557f9d"},
-    {file = "pydantic-1.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0ab53b609c11dfc0c060d94335993cc2b95b2150e25583bec37a49b2d6c6c3f"},
-    {file = "pydantic-1.10.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9613fadad06b4f3bc5db2653ce2f22e0de84a7c6c293909b48f6ed37b83c61f"},
-    {file = "pydantic-1.10.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df7800cb1984d8f6e249351139667a8c50a379009271ee6236138a22a0c0f319"},
-    {file = "pydantic-1.10.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0c6fafa0965b539d7aab0a673a046466d23b86e4b0e8019d25fd53f4df62c277"},
-    {file = "pydantic-1.10.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e82d4566fcd527eae8b244fa952d99f2ca3172b7e97add0b43e2d97ee77f81ab"},
-    {file = "pydantic-1.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:ab523c31e22943713d80d8d342d23b6f6ac4b792a1e54064a8d0cf78fd64e800"},
-    {file = "pydantic-1.10.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:666bdf6066bf6dbc107b30d034615d2627e2121506c555f73f90b54a463d1f33"},
-    {file = "pydantic-1.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:35db5301b82e8661fa9c505c800d0990bc14e9f36f98932bb1d248c0ac5cada5"},
-    {file = "pydantic-1.10.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90c1e29f447557e9e26afb1c4dbf8768a10cc676e3781b6a577841ade126b85"},
-    {file = "pydantic-1.10.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93e766b4a8226e0708ef243e843105bf124e21331694367f95f4e3b4a92bbb3f"},
-    {file = "pydantic-1.10.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:88f195f582851e8db960b4a94c3e3ad25692c1c1539e2552f3df7a9e972ef60e"},
-    {file = "pydantic-1.10.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:34d327c81e68a1ecb52fe9c8d50c8a9b3e90d3c8ad991bfc8f953fb477d42fb4"},
-    {file = "pydantic-1.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:d532bf00f381bd6bc62cabc7d1372096b75a33bc197a312b03f5838b4fb84edd"},
-    {file = "pydantic-1.10.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7d5b8641c24886d764a74ec541d2fc2c7fb19f6da2a4001e6d580ba4a38f7878"},
-    {file = "pydantic-1.10.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b1f6cb446470b7ddf86c2e57cd119a24959af2b01e552f60705910663af09a4"},
-    {file = "pydantic-1.10.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c33b60054b2136aef8cf190cd4c52a3daa20b2263917c49adad20eaf381e823b"},
-    {file = "pydantic-1.10.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1952526ba40b220b912cdc43c1c32bcf4a58e3f192fa313ee665916b26befb68"},
-    {file = "pydantic-1.10.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bb14388ec45a7a0dc429e87def6396f9e73c8c77818c927b6a60706603d5f2ea"},
-    {file = "pydantic-1.10.8-cp37-cp37m-win_amd64.whl", hash = "sha256:16f8c3e33af1e9bb16c7a91fc7d5fa9fe27298e9f299cff6cb744d89d573d62c"},
-    {file = "pydantic-1.10.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ced8375969673929809d7f36ad322934c35de4af3b5e5b09ec967c21f9f7887"},
-    {file = "pydantic-1.10.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93e6bcfccbd831894a6a434b0aeb1947f9e70b7468f274154d03d71fabb1d7c6"},
-    {file = "pydantic-1.10.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:191ba419b605f897ede9892f6c56fb182f40a15d309ef0142212200a10af4c18"},
-    {file = "pydantic-1.10.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:052d8654cb65174d6f9490cc9b9a200083a82cf5c3c5d3985db765757eb3b375"},
-    {file = "pydantic-1.10.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ceb6a23bf1ba4b837d0cfe378329ad3f351b5897c8d4914ce95b85fba96da5a1"},
-    {file = "pydantic-1.10.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f2e754d5566f050954727c77f094e01793bcb5725b663bf628fa6743a5a9108"},
-    {file = "pydantic-1.10.8-cp38-cp38-win_amd64.whl", hash = "sha256:6a82d6cda82258efca32b40040228ecf43a548671cb174a1e81477195ed3ed56"},
-    {file = "pydantic-1.10.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e59417ba8a17265e632af99cc5f35ec309de5980c440c255ab1ca3ae96a3e0e"},
-    {file = "pydantic-1.10.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:84d80219c3f8d4cad44575e18404099c76851bc924ce5ab1c4c8bb5e2a2227d0"},
-    {file = "pydantic-1.10.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e4148e635994d57d834be1182a44bdb07dd867fa3c2d1b37002000646cc5459"},
-    {file = "pydantic-1.10.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12f7b0bf8553e310e530e9f3a2f5734c68699f42218bf3568ef49cd9b0e44df4"},
-    {file = "pydantic-1.10.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:42aa0c4b5c3025483240a25b09f3c09a189481ddda2ea3a831a9d25f444e03c1"},
-    {file = "pydantic-1.10.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17aef11cc1b997f9d574b91909fed40761e13fac438d72b81f902226a69dac01"},
-    {file = "pydantic-1.10.8-cp39-cp39-win_amd64.whl", hash = "sha256:66a703d1983c675a6e0fed8953b0971c44dba48a929a2000a493c3772eb61a5a"},
-    {file = "pydantic-1.10.8-py3-none-any.whl", hash = "sha256:7456eb22ed9aaa24ff3e7b4757da20d9e5ce2a81018c1b3ebd81a0b88a18f3b2"},
-    {file = "pydantic-1.10.8.tar.gz", hash = "sha256:1410275520dfa70effadf4c21811d755e7ef9bb1f1d077a21958153a92c8d9ca"},
+    {file = "pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e692dec4a40bfb40ca530e07805b1208c1de071a18d26af4a2a0d79015b352ca"},
+    {file = "pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c52eb595db83e189419bf337b59154bdcca642ee4b2a09e5d7797e41ace783f"},
+    {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:939328fd539b8d0edf244327398a667b6b140afd3bf7e347cf9813c736211896"},
+    {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b48d3d634bca23b172f47f2335c617d3fcb4b3ba18481c96b7943a4c634f5c8d"},
+    {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f0b7628fb8efe60fe66fd4adadd7ad2304014770cdc1f4934db41fe46cc8825f"},
+    {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1aa5c2410769ca28aa9a7841b80d9d9a1c5f223928ca8bec7e7c9a34d26b1d4"},
+    {file = "pydantic-1.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:eec39224b2b2e861259d6f3c8b6290d4e0fbdce147adb797484a42278a1a486f"},
+    {file = "pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d111a21bbbfd85c17248130deac02bbd9b5e20b303338e0dbe0faa78330e37e0"},
+    {file = "pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e9aec8627a1a6823fc62fb96480abe3eb10168fd0d859ee3d3b395105ae19a7"},
+    {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07293ab08e7b4d3c9d7de4949a0ea571f11e4557d19ea24dd3ae0c524c0c334d"},
+    {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee829b86ce984261d99ff2fd6e88f2230068d96c2a582f29583ed602ef3fc2c"},
+    {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4b466a23009ff5cdd7076eb56aca537c745ca491293cc38e72bf1e0e00de5b91"},
+    {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7847ca62e581e6088d9000f3c497267868ca2fa89432714e21a4fb33a04d52e8"},
+    {file = "pydantic-1.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:7845b31959468bc5b78d7b95ec52fe5be32b55d0d09983a877cca6aedc51068f"},
+    {file = "pydantic-1.10.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:517a681919bf880ce1dac7e5bc0c3af1e58ba118fd774da2ffcd93c5f96eaece"},
+    {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67195274fd27780f15c4c372f4ba9a5c02dad6d50647b917b6a92bf00b3d301a"},
+    {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2196c06484da2b3fded1ab6dbe182bdabeb09f6318b7fdc412609ee2b564c49a"},
+    {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6257bb45ad78abacda13f15bde5886efd6bf549dd71085e64b8dcf9919c38b60"},
+    {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3283b574b01e8dbc982080d8287c968489d25329a463b29a90d4157de4f2baaf"},
+    {file = "pydantic-1.10.9-cp37-cp37m-win_amd64.whl", hash = "sha256:5f8bbaf4013b9a50e8100333cc4e3fa2f81214033e05ac5aa44fa24a98670a29"},
+    {file = "pydantic-1.10.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9cd67fb763248cbe38f0593cd8611bfe4b8ad82acb3bdf2b0898c23415a1f82"},
+    {file = "pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f50e1764ce9353be67267e7fd0da08349397c7db17a562ad036aa7c8f4adfdb6"},
+    {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73ef93e5e1d3c8e83f1ff2e7fdd026d9e063c7e089394869a6e2985696693766"},
+    {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:128d9453d92e6e81e881dd7e2484e08d8b164da5507f62d06ceecf84bf2e21d3"},
+    {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ad428e92ab68798d9326bb3e5515bc927444a3d71a93b4a2ca02a8a5d795c572"},
+    {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fab81a92f42d6d525dd47ced310b0c3e10c416bbfae5d59523e63ea22f82b31e"},
+    {file = "pydantic-1.10.9-cp38-cp38-win_amd64.whl", hash = "sha256:963671eda0b6ba6926d8fc759e3e10335e1dc1b71ff2a43ed2efd6996634dafb"},
+    {file = "pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:970b1bdc6243ef663ba5c7e36ac9ab1f2bfecb8ad297c9824b542d41a750b298"},
+    {file = "pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7e1d5290044f620f80cf1c969c542a5468f3656de47b41aa78100c5baa2b8276"},
+    {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83fcff3c7df7adff880622a98022626f4f6dbce6639a88a15a3ce0f96466cb60"},
+    {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0da48717dc9495d3a8f215e0d012599db6b8092db02acac5e0d58a65248ec5bc"},
+    {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0a2aabdc73c2a5960e87c3ffebca6ccde88665616d1fd6d3db3178ef427b267a"},
+    {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9863b9420d99dfa9c064042304868e8ba08e89081428a1c471858aa2af6f57c4"},
+    {file = "pydantic-1.10.9-cp39-cp39-win_amd64.whl", hash = "sha256:e7c9900b43ac14110efa977be3da28931ffc74c27e96ee89fbcaaf0b0fe338e1"},
+    {file = "pydantic-1.10.9-py3-none-any.whl", hash = "sha256:6cafde02f6699ce4ff643417d1a9223716ec25e228ddc3b436fe7e2d25a1f305"},
+    {file = "pydantic-1.10.9.tar.gz", hash = "sha256:95c70da2cd3b6ddf3b9645ecaa8d98f3d80c606624b6d245558d202cd23ea3be"},
 ]
 
 [package.dependencies]
@@ -1044,14 +1079,14 @@ plugins = ["importlib-metadata"]
 
 [[package]]
 name = "pyright"
-version = "1.1.311"
+version = "1.1.315"
 description = "Command line wrapper for pyright"
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "pyright-1.1.311-py3-none-any.whl", hash = "sha256:04df30c6b31d05068effe5563411291c876f5e4221d0af225a267b61dce1ca85"},
-    {file = "pyright-1.1.311.tar.gz", hash = "sha256:554b555d3f770e8da2e76d6bb94e2ac63b3edc7dcd5fb8de202f9dd53e36689a"},
+    {file = "pyright-1.1.315-py3-none-any.whl", hash = "sha256:262744daa7455f6056f6d6609b6278258e2fd7bd100d8937203516ee71d0eb93"},
+    {file = "pyright-1.1.315.tar.gz", hash = "sha256:f124400a1a72ccc5fd04836e7e48ed235e8f7929bcc42b270a571fb34df17979"},
 ]
 
 [package.dependencies]
@@ -1064,14 +1099,14 @@ dev = ["twine (>=3.4.1)"]
 
 [[package]]
 name = "pytest"
-version = "7.3.1"
+version = "7.4.0"
 description = "pytest: simple powerful testing with Python"
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
-    {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
+    {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"},
+    {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"},
 ]
 
 [package.dependencies]
@@ -1084,7 +1119,7 @@ pluggy = ">=0.12,<2.0"
 tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
 
 [package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
 
 [[package]]
 name = "pytest-asyncio"
@@ -1127,14 +1162,14 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
 
 [[package]]
 name = "pytest-mock"
-version = "3.10.0"
+version = "3.11.1"
 description = "Thin-wrapper around the mock package for easier use with pytest"
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "pytest-mock-3.10.0.tar.gz", hash = "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"},
-    {file = "pytest_mock-3.10.0-py3-none-any.whl", hash = "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b"},
+    {file = "pytest-mock-3.11.1.tar.gz", hash = "sha256:7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f"},
+    {file = "pytest_mock-3.11.1-py3-none-any.whl", hash = "sha256:21c279fff83d70763b05f8874cc9cfb3fcacd6d354247a976f9529d19f9acf39"},
 ]
 
 [package.dependencies]
@@ -1326,18 +1361,18 @@ idna2008 = ["idna"]
 
 [[package]]
 name = "rich"
-version = "13.4.1"
+version = "13.4.2"
 description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
 category = "main"
 optional = false
 python-versions = ">=3.7.0"
 files = [
-    {file = "rich-13.4.1-py3-none-any.whl", hash = "sha256:d204aadb50b936bf6b1a695385429d192bc1fdaf3e8b907e8e26f4c4e4b5bf75"},
-    {file = "rich-13.4.1.tar.gz", hash = "sha256:76f6b65ea7e5c5d924ba80e322231d7cb5b5981aa60bfc1e694f1bc097fe6fe1"},
+    {file = "rich-13.4.2-py3-none-any.whl", hash = "sha256:8f87bc7ee54675732fa66a05ebfe489e27264caeeff3728c945d25971b6485ec"},
+    {file = "rich-13.4.2.tar.gz", hash = "sha256:d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898"},
 ]
 
 [package.dependencies]
-markdown-it-py = ">=2.2.0,<3.0.0"
+markdown-it-py = ">=2.2.0"
 pygments = ">=2.13.0,<3.0.0"
 typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""}
 
@@ -1372,14 +1407,14 @@ files = [
 
 [[package]]
 name = "setuptools"
-version = "67.8.0"
+version = "68.0.0"
 description = "Easily download, build, install, upgrade, and uninstall Python packages"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"},
-    {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"},
+    {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"},
+    {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"},
 ]
 
 [package.extras]
@@ -1463,7 +1498,7 @@ files = [
 ]
 
 [package.dependencies]
-greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"}
+greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platform_machine == \"aarch64\" or python_version >= \"3\" and platform_machine == \"ppc64le\" or python_version >= \"3\" and platform_machine == \"x86_64\" or python_version >= \"3\" and platform_machine == \"amd64\" or python_version >= \"3\" and platform_machine == \"AMD64\" or python_version >= \"3\" and platform_machine == \"win32\" or python_version >= \"3\" and platform_machine == \"WIN32\""}
 importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
 
 [package.extras]
@@ -1657,14 +1692,14 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=5.2,<6.0)", "isort (>=5.0.6,<6.
 
 [[package]]
 name = "typing-extensions"
-version = "4.6.2"
+version = "4.6.3"
 description = "Backported and Experimental Type Hints for Python 3.7+"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "typing_extensions-4.6.2-py3-none-any.whl", hash = "sha256:3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"},
-    {file = "typing_extensions-4.6.2.tar.gz", hash = "sha256:06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c"},
+    {file = "typing_extensions-4.6.3-py3-none-any.whl", hash = "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26"},
+    {file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"},
 ]
 
 [[package]]
@@ -1689,24 +1724,24 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)",
 
 [[package]]
 name = "virtualenv"
-version = "20.23.0"
+version = "20.23.1"
 description = "Virtual Python Environment builder"
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "virtualenv-20.23.0-py3-none-any.whl", hash = "sha256:6abec7670e5802a528357fdc75b26b9f57d5d92f29c5462ba0fbe45feacc685e"},
-    {file = "virtualenv-20.23.0.tar.gz", hash = "sha256:a85caa554ced0c0afbd0d638e7e2d7b5f92d23478d05d17a76daeac8f279f924"},
+    {file = "virtualenv-20.23.1-py3-none-any.whl", hash = "sha256:34da10f14fea9be20e0fd7f04aba9732f84e593dac291b757ce42e3368a39419"},
+    {file = "virtualenv-20.23.1.tar.gz", hash = "sha256:8ff19a38c1021c742148edc4f81cb43d7f8c6816d2ede2ab72af5b84c749ade1"},
 ]
 
 [package.dependencies]
 distlib = ">=0.3.6,<1"
-filelock = ">=3.11,<4"
-platformdirs = ">=3.2,<4"
+filelock = ">=3.12,<4"
+platformdirs = ">=3.5.1,<4"
 
 [package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.7.1)", "time-machine (>=2.9)"]
+docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
+test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezer (>=0.4.6)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.8)", "time-machine (>=2.9)"]
 
 [[package]]
 name = "watchdog"

+ 0 - 1
pynecone/compiler/__init__.py

@@ -1 +0,0 @@
-"""The Pynecone compiler."""

+ 0 - 3325
pynecone/el/elements/__init__.py

@@ -1,3325 +0,0 @@
-"""Element classes. This is an auto-generated file. Do not edit. See ../generate.py."""
-from typing import Union
-
-from pynecone.el.element import Element
-from pynecone.vars import Var as PCVar
-
-
-class A(Element):  # noqa: E742
-    """Display the 'a' element."""
-
-    tag = "a"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    download: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    href: PCVar[Union[str, int, bool]]
-    href_lang: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    media: PCVar[Union[str, int, bool]]
-    ping: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    rel: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    shape: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    target: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-a = A.create
-
-
-class Abbr(Element):  # noqa: E742
-    """Display the abbr element."""
-
-    tag = "abbr"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-abbr = Abbr.create
-
-
-class Address(Element):  # noqa: E742
-    """Display the address element."""
-
-    tag = "address"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-address = Address.create
-
-
-class Area(Element):  # noqa: E742
-    """Display the area element."""
-
-    tag = "area"
-
-    access_key: PCVar[Union[str, int, bool]]
-    alt: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    coords: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    download: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    href: PCVar[Union[str, int, bool]]
-    href_lang: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    media: PCVar[Union[str, int, bool]]
-    ping: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    rel: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    shape: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    target: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-area = Area.create
-
-
-class Article(Element):  # noqa: E742
-    """Display the article element."""
-
-    tag = "article"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-article = Article.create
-
-
-class Aside(Element):  # noqa: E742
-    """Display the aside element."""
-
-    tag = "aside"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-aside = Aside.create
-
-
-class Audio(Element):  # noqa: E742
-    """Display the audio element."""
-
-    tag = "audio"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_play: PCVar[Union[str, int, bool]]
-    buffered: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    controls: PCVar[Union[str, int, bool]]
-    cross_origin: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    loop: PCVar[Union[str, int, bool]]
-    muted: PCVar[Union[str, int, bool]]
-    preload: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-audio = Audio.create
-
-
-class B(Element):  # noqa: E742
-    """Display the b element."""
-
-    tag = "b"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-b = B.create
-
-
-class Base(Element):  # noqa: E742
-    """Display the base element."""
-
-    tag = "base"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    href: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    target: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-base = Base.create
-
-
-class Bdi(Element):  # noqa: E742
-    """Display the bdi element."""
-
-    tag = "bdi"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-bdi = Bdi.create
-
-
-class Bdo(Element):  # noqa: E742
-    """Display the bdo element."""
-
-    tag = "bdo"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-bdo = Bdo.create
-
-
-class Blockquote(Element):  # noqa: E742
-    """Display the blockquote element."""
-
-    tag = "blockquote"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    cite: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-blockquote = Blockquote.create
-
-
-class Body(Element):  # noqa: E742
-    """Display the body element."""
-
-    tag = "body"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    background: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-body = Body.create
-
-
-class Br(Element):  # noqa: E742
-    """Display the br element."""
-
-    tag = "br"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-br = Br.create
-
-
-class Button(Element):  # noqa: E742
-    """Display the button element."""
-
-    tag = "button"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_focus: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    form_action: PCVar[Union[str, int, bool]]
-    form_enc_type: PCVar[Union[str, int, bool]]
-    form_method: PCVar[Union[str, int, bool]]
-    form_no_validate: PCVar[Union[str, int, bool]]
-    form_target: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-button = Button.create
-
-
-class Canvas(Element):  # noqa: E742
-    """Display the canvas element."""
-
-    tag = "canvas"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-canvas = Canvas.create
-
-
-class Caption(Element):  # noqa: E742
-    """Display the caption element."""
-
-    tag = "caption"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-caption = Caption.create
-
-
-class Cite(Element):  # noqa: E742
-    """Display the cite element."""
-
-    tag = "cite"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-cite = Cite.create
-
-
-class Code(Element):  # noqa: E742
-    """Display the code element."""
-
-    tag = "code"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-code = Code.create
-
-
-class Col(Element):  # noqa: E742
-    """Display the col element."""
-
-    tag = "col"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    span: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-col = Col.create
-
-
-class Colgroup(Element):  # noqa: E742
-    """Display the colgroup element."""
-
-    tag = "colgroup"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    span: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-colgroup = Colgroup.create
-
-
-class Data(Element):  # noqa: E742
-    """Display the data element."""
-
-    tag = "data"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-data = Data.create
-
-
-class Datalist(Element):  # noqa: E742
-    """Display the datalist element."""
-
-    tag = "datalist"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-datalist = Datalist.create
-
-
-class Dd(Element):  # noqa: E742
-    """Display the dd element."""
-
-    tag = "dd"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-dd = Dd.create
-
-
-class Del(Element):  # noqa: E742
-    """Display the del element."""
-
-    tag = "del"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    cite: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    date_time: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-del_ = Del.create
-
-
-class Details(Element):  # noqa: E742
-    """Display the details element."""
-
-    tag = "details"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    open: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-details = Details.create
-
-
-class Dfn(Element):  # noqa: E742
-    """Display the dfn element."""
-
-    tag = "dfn"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-dfn = Dfn.create
-
-
-class Dialog(Element):  # noqa: E742
-    """Display the dialog element."""
-
-    tag = "dialog"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    open: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-dialog = Dialog.create
-
-
-class Div(Element):  # noqa: E742
-    """Display the div element."""
-
-    tag = "div"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-div = Div.create
-
-
-class Dl(Element):  # noqa: E742
-    """Display the dl element."""
-
-    tag = "dl"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-dl = Dl.create
-
-
-class Dt(Element):  # noqa: E742
-    """Display the dt element."""
-
-    tag = "dt"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-dt = Dt.create
-
-
-class Em(Element):  # noqa: E742
-    """Display the em element."""
-
-    tag = "em"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-em = Em.create
-
-
-class Embed(Element):  # noqa: E742
-    """Display the embed element."""
-
-    tag = "embed"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-embed = Embed.create
-
-
-class Fieldset(Element):  # noqa: E742
-    """Display the fieldset element."""
-
-    tag = "fieldset"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-fieldset = Fieldset.create
-
-
-class Figcaption(Element):  # noqa: E742
-    """Display the figcaption element."""
-
-    tag = "figcaption"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-figcaption = Figcaption.create
-
-
-class Figure(Element):  # noqa: E742
-    """Display the figure element."""
-
-    tag = "figure"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-figure = Figure.create
-
-
-class Footer(Element):  # noqa: E742
-    """Display the footer element."""
-
-    tag = "footer"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-footer = Footer.create
-
-
-class Form(Element):  # noqa: E742
-    """Display the form element."""
-
-    tag = "form"
-
-    accept: PCVar[Union[str, int, bool]]
-    accept_charset: PCVar[Union[str, int, bool]]
-    access_key: PCVar[Union[str, int, bool]]
-    action: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_complete: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enc_type: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    method: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    no_validate: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    target: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-form = Form.create
-
-
-class H1(Element):  # noqa: E742
-    """Display the h1 element."""
-
-    tag = "h1"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h1 = H1.create
-
-
-class H2(Element):  # noqa: E742
-    """Display the h2 element."""
-
-    tag = "h2"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h2 = H2.create
-
-
-class H3(Element):  # noqa: E742
-    """Display the h3 element."""
-
-    tag = "h3"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h3 = H3.create
-
-
-class H4(Element):  # noqa: E742
-    """Display the h4 element."""
-
-    tag = "h4"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h4 = H4.create
-
-
-class H5(Element):  # noqa: E742
-    """Display the h5 element."""
-
-    tag = "h5"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h5 = H5.create
-
-
-class H6(Element):  # noqa: E742
-    """Display the h6 element."""
-
-    tag = "h6"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-h6 = H6.create
-
-
-class Head(Element):  # noqa: E742
-    """Display the head element."""
-
-    tag = "head"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-head = Head.create
-
-
-class Header(Element):  # noqa: E742
-    """Display the header element."""
-
-    tag = "header"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-header = Header.create
-
-
-class Hr(Element):  # noqa: E742
-    """Display the hr element."""
-
-    tag = "hr"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    color: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-hr = Hr.create
-
-
-class Html(Element):  # noqa: E742
-    """Display the html element."""
-
-    tag = "html"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    manifest: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-html = Html.create
-
-
-class I(Element):  # noqa: E742
-    """Display the i element."""
-
-    tag = "i"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-i = I.create
-
-
-class Iframe(Element):  # noqa: E742
-    """Display the iframe element."""
-
-    tag = "iframe"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    allow: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    csp: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    loading: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    sandbox: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    src_doc: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-iframe = Iframe.create
-
-
-class Img(Element):  # noqa: E742
-    """Display the img element."""
-
-    tag = "img"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    alt: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    border: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    cross_origin: PCVar[Union[str, int, bool]]
-    decoding: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    intrinsicsize: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    ismap: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    loading: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    sizes: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    src_set: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    use_map: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-img = Img.create
-
-
-class Input(Element):  # noqa: E742
-    """Display the input element."""
-
-    tag = "input"
-
-    accept: PCVar[Union[str, int, bool]]
-    access_key: PCVar[Union[str, int, bool]]
-    alt: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_complete: PCVar[Union[str, int, bool]]
-    auto_focus: PCVar[Union[str, int, bool]]
-    capture: PCVar[Union[str, int, bool]]
-    checked: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    dirname: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    form_action: PCVar[Union[str, int, bool]]
-    form_enc_type: PCVar[Union[str, int, bool]]
-    form_method: PCVar[Union[str, int, bool]]
-    form_no_validate: PCVar[Union[str, int, bool]]
-    form_target: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    list: PCVar[Union[str, int, bool]]
-    max: PCVar[Union[str, int, bool]]
-    max_length: PCVar[Union[str, int, bool]]
-    min_length: PCVar[Union[str, int, bool]]
-    min: PCVar[Union[str, int, bool]]
-    multiple: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    pattern: PCVar[Union[str, int, bool]]
-    placeholder: PCVar[Union[str, int, bool]]
-    read_only: PCVar[Union[str, int, bool]]
-    required: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    size: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    step: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-    use_map: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-input = Input.create
-
-
-class Ins(Element):  # noqa: E742
-    """Display the ins element."""
-
-    tag = "ins"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    cite: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    date_time: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-ins = Ins.create
-
-
-class Kbd(Element):  # noqa: E742
-    """Display the kbd element."""
-
-    tag = "kbd"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-kbd = Kbd.create
-
-
-class Label(Element):  # noqa: E742
-    """Display the label element."""
-
-    tag = "label"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    html_for: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-label = Label.create
-
-
-class Legend(Element):  # noqa: E742
-    """Display the legend element."""
-
-    tag = "legend"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-legend = Legend.create
-
-
-class Li(Element):  # noqa: E742
-    """Display the li element."""
-
-    tag = "li"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-li = Li.create
-
-
-class Link(Element):  # noqa: E742
-    """Display the link element."""
-
-    tag = "link"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    cross_origin: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    href: PCVar[Union[str, int, bool]]
-    href_lang: PCVar[Union[str, int, bool]]
-    integrity: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    media: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    rel: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    sizes: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-link = Link.create
-
-
-class Main(Element):  # noqa: E742
-    """Display the main element."""
-
-    tag = "main"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-main = Main.create
-
-
-class Map(Element):  # noqa: E742
-    """Display the map element."""
-
-    tag = "map"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-map = Map.create
-
-
-class Mark(Element):  # noqa: E742
-    """Display the mark element."""
-
-    tag = "mark"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-mark = Mark.create
-
-
-class Math(Element):  # noqa: E742
-    """Display the math element."""
-
-    tag = "math"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-math = Math.create
-
-
-class Menu(Element):  # noqa: E742
-    """Display the menu element."""
-
-    tag = "menu"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-menu = Menu.create
-
-
-class Meta(Element):  # noqa: E742
-    """Display the meta element."""
-
-    tag = "meta"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    char_set: PCVar[Union[str, int, bool]]
-    content: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    http_equiv: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-meta = Meta.create
-
-
-class Meter(Element):  # noqa: E742
-    """Display the meter element."""
-
-    tag = "meter"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    high: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    low: PCVar[Union[str, int, bool]]
-    max: PCVar[Union[str, int, bool]]
-    min: PCVar[Union[str, int, bool]]
-    optimum: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-meter = Meter.create
-
-
-class Nav(Element):  # noqa: E742
-    """Display the nav element."""
-
-    tag = "nav"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-nav = Nav.create
-
-
-class Noscript(Element):  # noqa: E742
-    """Display the noscript element."""
-
-    tag = "noscript"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-noscript = Noscript.create
-
-
-class Object(Element):  # noqa: E742
-    """Display the object element."""
-
-    tag = "object"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    border: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    data: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-    use_map: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-object = Object.create
-
-
-class Ol(Element):  # noqa: E742
-    """Display the ol element."""
-
-    tag = "ol"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    reversed: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    start: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-ol = Ol.create
-
-
-class Optgroup(Element):  # noqa: E742
-    """Display the optgroup element."""
-
-    tag = "optgroup"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    label: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-optgroup = Optgroup.create
-
-
-class Option(Element):  # noqa: E742
-    """Display the option element."""
-
-    tag = "option"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    label: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    selected: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-option = Option.create
-
-
-class Output(Element):  # noqa: E742
-    """Display the output element."""
-
-    tag = "output"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    html_for: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-output = Output.create
-
-
-class P(Element):  # noqa: E742
-    """Display the p element."""
-
-    tag = "p"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-p = P.create
-
-
-class Picture(Element):  # noqa: E742
-    """Display the picture element."""
-
-    tag = "picture"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-picture = Picture.create
-
-
-class Portal(Element):  # noqa: E742
-    """Display the portal element."""
-
-    tag = "portal"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-portal = Portal.create
-
-
-class Pre(Element):  # noqa: E742
-    """Display the pre element."""
-
-    tag = "pre"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-pre = Pre.create
-
-
-class Progress(Element):  # noqa: E742
-    """Display the progress element."""
-
-    tag = "progress"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    max: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    value: PCVar[Union[str, int, bool]]
-
-
-progress = Progress.create
-
-
-class Q(Element):  # noqa: E742
-    """Display the q element."""
-
-    tag = "q"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    cite: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-q = Q.create
-
-
-class Rp(Element):  # noqa: E742
-    """Display the rp element."""
-
-    tag = "rp"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-rp = Rp.create
-
-
-class Rt(Element):  # noqa: E742
-    """Display the rt element."""
-
-    tag = "rt"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-rt = Rt.create
-
-
-class Ruby(Element):  # noqa: E742
-    """Display the ruby element."""
-
-    tag = "ruby"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-ruby = Ruby.create
-
-
-class S(Element):  # noqa: E742
-    """Display the s element."""
-
-    tag = "s"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-s = S.create
-
-
-class Samp(Element):  # noqa: E742
-    """Display the samp element."""
-
-    tag = "samp"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-samp = Samp.create
-
-
-class Script(Element):  # noqa: E742
-    """Display the script element."""
-
-    tag = "script"
-
-    access_key: PCVar[Union[str, int, bool]]
-    async_: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    char_set: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    cross_origin: PCVar[Union[str, int, bool]]
-    defer: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    integrity: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    language: PCVar[Union[str, int, bool]]
-    referrer_policy: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-script = Script.create
-
-
-class Section(Element):  # noqa: E742
-    """Display the section element."""
-
-    tag = "section"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-section = Section.create
-
-
-class Select(Element):  # noqa: E742
-    """Display the select element."""
-
-    tag = "select"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_complete: PCVar[Union[str, int, bool]]
-    auto_focus: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    multiple: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    required: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    size: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-select = Select.create
-
-
-class Slot(Element):  # noqa: E742
-    """Display the slot element."""
-
-    tag = "slot"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-slot = Slot.create
-
-
-class Small(Element):  # noqa: E742
-    """Display the small element."""
-
-    tag = "small"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-small = Small.create
-
-
-class Source(Element):  # noqa: E742
-    """Display the source element."""
-
-    tag = "source"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    media: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    sizes: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    src_set: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-source = Source.create
-
-
-class Span(Element):  # noqa: E742
-    """Display the span element."""
-
-    tag = "span"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-span = Span.create
-
-
-class Strong(Element):  # noqa: E742
-    """Display the strong element."""
-
-    tag = "strong"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-strong = Strong.create
-
-
-class Style(Element):  # noqa: E742
-    """Display the style element."""
-
-    tag = "style"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    media: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    scoped: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    type: PCVar[Union[str, int, bool]]
-
-
-style = Style.create
-
-
-class Sub(Element):  # noqa: E742
-    """Display the sub element."""
-
-    tag = "sub"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-sub = Sub.create
-
-
-class Summary(Element):  # noqa: E742
-    """Display the summary element."""
-
-    tag = "summary"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-summary = Summary.create
-
-
-class Sup(Element):  # noqa: E742
-    """Display the sup element."""
-
-    tag = "sup"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-sup = Sup.create
-
-
-class Svg(Element):  # noqa: E742
-    """Display the svg element."""
-
-    tag = "svg"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-svg = Svg.create
-
-
-class Table(Element):  # noqa: E742
-    """Display the table element."""
-
-    tag = "table"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    background: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    border: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    summary: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-table = Table.create
-
-
-class Tbody(Element):  # noqa: E742
-    """Display the tbody element."""
-
-    tag = "tbody"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-tbody = Tbody.create
-
-
-class Td(Element):  # noqa: E742
-    """Display the td element."""
-
-    tag = "td"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    background: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    col_span: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    headers: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    row_span: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-td = Td.create
-
-
-class Template(Element):  # noqa: E742
-    """Display the template element."""
-
-    tag = "template"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-template = Template.create
-
-
-class Textarea(Element):  # noqa: E742
-    """Display the textarea element."""
-
-    tag = "textarea"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_complete: PCVar[Union[str, int, bool]]
-    auto_focus: PCVar[Union[str, int, bool]]
-    cols: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    dirname: PCVar[Union[str, int, bool]]
-    disabled: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    form: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    max_length: PCVar[Union[str, int, bool]]
-    min_length: PCVar[Union[str, int, bool]]
-    name: PCVar[Union[str, int, bool]]
-    placeholder: PCVar[Union[str, int, bool]]
-    read_only: PCVar[Union[str, int, bool]]
-    required: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    rows: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    wrap: PCVar[Union[str, int, bool]]
-
-
-textarea = Textarea.create
-
-
-class Tfoot(Element):  # noqa: E742
-    """Display the tfoot element."""
-
-    tag = "tfoot"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-tfoot = Tfoot.create
-
-
-class Th(Element):  # noqa: E742
-    """Display the th element."""
-
-    tag = "th"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    background: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    col_span: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    headers: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    row_span: PCVar[Union[str, int, bool]]
-    scope: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-th = Th.create
-
-
-class Thead(Element):  # noqa: E742
-    """Display the thead element."""
-
-    tag = "thead"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-thead = Thead.create
-
-
-class Time(Element):  # noqa: E742
-    """Display the time element."""
-
-    tag = "time"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    date_time: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-time = Time.create
-
-
-class Title(Element):  # noqa: E742
-    """Display the title element."""
-
-    tag = "title"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-title = Title.create
-
-
-class Tr(Element):  # noqa: E742
-    """Display the tr element."""
-
-    tag = "tr"
-
-    access_key: PCVar[Union[str, int, bool]]
-    align: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    bgcolor: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-tr = Tr.create
-
-
-class Track(Element):  # noqa: E742
-    """Display the track element."""
-
-    tag = "track"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    default: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    kind: PCVar[Union[str, int, bool]]
-    label: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    src_lang: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-track = Track.create
-
-
-class U(Element):  # noqa: E742
-    """Display the u element."""
-
-    tag = "u"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-u = U.create
-
-
-class Ul(Element):  # noqa: E742
-    """Display the ul element."""
-
-    tag = "ul"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-ul = Ul.create
-
-
-class Var(Element):  # noqa: E742
-    """Display the var element."""
-
-    tag = "var"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-var = Var.create
-
-
-class Video(Element):  # noqa: E742
-    """Display the video element."""
-
-    tag = "video"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    auto_play: PCVar[Union[str, int, bool]]
-    buffered: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    controls: PCVar[Union[str, int, bool]]
-    cross_origin: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    height: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    loop: PCVar[Union[str, int, bool]]
-    muted: PCVar[Union[str, int, bool]]
-    plays_inline: PCVar[Union[str, int, bool]]
-    poster: PCVar[Union[str, int, bool]]
-    preload: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    src: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-    width: PCVar[Union[str, int, bool]]
-
-
-video = Video.create
-
-
-class Wbr(Element):  # noqa: E742
-    """Display the wbr element."""
-
-    tag = "wbr"
-
-    access_key: PCVar[Union[str, int, bool]]
-    auto_capitalize: PCVar[Union[str, int, bool]]
-    content_editable: PCVar[Union[str, int, bool]]
-    context_menu: PCVar[Union[str, int, bool]]
-    dir: PCVar[Union[str, int, bool]]
-    draggable: PCVar[Union[str, int, bool]]
-    enter_key_hint: PCVar[Union[str, int, bool]]
-    hidden: PCVar[Union[str, int, bool]]
-    input_mode: PCVar[Union[str, int, bool]]
-    item_prop: PCVar[Union[str, int, bool]]
-    lang: PCVar[Union[str, int, bool]]
-    role: PCVar[Union[str, int, bool]]
-    slot: PCVar[Union[str, int, bool]]
-    spell_check: PCVar[Union[str, int, bool]]
-    tab_index: PCVar[Union[str, int, bool]]
-    title: PCVar[Union[str, int, bool]]
-    translate: PCVar[Union[str, int, bool]]
-
-
-wbr = Wbr.create

+ 0 - 1
pynecone/utils/__init__.py

@@ -1 +0,0 @@
-"""Pynecone utiiities."""

+ 4 - 4
pyproject.toml

@@ -1,5 +1,5 @@
 [tool.poetry]
-name = "pynecone"
+name = "reflex"
 version = "0.1.34"
 description = "Web apps in pure Python."
 license = "Apache-2.0"
@@ -19,7 +19,7 @@ classifiers = [
     "Development Status :: 4 - Beta",
 ]
 packages = [
-    {include = "pynecone"}
+    {include = "reflex"}
 ]
 
 [tool.poetry.dependencies]
@@ -62,7 +62,7 @@ asynctest = "^0.13.0"
 pre-commit = {version = "^3.2.1", python = ">=3.8,<4.0"}
 
 [tool.poetry.scripts]
-pc = "pynecone.pc:main"
+reflex = "reflex.reflex:main"
 
 [build-system]
 requires = ["poetry-core>=1.5.1"]
@@ -82,4 +82,4 @@ target-version = "py37"
 
 "__init__.py" = ["F401"]
 "tests/*.py" = ["D100", "D103", "D104"]
-"pynecone/.templates/*.py" = ["D100", "D103", "D104"]
+"reflex/.templates/*.py" = ["D100", "D103", "D104"]

+ 0 - 0
pynecone/.templates/apps/counter/__init__.py → reflex/.templates/apps/counter/__init__.py


+ 12 - 12
pynecone/.templates/apps/counter/counter.py → reflex/.templates/apps/counter/counter.py

@@ -1,10 +1,10 @@
-"""Welcome to Pynecone! This file create a counter app."""
+"""Welcome to Reflex! This file creates a counter app."""
 import random
 
-import pynecone as pc
+import reflex as rx
 
 
-class State(pc.State):
+class State(rx.State):
     """The app state."""
 
     count = 0
@@ -22,19 +22,19 @@ class State(pc.State):
         self.count = random.randint(0, 100)
 
 
-def index() -> pc.Component:
-    return pc.center(
-        pc.vstack(
-            pc.heading(State.count),
-            pc.hstack(
-                pc.button("Decrement", on_click=State.decrement, color_scheme="red"),
-                pc.button(
+def index() -> rx.Component:
+    return rx.center(
+        rx.vstack(
+            rx.heading(State.count),
+            rx.hstack(
+                rx.button("Decrement", on_click=State.decrement, color_scheme="red"),
+                rx.button(
                     "Randomize",
                     on_click=State.random,
                     background_image="linear-gradient(90deg, rgba(255,0,0,1) 0%, rgba(0,176,34,1) 100%)",
                     color="white",
                 ),
-                pc.button("Increment", on_click=State.increment, color_scheme="green"),
+                rx.button("Increment", on_click=State.increment, color_scheme="green"),
             ),
             padding="1em",
             bg="#ededed",
@@ -48,6 +48,6 @@ def index() -> pc.Component:
 
 
 # Add state and page to the app.
-app = pc.App(state=State)
+app = rx.App(state=State)
 app.add_page(index, title="Counter")
 app.compile()

+ 0 - 0
pynecone/.templates/apps/default/__init__.py → reflex/.templates/apps/default/__init__.py


+ 13 - 13
pynecone/.templates/apps/default/default.py → reflex/.templates/apps/default/default.py

@@ -1,32 +1,32 @@
-"""Welcome to Pynecone! This file outlines the steps to create a basic app."""
-from pcconfig import config
+"""Welcome to Reflex! This file outlines the steps to create a basic app."""
+from rxconfig import config
 
-import pynecone as pc
+import reflex as rx
 
 docs_url = "https://pynecone.io/docs/getting-started/introduction"
 filename = f"{config.app_name}/{config.app_name}.py"
 
 
-class State(pc.State):
+class State(rx.State):
     """The app state."""
 
     pass
 
 
-def index() -> pc.Component:
-    return pc.fragment(
-        pc.color_mode_button(pc.color_mode_icon(), float="right"),
-        pc.vstack(
-            pc.heading("Welcome to Pynecone!", font_size="2em"),
-            pc.box("Get started by editing ", pc.code(filename, font_size="1em")),
-            pc.link(
+def index() -> rx.Component:
+    return rx.fragment(
+        rx.color_mode_button(rx.color_mode_icon(), float="right"),
+        rx.vstack(
+            rx.heading("Welcome to Reflex!", font_size="2em"),
+            rx.box("Get started by editing ", rx.code(filename, font_size="1em")),
+            rx.link(
                 "Check out our docs!",
                 href=docs_url,
                 border="0.1em solid",
                 padding="0.5em",
                 border_radius="0.5em",
                 _hover={
-                    "color": pc.color_mode_cond(
+                    "color": rx.color_mode_cond(
                         light="rgb(107,99,246)",
                         dark="rgb(179, 175, 255)",
                     )
@@ -40,6 +40,6 @@ def index() -> pc.Component:
 
 
 # Add state and page to the app.
-app = pc.App(state=State)
+app = rx.App(state=State)
 app.add_page(index)
 app.compile()

+ 0 - 0
pynecone/.templates/assets/favicon.ico → reflex/.templates/assets/favicon.ico


+ 3 - 3
pynecone/.templates/jinja/app/pcconfig.py.jinja2 → reflex/.templates/jinja/app/rxconfig.py.jinja2

@@ -1,10 +1,10 @@
-import pynecone as pc
+import reflex as rx
 
-class {{ config_name }}(pc.Config):
+class {{ config_name }}(rx.Config):
     pass
 
 config = {{ config_name }}(
     app_name="{{ app_name }}",
     db_url="{{ const.db_url }}",
-    env=pc.Env.DEV,
+    env=rx.Env.DEV,
 )

+ 0 - 0
pynecone/.templates/jinja/web/pages/_document.js.jinja2 → reflex/.templates/jinja/web/pages/_document.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/pages/base_page.js.jinja2 → reflex/.templates/jinja/web/pages/base_page.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/pages/custom_component.js.jinja2 → reflex/.templates/jinja/web/pages/custom_component.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/pages/index.js.jinja2 → reflex/.templates/jinja/web/pages/index.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/pages/utils.js.jinja2 → reflex/.templates/jinja/web/pages/utils.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/tailwind.config.js.jinja2 → reflex/.templates/jinja/web/tailwind.config.js.jinja2


+ 0 - 0
pynecone/.templates/jinja/web/utils/theme.js.jinja2 → reflex/.templates/jinja/web/utils/theme.js.jinja2


+ 0 - 0
pynecone/.templates/web/.gitignore → reflex/.templates/web/.gitignore


+ 0 - 0
pynecone/.templates/web/bun.lockb → reflex/.templates/web/bun.lockb


+ 0 - 0
pynecone/.templates/web/jsconfig.json → reflex/.templates/web/jsconfig.json


+ 0 - 0
pynecone/.templates/web/next.config.js → reflex/.templates/web/next.config.js


+ 1 - 1
pynecone/.templates/web/package.json → reflex/.templates/web/package.json

@@ -1,5 +1,5 @@
 {
-  "name": "pynecone",
+  "name": "reflex",
   "scripts": {
     "dev": "next dev",
     "export": "next build && next export -o _static",

+ 0 - 0
pynecone/.templates/web/pages/404.js → reflex/.templates/web/pages/404.js


+ 0 - 0
pynecone/.templates/web/pages/_app.js → reflex/.templates/web/pages/_app.js


+ 0 - 0
pynecone/.templates/web/postcss.config.js → reflex/.templates/web/postcss.config.js


+ 0 - 0
pynecone/.templates/web/styles/code/prism.js → reflex/.templates/web/styles/code/prism.js


+ 0 - 0
pynecone/.templates/web/styles/tailwind.css → reflex/.templates/web/styles/tailwind.css


+ 1 - 1
pynecone/.templates/web/utils/state.js → reflex/.templates/web/utils/state.js

@@ -1,4 +1,4 @@
-// State management for Pynecone web apps.
+// State management for Reflex web apps.
 import axios from "axios";
 import io from "socket.io-client";
 import JSON5 from "json5";

+ 1 - 1
pynecone/__init__.py → reflex/__init__.py

@@ -1,6 +1,6 @@
 """Import all classes and functions the end user will need to make an app.
 
-Anything imported here will be available in the default Pynecone import as `pc.*`.
+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.
 """

+ 1 - 1
pynecone/admin.py → reflex/admin.py

@@ -1,4 +1,4 @@
-"""The Pynecone Admin Dashboard."""
+"""The Reflex Admin Dashboard."""
 from dataclasses import dataclass, field
 from typing import Optional
 

+ 18 - 18
pynecone/app.py → reflex/app.py

@@ -1,4 +1,4 @@
-"""The main Pynecone app."""
+"""The main Reflex app."""
 
 import asyncio
 import inspect
@@ -22,26 +22,26 @@ from socketio import ASGIApp, AsyncNamespace, AsyncServer
 from starlette_admin.contrib.sqla.admin import Admin
 from starlette_admin.contrib.sqla.view import ModelView
 
-from pynecone import constants
-from pynecone.admin import AdminDash
-from pynecone.base import Base
-from pynecone.compiler import compiler
-from pynecone.compiler import utils as compiler_utils
-from pynecone.components.component import Component, ComponentStyle
-from pynecone.components.layout.fragment import Fragment
-from pynecone.config import get_config
-from pynecone.event import Event, EventHandler, EventSpec
-from pynecone.middleware import HydrateMiddleware, Middleware
-from pynecone.model import Model
-from pynecone.route import (
+from reflex import constants
+from reflex.admin import AdminDash
+from reflex.base import Base
+from reflex.compiler import compiler
+from reflex.compiler import utils as compiler_utils
+from reflex.components.component import Component, ComponentStyle
+from reflex.components.layout.fragment import Fragment
+from reflex.config import get_config
+from reflex.event import Event, EventHandler, EventSpec
+from reflex.middleware import HydrateMiddleware, Middleware
+from reflex.model import Model
+from reflex.route import (
     DECORATED_ROUTES,
     catchall_in_route,
     catchall_prefix,
     get_route_args,
     verify_route_validity,
 )
-from pynecone.state import DefaultState, State, StateManager, StateUpdate
-from pynecone.utils import format, types
+from reflex.state import DefaultState, State, StateManager, StateUpdate
+from reflex.utils import format, types
 
 # Define custom types.
 ComponentCallable = Callable[[], Component]
@@ -49,7 +49,7 @@ Reducer = Callable[[Event], Coroutine[Any, Any, StateUpdate]]
 
 
 class App(Base):
-    """A Pynecone application."""
+    """A Reflex application."""
 
     # A map from a page route to the component to render.
     pages: Dict[str, Component] = {}
@@ -424,7 +424,7 @@ class App(Base):
                 if config.admin_dash.admin
                 else Admin(
                     engine=Model.get_db_engine(),
-                    title="Pynecone Admin Dashboard",
+                    title="Reflex Admin Dashboard",
                     logo_url="https://pynecone.io/logo.png",
                 )
             )
@@ -600,7 +600,7 @@ def upload(app: App):
         if not handler_upload_param:
             raise ValueError(
                 f"`{handler}` handler should have a parameter annotated as List["
-                f"pc.UploadFile]"
+                f"rx.UploadFile]"
             )
 
         event = Event(

+ 4 - 7
pynecone/base.py → reflex/base.py

@@ -1,17 +1,14 @@
-"""Define the base Pynecone class."""
+"""Define the base Reflex class."""
 from __future__ import annotations
 
-from typing import Any, Dict, TypeVar
+from typing import Any, Dict
 
 import pydantic
 from pydantic.fields import ModelField
 
-# Typevar to represent any class subclassing Base.
-PcType = TypeVar("PcType")
-
 
 class Base(pydantic.BaseModel):
-    """The base class subclassed by all Pynecone classes.
+    """The base class subclassed by all Reflex classes.
 
     This class wraps Pydantic and provides common methods such as
     serialization and setting fields.
@@ -35,7 +32,7 @@ class Base(pydantic.BaseModel):
         """
         return self.__config__.json_dumps(self.dict(), default=list)
 
-    def set(self: PcType, **kwargs) -> PcType:
+    def set(self, **kwargs):
         """Set multiple fields and return the object.
 
         Args:

+ 1 - 0
reflex/compiler/__init__.py

@@ -0,0 +1 @@
+"""The Reflex compiler."""

+ 9 - 9
pynecone/compiler/compiler.py → reflex/compiler/compiler.py

@@ -1,18 +1,18 @@
-"""Compiler for the pynecone apps."""
+"""Compiler for the reflex apps."""
 from __future__ import annotations
 
 from functools import wraps
 from typing import Callable, List, Set, Tuple, Type
 
-from pynecone import constants
-from pynecone.compiler import templates, utils
-from pynecone.components.component import Component, CustomComponent
-from pynecone.state import State
-from pynecone.style import Style
-from pynecone.utils import imports
-from pynecone.vars import ImportVar
+from reflex import constants
+from reflex.compiler import templates, utils
+from reflex.components.component import Component, CustomComponent
+from reflex.state import State
+from reflex.style import Style
+from reflex.utils import imports
+from reflex.vars import ImportVar
 
-# Imports to be included in every Pynecone app.
+# Imports to be included in every Reflex app.
 DEFAULT_IMPORTS: imports.ImportDict = {
     "react": {
         ImportVar(tag="Fragment"),

+ 8 - 8
pynecone/compiler/templates.py → reflex/compiler/templates.py

@@ -1,13 +1,13 @@
-"""Templates to use in the pynecone compiler."""
+"""Templates to use in the reflex compiler."""
 
 from jinja2 import Environment, FileSystemLoader, Template
 
-from pynecone import constants
-from pynecone.utils import path_ops
-from pynecone.utils.format import json_dumps
+from reflex import constants
+from reflex.utils import path_ops
+from reflex.utils.format import json_dumps
 
 
-class PyneconeJinjaEnvironment(Environment):
+class ReflexJinjaEnvironment(Environment):
     """The template class for jinja environment."""
 
     def __init__(self) -> None:
@@ -53,11 +53,11 @@ def get_template(name: str) -> Template:
     Returns:
         A render function.
     """
-    return PyneconeJinjaEnvironment().get_template(name=name)
+    return ReflexJinjaEnvironment().get_template(name=name)
 
 
-# Template for the Pynecone config file.
-PCCONFIG = get_template("app/pcconfig.py.jinja2")
+# Template for the Reflex config file.
+RXCONFIG = get_template("app/rxconfig.py.jinja2")
 
 # Code to render a NextJS Document root.
 DOCUMENT_ROOT = get_template("web/pages/_document.js.jinja2")

+ 8 - 8
pynecone/compiler/utils.py → reflex/compiler/utils.py

@@ -3,8 +3,8 @@
 import os
 from typing import Dict, List, Optional, Set, Tuple, Type
 
-from pynecone import constants
-from pynecone.components.base import (
+from reflex import constants
+from reflex.components.base import (
     Body,
     ColorModeScript,
     Description,
@@ -18,12 +18,12 @@ from pynecone.components.base import (
     Script,
     Title,
 )
-from pynecone.components.component import Component, CustomComponent
-from pynecone.event import get_hydrate_event
-from pynecone.state import State
-from pynecone.style import Style
-from pynecone.utils import format, imports, path_ops
-from pynecone.vars import ImportVar
+from reflex.components.component import Component, CustomComponent
+from reflex.event import get_hydrate_event
+from reflex.state import State
+from reflex.style import Style
+from reflex.utils import format, imports, path_ops
+from reflex.vars import ImportVar
 
 # To re-export this function.
 merge_imports = imports.merge_imports

+ 0 - 0
pynecone/components/__init__.py → reflex/components/__init__.py


+ 0 - 0
pynecone/components/base/__init__.py → reflex/components/base/__init__.py


+ 4 - 4
pynecone/components/base/bare.py → reflex/components/base/bare.py

@@ -3,10 +3,10 @@ from __future__ import annotations
 
 from typing import Any
 
-from pynecone.components.component import Component
-from pynecone.components.tags import Tag
-from pynecone.components.tags.tagless import Tagless
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.tags import Tag
+from reflex.components.tags.tagless import Tagless
+from reflex.vars import Var
 
 
 class Bare(Component):

+ 1 - 1
pynecone/components/base/body.py → reflex/components/base/body.py

@@ -1,6 +1,6 @@
 """Display the page body."""
 
-from pynecone.components.component import Component
+from reflex.components.component import Component
 
 
 class Body(Component):

+ 2 - 2
pynecone/components/base/document.py → reflex/components/base/document.py

@@ -1,7 +1,7 @@
 """Document components."""
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
 
 
 class NextDocumentLib(Component):

+ 1 - 1
pynecone/components/base/head.py → reflex/components/base/head.py

@@ -1,6 +1,6 @@
 """The head component."""
 
-from pynecone.components.component import Component
+from reflex.components.component import Component
 
 
 class NextHeadLib(Component):

+ 2 - 2
pynecone/components/base/link.py → reflex/components/base/link.py

@@ -1,8 +1,8 @@
 """Display the title of the current page."""
 
 
-from pynecone.components.component import Component
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.vars import Var
 
 
 class RawLink(Component):

+ 2 - 2
pynecone/components/base/meta.py → reflex/components/base/meta.py

@@ -2,8 +2,8 @@
 
 from typing import Dict, Optional
 
-from pynecone.components.base.bare import Bare
-from pynecone.components.component import Component
+from reflex.components.base.bare import Bare
+from reflex.components.component import Component
 
 
 class Title(Component):

+ 10 - 10
pynecone/components/component.py → reflex/components/component.py

@@ -7,10 +7,10 @@ from abc import ABC
 from functools import wraps
 from typing import Any, Callable, Dict, List, Optional, Set, Type, Union
 
-from pynecone import constants
-from pynecone.base import Base
-from pynecone.components.tags import Tag
-from pynecone.event import (
+from reflex import constants
+from reflex.base import Base
+from reflex.components.tags import Tag
+from reflex.event import (
     EVENT_ARG,
     EVENT_TRIGGERS,
     EventChain,
@@ -20,13 +20,13 @@ from pynecone.event import (
     call_event_handler,
     get_handler_args,
 )
-from pynecone.style import Style
-from pynecone.utils import format, imports, types
-from pynecone.vars import BaseVar, ImportVar, Var
+from reflex.style import Style
+from reflex.utils import format, imports, types
+from reflex.vars import BaseVar, ImportVar, Var
 
 
 class Component(Base, ABC):
-    """The base class for all Pynecone components."""
+    """The base class for all Reflex components."""
 
     # The children nested within the component.
     children: List[Component] = []
@@ -376,14 +376,14 @@ class Component(Base, ABC):
             TypeError: If an invalid child is passed.
         """
         # Import here to avoid circular imports.
-        from pynecone.components.base.bare import Bare
+        from reflex.components.base.bare import Bare
 
         # Validate all the children.
         for child in children:
             # Make sure the child is a valid type.
             if not types._isinstance(child, ComponentChild):
                 raise TypeError(
-                    "Children of Pynecone components must be other components, "
+                    "Children of Reflex components must be other components, "
                     "state vars, or primitive Python types. "
                     f"Got child {child} of type {type(child)}.",
                 )

+ 0 - 0
pynecone/components/datadisplay/__init__.py → reflex/components/datadisplay/__init__.py


+ 2 - 2
pynecone/components/datadisplay/badge.py → reflex/components/datadisplay/badge.py

@@ -1,7 +1,7 @@
 """Badge component."""
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Badge(ChakraComponent):

+ 9 - 9
pynecone/components/datadisplay/code.py → reflex/components/datadisplay/code.py

@@ -2,15 +2,15 @@
 
 from typing import Dict
 
-from pynecone.components.component import Component
-from pynecone.components.forms import Button
-from pynecone.components.layout import Box
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.components.media import Icon
-from pynecone.event import set_clipboard
-from pynecone.style import Style
-from pynecone.utils import imports
-from pynecone.vars import ImportVar, Var
+from reflex.components.component import Component
+from reflex.components.forms import Button
+from reflex.components.layout import Box
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.components.media import Icon
+from reflex.event import set_clipboard
+from reflex.style import Style
+from reflex.utils import imports
+from reflex.vars import ImportVar, Var
 
 # Path to the prism styles.
 PRISM_STYLES_PATH = "/styles/code/prism"

+ 4 - 4
pynecone/components/datadisplay/datatable.py → reflex/components/datadisplay/datatable.py

@@ -2,10 +2,10 @@
 
 from typing import Any, List
 
-from pynecone.components.component import Component
-from pynecone.components.tags import Tag
-from pynecone.utils import format, imports, types
-from pynecone.vars import BaseVar, ComputedVar, ImportVar, Var
+from reflex.components.component import Component
+from reflex.components.tags import Tag
+from reflex.utils import format, imports, types
+from reflex.vars import BaseVar, ComputedVar, ImportVar, Var
 
 
 class Gridjs(Component):

+ 2 - 2
pynecone/components/datadisplay/divider.py → reflex/components/datadisplay/divider.py

@@ -1,7 +1,7 @@
 """A line to divide parts of the layout."""
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Divider(ChakraComponent):

+ 1 - 1
pynecone/components/datadisplay/keyboard_key.py → reflex/components/datadisplay/keyboard_key.py

@@ -1,6 +1,6 @@
 """A Keyboard Key Component."""
 
-from pynecone.components.libs.chakra import ChakraComponent
+from reflex.components.libs.chakra import ChakraComponent
 
 
 class KeyboardKey(ChakraComponent):

+ 4 - 4
pynecone/components/datadisplay/list.py → reflex/components/datadisplay/list.py

@@ -1,9 +1,9 @@
 """List components."""
 
-from pynecone.components import Component
-from pynecone.components.layout.foreach import Foreach
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components import Component
+from reflex.components.layout.foreach import Foreach
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class List(ChakraComponent):

+ 3 - 3
pynecone/components/datadisplay/stat.py → reflex/components/datadisplay/stat.py

@@ -1,8 +1,8 @@
 """Statistics components."""
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Stat(ChakraComponent):

+ 4 - 4
pynecone/components/datadisplay/table.py → reflex/components/datadisplay/table.py

@@ -1,10 +1,10 @@
 """Table components."""
 from typing import List
 
-from pynecone.components.component import Component
-from pynecone.components.layout.foreach import Foreach
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.layout.foreach import Foreach
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Table(ChakraComponent):

+ 6 - 6
pynecone/components/datadisplay/tag.py → reflex/components/datadisplay/tag.py

@@ -1,9 +1,9 @@
 """Chakra Tag Component."""
 from typing import Optional
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class TagLabel(ChakraComponent):
@@ -65,9 +65,9 @@ class Tag(ChakraComponent):
 
         Args:
             label (Component): The label of the Tag that will be created.
-            left_icon (Optional[Component]): Should be a pc.TagLeftIcon instance.
-            right_icon (Optional[Component]): Should be a pc.TagRightIcon instance.
-            close_button (Optional[Component]): Should be a pc.TagCloseButton instance.
+            left_icon (Optional[Component]): Should be a rx.TagLeftIcon instance.
+            right_icon (Optional[Component]): Should be a rx.TagRightIcon instance.
+            close_button (Optional[Component]): Should be a rx.TagCloseButton instance.
             props: The properties to be passed to the component.
 
         Returns:

+ 0 - 0
pynecone/components/disclosure/__init__.py → reflex/components/disclosure/__init__.py


+ 3 - 3
pynecone/components/disclosure/accordion.py → reflex/components/disclosure/accordion.py

@@ -2,9 +2,9 @@
 
 from typing import List, Optional, Union
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Accordion(ChakraComponent):

+ 3 - 3
pynecone/components/disclosure/tabs.py → reflex/components/disclosure/tabs.py

@@ -1,8 +1,8 @@
 """Tab components."""
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Tabs(ChakraComponent):

+ 2 - 2
pynecone/components/disclosure/transition.py → reflex/components/disclosure/transition.py

@@ -1,8 +1,8 @@
 """A transition Component."""
 from typing import Union
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Transition(ChakraComponent):

+ 1 - 1
pynecone/components/disclosure/visuallyhidden.py → reflex/components/disclosure/visuallyhidden.py

@@ -1,6 +1,6 @@
 """A component to display visually hidden text."""
 
-from pynecone.components.libs.chakra import ChakraComponent
+from reflex.components.libs.chakra import ChakraComponent
 
 
 class VisuallyHidden(ChakraComponent):

+ 0 - 0
pynecone/components/feedback/__init__.py → reflex/components/feedback/__init__.py


+ 3 - 3
pynecone/components/feedback/alert.py → reflex/components/feedback/alert.py

@@ -1,8 +1,8 @@
 """Alert components."""
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Alert(ChakraComponent):

+ 3 - 3
pynecone/components/feedback/circularprogress.py → reflex/components/feedback/circularprogress.py

@@ -1,8 +1,8 @@
 """Container to stack elements with spacing."""
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class CircularProgress(ChakraComponent):

+ 2 - 2
pynecone/components/feedback/progress.py → reflex/components/feedback/progress.py

@@ -2,8 +2,8 @@
 
 from typing import Union
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Progress(ChakraComponent):

+ 2 - 2
pynecone/components/feedback/skeleton.py → reflex/components/feedback/skeleton.py

@@ -1,7 +1,7 @@
 """Container to stack elements with spacing."""
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Skeleton(ChakraComponent):

+ 2 - 2
pynecone/components/feedback/spinner.py → reflex/components/feedback/spinner.py

@@ -1,7 +1,7 @@
 """Container to stack elements with spacing."""
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Spinner(ChakraComponent):

+ 0 - 0
pynecone/components/forms/__init__.py → reflex/components/forms/__init__.py


+ 2 - 2
pynecone/components/forms/button.py → reflex/components/forms/button.py

@@ -1,7 +1,7 @@
 """A button component."""
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Button(ChakraComponent):

+ 3 - 3
pynecone/components/forms/checkbox.py → reflex/components/forms/checkbox.py

@@ -2,9 +2,9 @@
 
 from typing import Dict
 
-from pynecone.components.component import EVENT_ARG
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import EVENT_ARG
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Checkbox(ChakraComponent):

+ 7 - 7
pynecone/components/forms/colormodeswitch.py → reflex/components/forms/colormodeswitch.py

@@ -3,10 +3,10 @@
 To style components based on color mode, use style props with `color_mode_cond`:
 
 ```
-pc.text(
+rx.text(
     "Hover over me",
     _hover={
-        "background": pc.color_mode_cond(
+        "background": rx.color_mode_cond(
             light="var(--chakra-colors-gray-200)",
             dark="var(--chakra-colors-gray-700)",
         ),
@@ -18,11 +18,11 @@ from __future__ import annotations
 
 from typing import Any
 
-from pynecone.components.component import Component
-from pynecone.components.layout.cond import Cond, cond
-from pynecone.components.media.icon import Icon
-from pynecone.style import color_mode, toggle_color_mode
-from pynecone.vars import BaseVar
+from reflex.components.component import Component
+from reflex.components.layout.cond import Cond, cond
+from reflex.components.media.icon import Icon
+from reflex.style import color_mode, toggle_color_mode
+from reflex.vars import BaseVar
 
 from .button import Button
 from .switch import Switch

+ 2 - 2
pynecone/components/forms/copytoclipboard.py → reflex/components/forms/copytoclipboard.py

@@ -2,8 +2,8 @@
 
 from typing import Set
 
-from pynecone.components import Component
-from pynecone.vars import Var
+from reflex.components import Component
+from reflex.vars import Var
 
 
 class CopyToClipboard(Component):

+ 2 - 2
pynecone/components/forms/date_picker.py → reflex/components/forms/date_picker.py

@@ -1,7 +1,7 @@
 """A date input component."""
 
-from pynecone.components.forms.input import Input
-from pynecone.vars import Var
+from reflex.components.forms.input import Input
+from reflex.vars import Var
 
 
 class DatePicker(Input):

+ 2 - 2
pynecone/components/forms/date_time_picker.py → reflex/components/forms/date_time_picker.py

@@ -1,7 +1,7 @@
 """A datetime-local input component."""
 
-from pynecone.components.forms.input import Input
-from pynecone.vars import Var
+from reflex.components.forms.input import Input
+from reflex.vars import Var
 
 
 class DateTimePicker(Input):

+ 3 - 3
pynecone/components/forms/editable.py → reflex/components/forms/editable.py

@@ -2,9 +2,9 @@
 
 from typing import Dict
 
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class Editable(ChakraComponent):

+ 2 - 2
pynecone/components/forms/email.py → reflex/components/forms/email.py

@@ -1,7 +1,7 @@
 """An email input component."""
 
-from pynecone.components.forms.input import Input
-from pynecone.vars import Var
+from reflex.components.forms.input import Input
+from reflex.vars import Var
 
 
 class Email(Input):

+ 3 - 3
pynecone/components/forms/form.py → reflex/components/forms/form.py

@@ -2,9 +2,9 @@
 
 from typing import Dict
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.vars import Var
 
 
 class Form(ChakraComponent):

+ 2 - 2
pynecone/components/forms/iconbutton.py → reflex/components/forms/iconbutton.py

@@ -1,7 +1,7 @@
 """An icon button component."""
 
-from pynecone.components.typography.text import Text
-from pynecone.vars import Var
+from reflex.components.typography.text import Text
+from reflex.vars import Var
 
 
 class IconButton(Text):

+ 4 - 4
pynecone/components/forms/input.py → reflex/components/forms/input.py

@@ -2,10 +2,10 @@
 
 from typing import Dict
 
-from pynecone.components.component import EVENT_ARG
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.utils import imports
-from pynecone.vars import ImportVar, Var
+from reflex.components.component import EVENT_ARG
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.utils import imports
+from reflex.vars import ImportVar, Var
 
 
 class Input(ChakraComponent):

+ 4 - 4
pynecone/components/forms/multiselect.py → reflex/components/forms/multiselect.py

@@ -2,10 +2,10 @@
 
 from typing import Any, Dict, List, Optional, Set, Union
 
-from pynecone.base import Base
-from pynecone.components.component import Component
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.base import Base
+from reflex.components.component import Component
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class Option(Base):

+ 4 - 4
pynecone/components/forms/numberinput.py → reflex/components/forms/numberinput.py

@@ -2,10 +2,10 @@
 
 from typing import Dict
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class NumberInput(ChakraComponent):

+ 2 - 2
pynecone/components/forms/password.py → reflex/components/forms/password.py

@@ -1,7 +1,7 @@
 """A password input component."""
 
-from pynecone.components.forms.input import Input
-from pynecone.vars import Var
+from reflex.components.forms.input import Input
+from reflex.vars import Var
 
 
 class Password(Input):

+ 4 - 4
pynecone/components/forms/pininput.py → reflex/components/forms/pininput.py

@@ -2,10 +2,10 @@
 
 from typing import Dict
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class PinInput(ChakraComponent):

+ 7 - 7
pynecone/components/forms/radio.py → reflex/components/forms/radio.py

@@ -3,13 +3,13 @@
 
 from typing import Any, Dict, List
 
-from pynecone.components.component import Component
-from pynecone.components.layout.foreach import Foreach
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.components.typography.text import Text
-from pynecone.event import EVENT_ARG
-from pynecone.utils import types
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.layout.foreach import Foreach
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.components.typography.text import Text
+from reflex.event import EVENT_ARG
+from reflex.utils import types
+from reflex.vars import Var
 
 
 class RadioGroup(ChakraComponent):

+ 4 - 4
pynecone/components/forms/rangeslider.py → reflex/components/forms/rangeslider.py

@@ -2,10 +2,10 @@
 
 from typing import Dict, List
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class RangeSlider(ChakraComponent):

+ 6 - 6
pynecone/components/forms/select.py → reflex/components/forms/select.py

@@ -2,12 +2,12 @@
 
 from typing import Any, Dict, List
 
-from pynecone.components.component import EVENT_ARG, Component
-from pynecone.components.layout.foreach import Foreach
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.components.typography.text import Text
-from pynecone.utils import types
-from pynecone.vars import Var
+from reflex.components.component import EVENT_ARG, Component
+from reflex.components.layout.foreach import Foreach
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.components.typography.text import Text
+from reflex.utils import types
+from reflex.vars import Var
 
 
 class Select(ChakraComponent):

+ 4 - 4
pynecone/components/forms/slider.py → reflex/components/forms/slider.py

@@ -2,10 +2,10 @@
 
 from typing import Dict
 
-from pynecone.components.component import Component
-from pynecone.components.libs.chakra import ChakraComponent
-from pynecone.event import EVENT_ARG
-from pynecone.vars import Var
+from reflex.components.component import Component
+from reflex.components.libs.chakra import ChakraComponent
+from reflex.event import EVENT_ARG
+from reflex.vars import Var
 
 
 class Slider(ChakraComponent):

Some files were not shown because too many files changed in this diff