├── .github
└── .static
│ └── Logo-Light.png
├── .gitignore
├── LICENSE
├── README.md
├── backend
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
├── html
└── base.html
├── index.html
├── manage.py
├── package-lock.json
├── package.json
├── public
├── react.svg
└── vite.svg
├── pyvenv.cfg
├── requirements.txt
├── src
├── App.css
├── App.tsx
├── index.css
├── main.tsx
└── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.github/.static/Logo-Light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codingforinnovations/Django-React/76437aac5f72dbe4e8df62bb089c14954905fd7c/.github/.static/Logo-Light.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | logs
2 | bin/
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 | node_modules
10 | dist
11 | dist-ssr
12 | *.local
13 | .vscode/*
14 | !.vscode/extensions.json
15 | .idea
16 | .DS_Store
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 | __pycache__/
23 | *.py[cod]
24 | *$py.class
25 | *.so
26 | .Python
27 | build/
28 | develop-eggs/
29 | dist/
30 | downloads/
31 | eggs/
32 | .eggs/
33 | lib/
34 | lib64/
35 | parts/
36 | sdist/
37 | var/
38 | wheels/
39 | share/python-wheels/
40 | *.egg-info/
41 | .installed.cfg
42 | *.egg
43 | MANIFEST
44 | *.manifest
45 | *.spec
46 | pip-log.txt
47 | pip-delete-this-directory.txt
48 | htmlcov/
49 | .tox/
50 | .nox/
51 | .coverage
52 | .coverage.*
53 | .cache
54 | nosetests.xml
55 | coverage.xml
56 | *.cover
57 | *.py,cover
58 | .hypothesis/
59 | .pytest_cache/
60 | cover/
61 | *.mo
62 | *.pot
63 | *.log
64 | local_settings.py
65 | db.sqlite3
66 | db.sqlite3-journal
67 | instance/
68 | .webassets-cache
69 | .scrapy
70 | docs/_build/
71 | .pybuilder/
72 | target/
73 | .ipynb_checkpoints
74 | profile_default/
75 | ipython_config.py
76 | .python-version
77 | Pipfile.lock
78 | poetry.lock
79 | .pdm.toml
80 | __pypackages__/
81 | celerybeat-schedule
82 | celerybeat.pid
83 | *.sage.py
84 | .env
85 | .venv
86 | env/
87 | venv/
88 | ENV/
89 | env.bak/
90 | venv.bak/
91 | .spyderproject
92 | .spyproject
93 | .ropeproject
94 | /site
95 | .mypy_cache/
96 | .dmypy.json
97 | dmypy.json
98 | .pyre/
99 | .pytype/
100 | cython_debug/
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Coding for Innovation
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | For Programmers, By Programmers.
10 |
11 |
12 |
13 | # Django with React
14 |
15 | This repository is the final code for the Django with Reactjs using Vite.
16 |
17 | ---
18 |
19 | ## Get Started
20 |
21 | Get Started with the Tutorial
22 | ```
23 | $ mkdir ~/Dev/djangoreact
24 | $ cd ~/Dev/djangoreact
25 | $ git clone https://github.com/codingforinnovations/Django-React .
26 | $ python3.9 -m virtualenv .
27 | $ source bin/activate
28 | (djangoreact) $ pip install -r requirements.txt
29 | ```
30 |
31 | Run Django Server
32 | ```
33 | (djangoreact) $ python manage.py runserver
34 | ```
35 |
36 | Install React JS Libraries
37 | ```
38 | (djangoreact) $ npm i
39 | ```
40 |
41 | React JS Dev Server
42 | ```
43 | (djangoreact) $ npm run dev
44 | ```
45 |
46 | React JS Build
47 | ```
48 | (djangoreact) $ npm run build
49 | ```
50 |
51 |
52 |
Other places you can find us:
53 |

54 |
55 |
--------------------------------------------------------------------------------
/backend/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codingforinnovations/Django-React/76437aac5f72dbe4e8df62bb089c14954905fd7c/backend/__init__.py
--------------------------------------------------------------------------------
/backend/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for backend project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/backend/settings.py:
--------------------------------------------------------------------------------
1 | """
2 | Django settings for backend project.
3 |
4 | Generated by 'django-admin startproject' using Django 3.2.16.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.2/topics/settings/
8 |
9 | For the full list of settings and their values, see
10 | https://docs.djangoproject.com/en/3.2/ref/settings/
11 | """
12 |
13 | from pathlib import Path
14 |
15 | # Build paths inside the project like this: BASE_DIR / 'subdir'.
16 | BASE_DIR = Path(__file__).resolve().parent.parent
17 |
18 |
19 | # Quick-start development settings - unsuitable for production
20 | # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
21 |
22 | # SECURITY WARNING: keep the secret key used in production secret!
23 | SECRET_KEY = 'django-insecure-ng*y_f%7tuw&(s-51z8!amut%ej$@vn9!l(dpz8%9&xf6n)@'
24 |
25 | # SECURITY WARNING: don't run with debug turned on in production!
26 | DEBUG = False
27 |
28 | ALLOWED_HOSTS = ["*"]
29 |
30 |
31 | # Application definition
32 |
33 | INSTALLED_APPS = [
34 | 'django.contrib.admin',
35 | 'django.contrib.auth',
36 | 'django.contrib.contenttypes',
37 | 'django.contrib.sessions',
38 | 'django.contrib.messages',
39 | 'django.contrib.staticfiles',
40 | ]
41 |
42 | MIDDLEWARE = [
43 | 'django.middleware.security.SecurityMiddleware',
44 | 'whitenoise.middleware.WhiteNoiseMiddleware',
45 | 'django.contrib.sessions.middleware.SessionMiddleware',
46 | 'django.middleware.common.CommonMiddleware',
47 | 'django.middleware.csrf.CsrfViewMiddleware',
48 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
49 | 'django.contrib.messages.middleware.MessageMiddleware',
50 | 'django.middleware.clickjacking.XFrameOptionsMiddleware',
51 | ]
52 |
53 | ROOT_URLCONF = 'backend.urls'
54 |
55 | TEMPLATES = [
56 | {
57 | 'BACKEND': 'django.template.backends.django.DjangoTemplates',
58 | 'DIRS': [BASE_DIR / "html"],
59 | 'APP_DIRS': True,
60 | 'OPTIONS': {
61 | 'context_processors': [
62 | 'django.template.context_processors.debug',
63 | 'django.template.context_processors.request',
64 | 'django.contrib.auth.context_processors.auth',
65 | 'django.contrib.messages.context_processors.messages',
66 | ],
67 | },
68 | },
69 | ]
70 |
71 | WSGI_APPLICATION = 'backend.wsgi.application'
72 |
73 |
74 | # Database
75 | # https://docs.djangoproject.com/en/3.2/ref/settings/#databases
76 |
77 | DATABASES = {
78 | 'default': {
79 | 'ENGINE': 'django.db.backends.sqlite3',
80 | 'NAME': BASE_DIR / 'db.sqlite3',
81 | }
82 | }
83 |
84 |
85 | # Password validation
86 | # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
87 |
88 | AUTH_PASSWORD_VALIDATORS = [
89 | {
90 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
91 | },
92 | {
93 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
94 | },
95 | {
96 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
97 | },
98 | {
99 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
100 | },
101 | ]
102 |
103 |
104 | # Internationalization
105 | # https://docs.djangoproject.com/en/3.2/topics/i18n/
106 |
107 | LANGUAGE_CODE = 'en-us'
108 |
109 | TIME_ZONE = 'UTC'
110 |
111 | USE_I18N = True
112 |
113 | USE_L10N = True
114 |
115 | USE_TZ = True
116 |
117 |
118 | # Static files (CSS, JavaScript, Images)
119 | # https://docs.djangoproject.com/en/3.2/howto/static-files/
120 |
121 | STATIC_URL = '/static/'
122 | STATICFILES_DIRS = [
123 | BASE_DIR / "dist",
124 | BASE_DIR / "public",
125 | ]
126 |
127 | STATIC_ROOT = BASE_DIR / "static"
128 |
129 | # Default primary key field type
130 | # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
131 |
132 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
133 |
134 | INTERNAL_IPS = [
135 | 'localhost',
136 | '127.0.0.1',
137 | ]
--------------------------------------------------------------------------------
/backend/urls.py:
--------------------------------------------------------------------------------
1 | """backend URL Configuration
2 |
3 | The `urlpatterns` list routes URLs to views. For more information please see:
4 | https://docs.djangoproject.com/en/3.2/topics/http/urls/
5 | Examples:
6 | Function views
7 | 1. Add an import: from my_app import views
8 | 2. Add a URL to urlpatterns: path('', views.home, name='home')
9 | Class-based views
10 | 1. Add an import: from other_app.views import Home
11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12 | Including another URLconf
13 | 1. Import the include() function: from django.urls import include, path
14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 | """
16 | from django.contrib import admin
17 | from django.urls import path
18 |
19 | from django.views.generic import TemplateView
20 |
21 | urlpatterns = [
22 | path('admin/', admin.site.urls),
23 | path("", TemplateView.as_view(template_name="base.html")),
24 | ]
25 |
--------------------------------------------------------------------------------
/backend/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for backend project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/html/base.html:
--------------------------------------------------------------------------------
1 | {% load static %}
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 | {% if debug %}
11 |
12 |
13 |
20 |
21 | {% else %}
22 |
23 |
24 |
25 | {% endif %}
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | """Run administrative tasks."""
9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
10 | try:
11 | from django.core.management import execute_from_command_line
12 | except ImportError as exc:
13 | raise ImportError(
14 | "Couldn't import Django. Are you sure it's installed and "
15 | "available on your PYTHONPATH environment variable? Did you "
16 | "forget to activate a virtual environment?"
17 | ) from exc
18 | execute_from_command_line(sys.argv)
19 |
20 |
21 | if __name__ == '__main__':
22 | main()
23 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "django-react",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "django-react",
9 | "version": "0.0.0",
10 | "dependencies": {
11 | "react": "^18.2.0",
12 | "react-dom": "^18.2.0"
13 | },
14 | "devDependencies": {
15 | "@types/react": "^18.0.26",
16 | "@types/react-dom": "^18.0.9",
17 | "@vitejs/plugin-react": "^3.0.0",
18 | "typescript": "^4.9.3",
19 | "vite": "^4.0.0"
20 | }
21 | },
22 | "node_modules/@ampproject/remapping": {
23 | "version": "2.2.0",
24 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
25 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
26 | "dev": true,
27 | "dependencies": {
28 | "@jridgewell/gen-mapping": "^0.1.0",
29 | "@jridgewell/trace-mapping": "^0.3.9"
30 | },
31 | "engines": {
32 | "node": ">=6.0.0"
33 | }
34 | },
35 | "node_modules/@babel/code-frame": {
36 | "version": "7.18.6",
37 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
38 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
39 | "dev": true,
40 | "dependencies": {
41 | "@babel/highlight": "^7.18.6"
42 | },
43 | "engines": {
44 | "node": ">=6.9.0"
45 | }
46 | },
47 | "node_modules/@babel/compat-data": {
48 | "version": "7.20.10",
49 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
50 | "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==",
51 | "dev": true,
52 | "engines": {
53 | "node": ">=6.9.0"
54 | }
55 | },
56 | "node_modules/@babel/core": {
57 | "version": "7.20.12",
58 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
59 | "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
60 | "dev": true,
61 | "dependencies": {
62 | "@ampproject/remapping": "^2.1.0",
63 | "@babel/code-frame": "^7.18.6",
64 | "@babel/generator": "^7.20.7",
65 | "@babel/helper-compilation-targets": "^7.20.7",
66 | "@babel/helper-module-transforms": "^7.20.11",
67 | "@babel/helpers": "^7.20.7",
68 | "@babel/parser": "^7.20.7",
69 | "@babel/template": "^7.20.7",
70 | "@babel/traverse": "^7.20.12",
71 | "@babel/types": "^7.20.7",
72 | "convert-source-map": "^1.7.0",
73 | "debug": "^4.1.0",
74 | "gensync": "^1.0.0-beta.2",
75 | "json5": "^2.2.2",
76 | "semver": "^6.3.0"
77 | },
78 | "engines": {
79 | "node": ">=6.9.0"
80 | },
81 | "funding": {
82 | "type": "opencollective",
83 | "url": "https://opencollective.com/babel"
84 | }
85 | },
86 | "node_modules/@babel/generator": {
87 | "version": "7.20.7",
88 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
89 | "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
90 | "dev": true,
91 | "dependencies": {
92 | "@babel/types": "^7.20.7",
93 | "@jridgewell/gen-mapping": "^0.3.2",
94 | "jsesc": "^2.5.1"
95 | },
96 | "engines": {
97 | "node": ">=6.9.0"
98 | }
99 | },
100 | "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
101 | "version": "0.3.2",
102 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
103 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
104 | "dev": true,
105 | "dependencies": {
106 | "@jridgewell/set-array": "^1.0.1",
107 | "@jridgewell/sourcemap-codec": "^1.4.10",
108 | "@jridgewell/trace-mapping": "^0.3.9"
109 | },
110 | "engines": {
111 | "node": ">=6.0.0"
112 | }
113 | },
114 | "node_modules/@babel/helper-compilation-targets": {
115 | "version": "7.20.7",
116 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
117 | "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
118 | "dev": true,
119 | "dependencies": {
120 | "@babel/compat-data": "^7.20.5",
121 | "@babel/helper-validator-option": "^7.18.6",
122 | "browserslist": "^4.21.3",
123 | "lru-cache": "^5.1.1",
124 | "semver": "^6.3.0"
125 | },
126 | "engines": {
127 | "node": ">=6.9.0"
128 | },
129 | "peerDependencies": {
130 | "@babel/core": "^7.0.0"
131 | }
132 | },
133 | "node_modules/@babel/helper-environment-visitor": {
134 | "version": "7.18.9",
135 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
136 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
137 | "dev": true,
138 | "engines": {
139 | "node": ">=6.9.0"
140 | }
141 | },
142 | "node_modules/@babel/helper-function-name": {
143 | "version": "7.19.0",
144 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
145 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
146 | "dev": true,
147 | "dependencies": {
148 | "@babel/template": "^7.18.10",
149 | "@babel/types": "^7.19.0"
150 | },
151 | "engines": {
152 | "node": ">=6.9.0"
153 | }
154 | },
155 | "node_modules/@babel/helper-hoist-variables": {
156 | "version": "7.18.6",
157 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
158 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
159 | "dev": true,
160 | "dependencies": {
161 | "@babel/types": "^7.18.6"
162 | },
163 | "engines": {
164 | "node": ">=6.9.0"
165 | }
166 | },
167 | "node_modules/@babel/helper-module-imports": {
168 | "version": "7.18.6",
169 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
170 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
171 | "dev": true,
172 | "dependencies": {
173 | "@babel/types": "^7.18.6"
174 | },
175 | "engines": {
176 | "node": ">=6.9.0"
177 | }
178 | },
179 | "node_modules/@babel/helper-module-transforms": {
180 | "version": "7.20.11",
181 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
182 | "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
183 | "dev": true,
184 | "dependencies": {
185 | "@babel/helper-environment-visitor": "^7.18.9",
186 | "@babel/helper-module-imports": "^7.18.6",
187 | "@babel/helper-simple-access": "^7.20.2",
188 | "@babel/helper-split-export-declaration": "^7.18.6",
189 | "@babel/helper-validator-identifier": "^7.19.1",
190 | "@babel/template": "^7.20.7",
191 | "@babel/traverse": "^7.20.10",
192 | "@babel/types": "^7.20.7"
193 | },
194 | "engines": {
195 | "node": ">=6.9.0"
196 | }
197 | },
198 | "node_modules/@babel/helper-plugin-utils": {
199 | "version": "7.20.2",
200 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
201 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
202 | "dev": true,
203 | "engines": {
204 | "node": ">=6.9.0"
205 | }
206 | },
207 | "node_modules/@babel/helper-simple-access": {
208 | "version": "7.20.2",
209 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
210 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
211 | "dev": true,
212 | "dependencies": {
213 | "@babel/types": "^7.20.2"
214 | },
215 | "engines": {
216 | "node": ">=6.9.0"
217 | }
218 | },
219 | "node_modules/@babel/helper-split-export-declaration": {
220 | "version": "7.18.6",
221 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
222 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
223 | "dev": true,
224 | "dependencies": {
225 | "@babel/types": "^7.18.6"
226 | },
227 | "engines": {
228 | "node": ">=6.9.0"
229 | }
230 | },
231 | "node_modules/@babel/helper-string-parser": {
232 | "version": "7.19.4",
233 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
234 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
235 | "dev": true,
236 | "engines": {
237 | "node": ">=6.9.0"
238 | }
239 | },
240 | "node_modules/@babel/helper-validator-identifier": {
241 | "version": "7.19.1",
242 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
243 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
244 | "dev": true,
245 | "engines": {
246 | "node": ">=6.9.0"
247 | }
248 | },
249 | "node_modules/@babel/helper-validator-option": {
250 | "version": "7.18.6",
251 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
252 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
253 | "dev": true,
254 | "engines": {
255 | "node": ">=6.9.0"
256 | }
257 | },
258 | "node_modules/@babel/helpers": {
259 | "version": "7.20.13",
260 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
261 | "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
262 | "dev": true,
263 | "dependencies": {
264 | "@babel/template": "^7.20.7",
265 | "@babel/traverse": "^7.20.13",
266 | "@babel/types": "^7.20.7"
267 | },
268 | "engines": {
269 | "node": ">=6.9.0"
270 | }
271 | },
272 | "node_modules/@babel/highlight": {
273 | "version": "7.18.6",
274 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
275 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
276 | "dev": true,
277 | "dependencies": {
278 | "@babel/helper-validator-identifier": "^7.18.6",
279 | "chalk": "^2.0.0",
280 | "js-tokens": "^4.0.0"
281 | },
282 | "engines": {
283 | "node": ">=6.9.0"
284 | }
285 | },
286 | "node_modules/@babel/parser": {
287 | "version": "7.20.13",
288 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
289 | "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
290 | "dev": true,
291 | "bin": {
292 | "parser": "bin/babel-parser.js"
293 | },
294 | "engines": {
295 | "node": ">=6.0.0"
296 | }
297 | },
298 | "node_modules/@babel/plugin-transform-react-jsx-self": {
299 | "version": "7.18.6",
300 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
301 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
302 | "dev": true,
303 | "dependencies": {
304 | "@babel/helper-plugin-utils": "^7.18.6"
305 | },
306 | "engines": {
307 | "node": ">=6.9.0"
308 | },
309 | "peerDependencies": {
310 | "@babel/core": "^7.0.0-0"
311 | }
312 | },
313 | "node_modules/@babel/plugin-transform-react-jsx-source": {
314 | "version": "7.19.6",
315 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
316 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
317 | "dev": true,
318 | "dependencies": {
319 | "@babel/helper-plugin-utils": "^7.19.0"
320 | },
321 | "engines": {
322 | "node": ">=6.9.0"
323 | },
324 | "peerDependencies": {
325 | "@babel/core": "^7.0.0-0"
326 | }
327 | },
328 | "node_modules/@babel/template": {
329 | "version": "7.20.7",
330 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
331 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
332 | "dev": true,
333 | "dependencies": {
334 | "@babel/code-frame": "^7.18.6",
335 | "@babel/parser": "^7.20.7",
336 | "@babel/types": "^7.20.7"
337 | },
338 | "engines": {
339 | "node": ">=6.9.0"
340 | }
341 | },
342 | "node_modules/@babel/traverse": {
343 | "version": "7.20.13",
344 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
345 | "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
346 | "dev": true,
347 | "dependencies": {
348 | "@babel/code-frame": "^7.18.6",
349 | "@babel/generator": "^7.20.7",
350 | "@babel/helper-environment-visitor": "^7.18.9",
351 | "@babel/helper-function-name": "^7.19.0",
352 | "@babel/helper-hoist-variables": "^7.18.6",
353 | "@babel/helper-split-export-declaration": "^7.18.6",
354 | "@babel/parser": "^7.20.13",
355 | "@babel/types": "^7.20.7",
356 | "debug": "^4.1.0",
357 | "globals": "^11.1.0"
358 | },
359 | "engines": {
360 | "node": ">=6.9.0"
361 | }
362 | },
363 | "node_modules/@babel/types": {
364 | "version": "7.20.7",
365 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
366 | "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
367 | "dev": true,
368 | "dependencies": {
369 | "@babel/helper-string-parser": "^7.19.4",
370 | "@babel/helper-validator-identifier": "^7.19.1",
371 | "to-fast-properties": "^2.0.0"
372 | },
373 | "engines": {
374 | "node": ">=6.9.0"
375 | }
376 | },
377 | "node_modules/@esbuild/android-arm": {
378 | "version": "0.16.17",
379 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
380 | "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
381 | "cpu": [
382 | "arm"
383 | ],
384 | "dev": true,
385 | "optional": true,
386 | "os": [
387 | "android"
388 | ],
389 | "engines": {
390 | "node": ">=12"
391 | }
392 | },
393 | "node_modules/@esbuild/android-arm64": {
394 | "version": "0.16.17",
395 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
396 | "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
397 | "cpu": [
398 | "arm64"
399 | ],
400 | "dev": true,
401 | "optional": true,
402 | "os": [
403 | "android"
404 | ],
405 | "engines": {
406 | "node": ">=12"
407 | }
408 | },
409 | "node_modules/@esbuild/android-x64": {
410 | "version": "0.16.17",
411 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
412 | "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
413 | "cpu": [
414 | "x64"
415 | ],
416 | "dev": true,
417 | "optional": true,
418 | "os": [
419 | "android"
420 | ],
421 | "engines": {
422 | "node": ">=12"
423 | }
424 | },
425 | "node_modules/@esbuild/darwin-arm64": {
426 | "version": "0.16.17",
427 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
428 | "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
429 | "cpu": [
430 | "arm64"
431 | ],
432 | "dev": true,
433 | "optional": true,
434 | "os": [
435 | "darwin"
436 | ],
437 | "engines": {
438 | "node": ">=12"
439 | }
440 | },
441 | "node_modules/@esbuild/darwin-x64": {
442 | "version": "0.16.17",
443 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
444 | "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
445 | "cpu": [
446 | "x64"
447 | ],
448 | "dev": true,
449 | "optional": true,
450 | "os": [
451 | "darwin"
452 | ],
453 | "engines": {
454 | "node": ">=12"
455 | }
456 | },
457 | "node_modules/@esbuild/freebsd-arm64": {
458 | "version": "0.16.17",
459 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
460 | "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
461 | "cpu": [
462 | "arm64"
463 | ],
464 | "dev": true,
465 | "optional": true,
466 | "os": [
467 | "freebsd"
468 | ],
469 | "engines": {
470 | "node": ">=12"
471 | }
472 | },
473 | "node_modules/@esbuild/freebsd-x64": {
474 | "version": "0.16.17",
475 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
476 | "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
477 | "cpu": [
478 | "x64"
479 | ],
480 | "dev": true,
481 | "optional": true,
482 | "os": [
483 | "freebsd"
484 | ],
485 | "engines": {
486 | "node": ">=12"
487 | }
488 | },
489 | "node_modules/@esbuild/linux-arm": {
490 | "version": "0.16.17",
491 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
492 | "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
493 | "cpu": [
494 | "arm"
495 | ],
496 | "dev": true,
497 | "optional": true,
498 | "os": [
499 | "linux"
500 | ],
501 | "engines": {
502 | "node": ">=12"
503 | }
504 | },
505 | "node_modules/@esbuild/linux-arm64": {
506 | "version": "0.16.17",
507 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
508 | "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
509 | "cpu": [
510 | "arm64"
511 | ],
512 | "dev": true,
513 | "optional": true,
514 | "os": [
515 | "linux"
516 | ],
517 | "engines": {
518 | "node": ">=12"
519 | }
520 | },
521 | "node_modules/@esbuild/linux-ia32": {
522 | "version": "0.16.17",
523 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
524 | "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
525 | "cpu": [
526 | "ia32"
527 | ],
528 | "dev": true,
529 | "optional": true,
530 | "os": [
531 | "linux"
532 | ],
533 | "engines": {
534 | "node": ">=12"
535 | }
536 | },
537 | "node_modules/@esbuild/linux-loong64": {
538 | "version": "0.16.17",
539 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
540 | "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
541 | "cpu": [
542 | "loong64"
543 | ],
544 | "dev": true,
545 | "optional": true,
546 | "os": [
547 | "linux"
548 | ],
549 | "engines": {
550 | "node": ">=12"
551 | }
552 | },
553 | "node_modules/@esbuild/linux-mips64el": {
554 | "version": "0.16.17",
555 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
556 | "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
557 | "cpu": [
558 | "mips64el"
559 | ],
560 | "dev": true,
561 | "optional": true,
562 | "os": [
563 | "linux"
564 | ],
565 | "engines": {
566 | "node": ">=12"
567 | }
568 | },
569 | "node_modules/@esbuild/linux-ppc64": {
570 | "version": "0.16.17",
571 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
572 | "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
573 | "cpu": [
574 | "ppc64"
575 | ],
576 | "dev": true,
577 | "optional": true,
578 | "os": [
579 | "linux"
580 | ],
581 | "engines": {
582 | "node": ">=12"
583 | }
584 | },
585 | "node_modules/@esbuild/linux-riscv64": {
586 | "version": "0.16.17",
587 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
588 | "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
589 | "cpu": [
590 | "riscv64"
591 | ],
592 | "dev": true,
593 | "optional": true,
594 | "os": [
595 | "linux"
596 | ],
597 | "engines": {
598 | "node": ">=12"
599 | }
600 | },
601 | "node_modules/@esbuild/linux-s390x": {
602 | "version": "0.16.17",
603 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
604 | "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
605 | "cpu": [
606 | "s390x"
607 | ],
608 | "dev": true,
609 | "optional": true,
610 | "os": [
611 | "linux"
612 | ],
613 | "engines": {
614 | "node": ">=12"
615 | }
616 | },
617 | "node_modules/@esbuild/linux-x64": {
618 | "version": "0.16.17",
619 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
620 | "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
621 | "cpu": [
622 | "x64"
623 | ],
624 | "dev": true,
625 | "optional": true,
626 | "os": [
627 | "linux"
628 | ],
629 | "engines": {
630 | "node": ">=12"
631 | }
632 | },
633 | "node_modules/@esbuild/netbsd-x64": {
634 | "version": "0.16.17",
635 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
636 | "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
637 | "cpu": [
638 | "x64"
639 | ],
640 | "dev": true,
641 | "optional": true,
642 | "os": [
643 | "netbsd"
644 | ],
645 | "engines": {
646 | "node": ">=12"
647 | }
648 | },
649 | "node_modules/@esbuild/openbsd-x64": {
650 | "version": "0.16.17",
651 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
652 | "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
653 | "cpu": [
654 | "x64"
655 | ],
656 | "dev": true,
657 | "optional": true,
658 | "os": [
659 | "openbsd"
660 | ],
661 | "engines": {
662 | "node": ">=12"
663 | }
664 | },
665 | "node_modules/@esbuild/sunos-x64": {
666 | "version": "0.16.17",
667 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
668 | "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
669 | "cpu": [
670 | "x64"
671 | ],
672 | "dev": true,
673 | "optional": true,
674 | "os": [
675 | "sunos"
676 | ],
677 | "engines": {
678 | "node": ">=12"
679 | }
680 | },
681 | "node_modules/@esbuild/win32-arm64": {
682 | "version": "0.16.17",
683 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
684 | "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
685 | "cpu": [
686 | "arm64"
687 | ],
688 | "dev": true,
689 | "optional": true,
690 | "os": [
691 | "win32"
692 | ],
693 | "engines": {
694 | "node": ">=12"
695 | }
696 | },
697 | "node_modules/@esbuild/win32-ia32": {
698 | "version": "0.16.17",
699 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
700 | "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
701 | "cpu": [
702 | "ia32"
703 | ],
704 | "dev": true,
705 | "optional": true,
706 | "os": [
707 | "win32"
708 | ],
709 | "engines": {
710 | "node": ">=12"
711 | }
712 | },
713 | "node_modules/@esbuild/win32-x64": {
714 | "version": "0.16.17",
715 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
716 | "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
717 | "cpu": [
718 | "x64"
719 | ],
720 | "dev": true,
721 | "optional": true,
722 | "os": [
723 | "win32"
724 | ],
725 | "engines": {
726 | "node": ">=12"
727 | }
728 | },
729 | "node_modules/@jridgewell/gen-mapping": {
730 | "version": "0.1.1",
731 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
732 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
733 | "dev": true,
734 | "dependencies": {
735 | "@jridgewell/set-array": "^1.0.0",
736 | "@jridgewell/sourcemap-codec": "^1.4.10"
737 | },
738 | "engines": {
739 | "node": ">=6.0.0"
740 | }
741 | },
742 | "node_modules/@jridgewell/resolve-uri": {
743 | "version": "3.1.0",
744 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
745 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
746 | "dev": true,
747 | "engines": {
748 | "node": ">=6.0.0"
749 | }
750 | },
751 | "node_modules/@jridgewell/set-array": {
752 | "version": "1.1.2",
753 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
754 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
755 | "dev": true,
756 | "engines": {
757 | "node": ">=6.0.0"
758 | }
759 | },
760 | "node_modules/@jridgewell/sourcemap-codec": {
761 | "version": "1.4.14",
762 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
763 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
764 | "dev": true
765 | },
766 | "node_modules/@jridgewell/trace-mapping": {
767 | "version": "0.3.17",
768 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
769 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
770 | "dev": true,
771 | "dependencies": {
772 | "@jridgewell/resolve-uri": "3.1.0",
773 | "@jridgewell/sourcemap-codec": "1.4.14"
774 | }
775 | },
776 | "node_modules/@types/prop-types": {
777 | "version": "15.7.5",
778 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
779 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
780 | "dev": true
781 | },
782 | "node_modules/@types/react": {
783 | "version": "18.0.27",
784 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz",
785 | "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==",
786 | "dev": true,
787 | "dependencies": {
788 | "@types/prop-types": "*",
789 | "@types/scheduler": "*",
790 | "csstype": "^3.0.2"
791 | }
792 | },
793 | "node_modules/@types/react-dom": {
794 | "version": "18.0.10",
795 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz",
796 | "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==",
797 | "dev": true,
798 | "dependencies": {
799 | "@types/react": "*"
800 | }
801 | },
802 | "node_modules/@types/scheduler": {
803 | "version": "0.16.2",
804 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
805 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
806 | "dev": true
807 | },
808 | "node_modules/@vitejs/plugin-react": {
809 | "version": "3.0.1",
810 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz",
811 | "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==",
812 | "dev": true,
813 | "dependencies": {
814 | "@babel/core": "^7.20.7",
815 | "@babel/plugin-transform-react-jsx-self": "^7.18.6",
816 | "@babel/plugin-transform-react-jsx-source": "^7.19.6",
817 | "magic-string": "^0.27.0",
818 | "react-refresh": "^0.14.0"
819 | },
820 | "engines": {
821 | "node": "^14.18.0 || >=16.0.0"
822 | },
823 | "peerDependencies": {
824 | "vite": "^4.0.0"
825 | }
826 | },
827 | "node_modules/ansi-styles": {
828 | "version": "3.2.1",
829 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
830 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
831 | "dev": true,
832 | "dependencies": {
833 | "color-convert": "^1.9.0"
834 | },
835 | "engines": {
836 | "node": ">=4"
837 | }
838 | },
839 | "node_modules/browserslist": {
840 | "version": "4.21.4",
841 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
842 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
843 | "dev": true,
844 | "funding": [
845 | {
846 | "type": "opencollective",
847 | "url": "https://opencollective.com/browserslist"
848 | },
849 | {
850 | "type": "tidelift",
851 | "url": "https://tidelift.com/funding/github/npm/browserslist"
852 | }
853 | ],
854 | "dependencies": {
855 | "caniuse-lite": "^1.0.30001400",
856 | "electron-to-chromium": "^1.4.251",
857 | "node-releases": "^2.0.6",
858 | "update-browserslist-db": "^1.0.9"
859 | },
860 | "bin": {
861 | "browserslist": "cli.js"
862 | },
863 | "engines": {
864 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
865 | }
866 | },
867 | "node_modules/caniuse-lite": {
868 | "version": "1.0.30001448",
869 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz",
870 | "integrity": "sha512-tq2YI+MJnooG96XpbTRYkBxLxklZPOdLmNIOdIhvf7SNJan6u5vCKum8iT7ZfCt70m1GPkuC7P3TtX6UuhupuA==",
871 | "dev": true,
872 | "funding": [
873 | {
874 | "type": "opencollective",
875 | "url": "https://opencollective.com/browserslist"
876 | },
877 | {
878 | "type": "tidelift",
879 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
880 | }
881 | ]
882 | },
883 | "node_modules/chalk": {
884 | "version": "2.4.2",
885 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
886 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
887 | "dev": true,
888 | "dependencies": {
889 | "ansi-styles": "^3.2.1",
890 | "escape-string-regexp": "^1.0.5",
891 | "supports-color": "^5.3.0"
892 | },
893 | "engines": {
894 | "node": ">=4"
895 | }
896 | },
897 | "node_modules/color-convert": {
898 | "version": "1.9.3",
899 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
900 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
901 | "dev": true,
902 | "dependencies": {
903 | "color-name": "1.1.3"
904 | }
905 | },
906 | "node_modules/color-name": {
907 | "version": "1.1.3",
908 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
909 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
910 | "dev": true
911 | },
912 | "node_modules/convert-source-map": {
913 | "version": "1.9.0",
914 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
915 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
916 | "dev": true
917 | },
918 | "node_modules/csstype": {
919 | "version": "3.1.1",
920 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
921 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
922 | "dev": true
923 | },
924 | "node_modules/debug": {
925 | "version": "4.3.4",
926 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
927 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
928 | "dev": true,
929 | "dependencies": {
930 | "ms": "2.1.2"
931 | },
932 | "engines": {
933 | "node": ">=6.0"
934 | },
935 | "peerDependenciesMeta": {
936 | "supports-color": {
937 | "optional": true
938 | }
939 | }
940 | },
941 | "node_modules/electron-to-chromium": {
942 | "version": "1.4.284",
943 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
944 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
945 | "dev": true
946 | },
947 | "node_modules/esbuild": {
948 | "version": "0.16.17",
949 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
950 | "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
951 | "dev": true,
952 | "hasInstallScript": true,
953 | "bin": {
954 | "esbuild": "bin/esbuild"
955 | },
956 | "engines": {
957 | "node": ">=12"
958 | },
959 | "optionalDependencies": {
960 | "@esbuild/android-arm": "0.16.17",
961 | "@esbuild/android-arm64": "0.16.17",
962 | "@esbuild/android-x64": "0.16.17",
963 | "@esbuild/darwin-arm64": "0.16.17",
964 | "@esbuild/darwin-x64": "0.16.17",
965 | "@esbuild/freebsd-arm64": "0.16.17",
966 | "@esbuild/freebsd-x64": "0.16.17",
967 | "@esbuild/linux-arm": "0.16.17",
968 | "@esbuild/linux-arm64": "0.16.17",
969 | "@esbuild/linux-ia32": "0.16.17",
970 | "@esbuild/linux-loong64": "0.16.17",
971 | "@esbuild/linux-mips64el": "0.16.17",
972 | "@esbuild/linux-ppc64": "0.16.17",
973 | "@esbuild/linux-riscv64": "0.16.17",
974 | "@esbuild/linux-s390x": "0.16.17",
975 | "@esbuild/linux-x64": "0.16.17",
976 | "@esbuild/netbsd-x64": "0.16.17",
977 | "@esbuild/openbsd-x64": "0.16.17",
978 | "@esbuild/sunos-x64": "0.16.17",
979 | "@esbuild/win32-arm64": "0.16.17",
980 | "@esbuild/win32-ia32": "0.16.17",
981 | "@esbuild/win32-x64": "0.16.17"
982 | }
983 | },
984 | "node_modules/escalade": {
985 | "version": "3.1.1",
986 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
987 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
988 | "dev": true,
989 | "engines": {
990 | "node": ">=6"
991 | }
992 | },
993 | "node_modules/escape-string-regexp": {
994 | "version": "1.0.5",
995 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
996 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
997 | "dev": true,
998 | "engines": {
999 | "node": ">=0.8.0"
1000 | }
1001 | },
1002 | "node_modules/fsevents": {
1003 | "version": "2.3.2",
1004 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1005 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1006 | "dev": true,
1007 | "hasInstallScript": true,
1008 | "optional": true,
1009 | "os": [
1010 | "darwin"
1011 | ],
1012 | "engines": {
1013 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1014 | }
1015 | },
1016 | "node_modules/function-bind": {
1017 | "version": "1.1.1",
1018 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1019 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1020 | "dev": true
1021 | },
1022 | "node_modules/gensync": {
1023 | "version": "1.0.0-beta.2",
1024 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1025 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1026 | "dev": true,
1027 | "engines": {
1028 | "node": ">=6.9.0"
1029 | }
1030 | },
1031 | "node_modules/globals": {
1032 | "version": "11.12.0",
1033 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1034 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1035 | "dev": true,
1036 | "engines": {
1037 | "node": ">=4"
1038 | }
1039 | },
1040 | "node_modules/has": {
1041 | "version": "1.0.3",
1042 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1043 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1044 | "dev": true,
1045 | "dependencies": {
1046 | "function-bind": "^1.1.1"
1047 | },
1048 | "engines": {
1049 | "node": ">= 0.4.0"
1050 | }
1051 | },
1052 | "node_modules/has-flag": {
1053 | "version": "3.0.0",
1054 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1055 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1056 | "dev": true,
1057 | "engines": {
1058 | "node": ">=4"
1059 | }
1060 | },
1061 | "node_modules/is-core-module": {
1062 | "version": "2.11.0",
1063 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1064 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1065 | "dev": true,
1066 | "dependencies": {
1067 | "has": "^1.0.3"
1068 | },
1069 | "funding": {
1070 | "url": "https://github.com/sponsors/ljharb"
1071 | }
1072 | },
1073 | "node_modules/js-tokens": {
1074 | "version": "4.0.0",
1075 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1076 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1077 | },
1078 | "node_modules/jsesc": {
1079 | "version": "2.5.2",
1080 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1081 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1082 | "dev": true,
1083 | "bin": {
1084 | "jsesc": "bin/jsesc"
1085 | },
1086 | "engines": {
1087 | "node": ">=4"
1088 | }
1089 | },
1090 | "node_modules/json5": {
1091 | "version": "2.2.3",
1092 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1093 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1094 | "dev": true,
1095 | "bin": {
1096 | "json5": "lib/cli.js"
1097 | },
1098 | "engines": {
1099 | "node": ">=6"
1100 | }
1101 | },
1102 | "node_modules/loose-envify": {
1103 | "version": "1.4.0",
1104 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1105 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1106 | "dependencies": {
1107 | "js-tokens": "^3.0.0 || ^4.0.0"
1108 | },
1109 | "bin": {
1110 | "loose-envify": "cli.js"
1111 | }
1112 | },
1113 | "node_modules/lru-cache": {
1114 | "version": "5.1.1",
1115 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1116 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1117 | "dev": true,
1118 | "dependencies": {
1119 | "yallist": "^3.0.2"
1120 | }
1121 | },
1122 | "node_modules/magic-string": {
1123 | "version": "0.27.0",
1124 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1125 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1126 | "dev": true,
1127 | "dependencies": {
1128 | "@jridgewell/sourcemap-codec": "^1.4.13"
1129 | },
1130 | "engines": {
1131 | "node": ">=12"
1132 | }
1133 | },
1134 | "node_modules/ms": {
1135 | "version": "2.1.2",
1136 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1137 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1138 | "dev": true
1139 | },
1140 | "node_modules/nanoid": {
1141 | "version": "3.3.4",
1142 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1143 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1144 | "dev": true,
1145 | "bin": {
1146 | "nanoid": "bin/nanoid.cjs"
1147 | },
1148 | "engines": {
1149 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1150 | }
1151 | },
1152 | "node_modules/node-releases": {
1153 | "version": "2.0.8",
1154 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
1155 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
1156 | "dev": true
1157 | },
1158 | "node_modules/path-parse": {
1159 | "version": "1.0.7",
1160 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1161 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1162 | "dev": true
1163 | },
1164 | "node_modules/picocolors": {
1165 | "version": "1.0.0",
1166 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1167 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1168 | "dev": true
1169 | },
1170 | "node_modules/postcss": {
1171 | "version": "8.4.21",
1172 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
1173 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
1174 | "dev": true,
1175 | "funding": [
1176 | {
1177 | "type": "opencollective",
1178 | "url": "https://opencollective.com/postcss/"
1179 | },
1180 | {
1181 | "type": "tidelift",
1182 | "url": "https://tidelift.com/funding/github/npm/postcss"
1183 | }
1184 | ],
1185 | "dependencies": {
1186 | "nanoid": "^3.3.4",
1187 | "picocolors": "^1.0.0",
1188 | "source-map-js": "^1.0.2"
1189 | },
1190 | "engines": {
1191 | "node": "^10 || ^12 || >=14"
1192 | }
1193 | },
1194 | "node_modules/react": {
1195 | "version": "18.2.0",
1196 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1197 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1198 | "dependencies": {
1199 | "loose-envify": "^1.1.0"
1200 | },
1201 | "engines": {
1202 | "node": ">=0.10.0"
1203 | }
1204 | },
1205 | "node_modules/react-dom": {
1206 | "version": "18.2.0",
1207 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1208 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1209 | "dependencies": {
1210 | "loose-envify": "^1.1.0",
1211 | "scheduler": "^0.23.0"
1212 | },
1213 | "peerDependencies": {
1214 | "react": "^18.2.0"
1215 | }
1216 | },
1217 | "node_modules/react-refresh": {
1218 | "version": "0.14.0",
1219 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
1220 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
1221 | "dev": true,
1222 | "engines": {
1223 | "node": ">=0.10.0"
1224 | }
1225 | },
1226 | "node_modules/resolve": {
1227 | "version": "1.22.1",
1228 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1229 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1230 | "dev": true,
1231 | "dependencies": {
1232 | "is-core-module": "^2.9.0",
1233 | "path-parse": "^1.0.7",
1234 | "supports-preserve-symlinks-flag": "^1.0.0"
1235 | },
1236 | "bin": {
1237 | "resolve": "bin/resolve"
1238 | },
1239 | "funding": {
1240 | "url": "https://github.com/sponsors/ljharb"
1241 | }
1242 | },
1243 | "node_modules/rollup": {
1244 | "version": "3.11.0",
1245 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.11.0.tgz",
1246 | "integrity": "sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==",
1247 | "dev": true,
1248 | "bin": {
1249 | "rollup": "dist/bin/rollup"
1250 | },
1251 | "engines": {
1252 | "node": ">=14.18.0",
1253 | "npm": ">=8.0.0"
1254 | },
1255 | "optionalDependencies": {
1256 | "fsevents": "~2.3.2"
1257 | }
1258 | },
1259 | "node_modules/scheduler": {
1260 | "version": "0.23.0",
1261 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1262 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1263 | "dependencies": {
1264 | "loose-envify": "^1.1.0"
1265 | }
1266 | },
1267 | "node_modules/semver": {
1268 | "version": "6.3.0",
1269 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1270 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1271 | "dev": true,
1272 | "bin": {
1273 | "semver": "bin/semver.js"
1274 | }
1275 | },
1276 | "node_modules/source-map-js": {
1277 | "version": "1.0.2",
1278 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1279 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1280 | "dev": true,
1281 | "engines": {
1282 | "node": ">=0.10.0"
1283 | }
1284 | },
1285 | "node_modules/supports-color": {
1286 | "version": "5.5.0",
1287 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1288 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1289 | "dev": true,
1290 | "dependencies": {
1291 | "has-flag": "^3.0.0"
1292 | },
1293 | "engines": {
1294 | "node": ">=4"
1295 | }
1296 | },
1297 | "node_modules/supports-preserve-symlinks-flag": {
1298 | "version": "1.0.0",
1299 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1300 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1301 | "dev": true,
1302 | "engines": {
1303 | "node": ">= 0.4"
1304 | },
1305 | "funding": {
1306 | "url": "https://github.com/sponsors/ljharb"
1307 | }
1308 | },
1309 | "node_modules/to-fast-properties": {
1310 | "version": "2.0.0",
1311 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1312 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1313 | "dev": true,
1314 | "engines": {
1315 | "node": ">=4"
1316 | }
1317 | },
1318 | "node_modules/typescript": {
1319 | "version": "4.9.4",
1320 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
1321 | "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
1322 | "dev": true,
1323 | "bin": {
1324 | "tsc": "bin/tsc",
1325 | "tsserver": "bin/tsserver"
1326 | },
1327 | "engines": {
1328 | "node": ">=4.2.0"
1329 | }
1330 | },
1331 | "node_modules/update-browserslist-db": {
1332 | "version": "1.0.10",
1333 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
1334 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
1335 | "dev": true,
1336 | "funding": [
1337 | {
1338 | "type": "opencollective",
1339 | "url": "https://opencollective.com/browserslist"
1340 | },
1341 | {
1342 | "type": "tidelift",
1343 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1344 | }
1345 | ],
1346 | "dependencies": {
1347 | "escalade": "^3.1.1",
1348 | "picocolors": "^1.0.0"
1349 | },
1350 | "bin": {
1351 | "browserslist-lint": "cli.js"
1352 | },
1353 | "peerDependencies": {
1354 | "browserslist": ">= 4.21.0"
1355 | }
1356 | },
1357 | "node_modules/vite": {
1358 | "version": "4.0.4",
1359 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
1360 | "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
1361 | "dev": true,
1362 | "dependencies": {
1363 | "esbuild": "^0.16.3",
1364 | "postcss": "^8.4.20",
1365 | "resolve": "^1.22.1",
1366 | "rollup": "^3.7.0"
1367 | },
1368 | "bin": {
1369 | "vite": "bin/vite.js"
1370 | },
1371 | "engines": {
1372 | "node": "^14.18.0 || >=16.0.0"
1373 | },
1374 | "optionalDependencies": {
1375 | "fsevents": "~2.3.2"
1376 | },
1377 | "peerDependencies": {
1378 | "@types/node": ">= 14",
1379 | "less": "*",
1380 | "sass": "*",
1381 | "stylus": "*",
1382 | "sugarss": "*",
1383 | "terser": "^5.4.0"
1384 | },
1385 | "peerDependenciesMeta": {
1386 | "@types/node": {
1387 | "optional": true
1388 | },
1389 | "less": {
1390 | "optional": true
1391 | },
1392 | "sass": {
1393 | "optional": true
1394 | },
1395 | "stylus": {
1396 | "optional": true
1397 | },
1398 | "sugarss": {
1399 | "optional": true
1400 | },
1401 | "terser": {
1402 | "optional": true
1403 | }
1404 | }
1405 | },
1406 | "node_modules/yallist": {
1407 | "version": "3.1.1",
1408 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1409 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
1410 | "dev": true
1411 | }
1412 | },
1413 | "dependencies": {
1414 | "@ampproject/remapping": {
1415 | "version": "2.2.0",
1416 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
1417 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
1418 | "dev": true,
1419 | "requires": {
1420 | "@jridgewell/gen-mapping": "^0.1.0",
1421 | "@jridgewell/trace-mapping": "^0.3.9"
1422 | }
1423 | },
1424 | "@babel/code-frame": {
1425 | "version": "7.18.6",
1426 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
1427 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
1428 | "dev": true,
1429 | "requires": {
1430 | "@babel/highlight": "^7.18.6"
1431 | }
1432 | },
1433 | "@babel/compat-data": {
1434 | "version": "7.20.10",
1435 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
1436 | "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==",
1437 | "dev": true
1438 | },
1439 | "@babel/core": {
1440 | "version": "7.20.12",
1441 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
1442 | "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
1443 | "dev": true,
1444 | "requires": {
1445 | "@ampproject/remapping": "^2.1.0",
1446 | "@babel/code-frame": "^7.18.6",
1447 | "@babel/generator": "^7.20.7",
1448 | "@babel/helper-compilation-targets": "^7.20.7",
1449 | "@babel/helper-module-transforms": "^7.20.11",
1450 | "@babel/helpers": "^7.20.7",
1451 | "@babel/parser": "^7.20.7",
1452 | "@babel/template": "^7.20.7",
1453 | "@babel/traverse": "^7.20.12",
1454 | "@babel/types": "^7.20.7",
1455 | "convert-source-map": "^1.7.0",
1456 | "debug": "^4.1.0",
1457 | "gensync": "^1.0.0-beta.2",
1458 | "json5": "^2.2.2",
1459 | "semver": "^6.3.0"
1460 | }
1461 | },
1462 | "@babel/generator": {
1463 | "version": "7.20.7",
1464 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
1465 | "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
1466 | "dev": true,
1467 | "requires": {
1468 | "@babel/types": "^7.20.7",
1469 | "@jridgewell/gen-mapping": "^0.3.2",
1470 | "jsesc": "^2.5.1"
1471 | },
1472 | "dependencies": {
1473 | "@jridgewell/gen-mapping": {
1474 | "version": "0.3.2",
1475 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
1476 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
1477 | "dev": true,
1478 | "requires": {
1479 | "@jridgewell/set-array": "^1.0.1",
1480 | "@jridgewell/sourcemap-codec": "^1.4.10",
1481 | "@jridgewell/trace-mapping": "^0.3.9"
1482 | }
1483 | }
1484 | }
1485 | },
1486 | "@babel/helper-compilation-targets": {
1487 | "version": "7.20.7",
1488 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
1489 | "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
1490 | "dev": true,
1491 | "requires": {
1492 | "@babel/compat-data": "^7.20.5",
1493 | "@babel/helper-validator-option": "^7.18.6",
1494 | "browserslist": "^4.21.3",
1495 | "lru-cache": "^5.1.1",
1496 | "semver": "^6.3.0"
1497 | }
1498 | },
1499 | "@babel/helper-environment-visitor": {
1500 | "version": "7.18.9",
1501 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
1502 | "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
1503 | "dev": true
1504 | },
1505 | "@babel/helper-function-name": {
1506 | "version": "7.19.0",
1507 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
1508 | "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
1509 | "dev": true,
1510 | "requires": {
1511 | "@babel/template": "^7.18.10",
1512 | "@babel/types": "^7.19.0"
1513 | }
1514 | },
1515 | "@babel/helper-hoist-variables": {
1516 | "version": "7.18.6",
1517 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
1518 | "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
1519 | "dev": true,
1520 | "requires": {
1521 | "@babel/types": "^7.18.6"
1522 | }
1523 | },
1524 | "@babel/helper-module-imports": {
1525 | "version": "7.18.6",
1526 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
1527 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
1528 | "dev": true,
1529 | "requires": {
1530 | "@babel/types": "^7.18.6"
1531 | }
1532 | },
1533 | "@babel/helper-module-transforms": {
1534 | "version": "7.20.11",
1535 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
1536 | "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
1537 | "dev": true,
1538 | "requires": {
1539 | "@babel/helper-environment-visitor": "^7.18.9",
1540 | "@babel/helper-module-imports": "^7.18.6",
1541 | "@babel/helper-simple-access": "^7.20.2",
1542 | "@babel/helper-split-export-declaration": "^7.18.6",
1543 | "@babel/helper-validator-identifier": "^7.19.1",
1544 | "@babel/template": "^7.20.7",
1545 | "@babel/traverse": "^7.20.10",
1546 | "@babel/types": "^7.20.7"
1547 | }
1548 | },
1549 | "@babel/helper-plugin-utils": {
1550 | "version": "7.20.2",
1551 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
1552 | "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
1553 | "dev": true
1554 | },
1555 | "@babel/helper-simple-access": {
1556 | "version": "7.20.2",
1557 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
1558 | "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
1559 | "dev": true,
1560 | "requires": {
1561 | "@babel/types": "^7.20.2"
1562 | }
1563 | },
1564 | "@babel/helper-split-export-declaration": {
1565 | "version": "7.18.6",
1566 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
1567 | "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
1568 | "dev": true,
1569 | "requires": {
1570 | "@babel/types": "^7.18.6"
1571 | }
1572 | },
1573 | "@babel/helper-string-parser": {
1574 | "version": "7.19.4",
1575 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
1576 | "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
1577 | "dev": true
1578 | },
1579 | "@babel/helper-validator-identifier": {
1580 | "version": "7.19.1",
1581 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
1582 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
1583 | "dev": true
1584 | },
1585 | "@babel/helper-validator-option": {
1586 | "version": "7.18.6",
1587 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
1588 | "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
1589 | "dev": true
1590 | },
1591 | "@babel/helpers": {
1592 | "version": "7.20.13",
1593 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
1594 | "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
1595 | "dev": true,
1596 | "requires": {
1597 | "@babel/template": "^7.20.7",
1598 | "@babel/traverse": "^7.20.13",
1599 | "@babel/types": "^7.20.7"
1600 | }
1601 | },
1602 | "@babel/highlight": {
1603 | "version": "7.18.6",
1604 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
1605 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
1606 | "dev": true,
1607 | "requires": {
1608 | "@babel/helper-validator-identifier": "^7.18.6",
1609 | "chalk": "^2.0.0",
1610 | "js-tokens": "^4.0.0"
1611 | }
1612 | },
1613 | "@babel/parser": {
1614 | "version": "7.20.13",
1615 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
1616 | "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
1617 | "dev": true
1618 | },
1619 | "@babel/plugin-transform-react-jsx-self": {
1620 | "version": "7.18.6",
1621 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
1622 | "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
1623 | "dev": true,
1624 | "requires": {
1625 | "@babel/helper-plugin-utils": "^7.18.6"
1626 | }
1627 | },
1628 | "@babel/plugin-transform-react-jsx-source": {
1629 | "version": "7.19.6",
1630 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
1631 | "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
1632 | "dev": true,
1633 | "requires": {
1634 | "@babel/helper-plugin-utils": "^7.19.0"
1635 | }
1636 | },
1637 | "@babel/template": {
1638 | "version": "7.20.7",
1639 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
1640 | "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
1641 | "dev": true,
1642 | "requires": {
1643 | "@babel/code-frame": "^7.18.6",
1644 | "@babel/parser": "^7.20.7",
1645 | "@babel/types": "^7.20.7"
1646 | }
1647 | },
1648 | "@babel/traverse": {
1649 | "version": "7.20.13",
1650 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
1651 | "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
1652 | "dev": true,
1653 | "requires": {
1654 | "@babel/code-frame": "^7.18.6",
1655 | "@babel/generator": "^7.20.7",
1656 | "@babel/helper-environment-visitor": "^7.18.9",
1657 | "@babel/helper-function-name": "^7.19.0",
1658 | "@babel/helper-hoist-variables": "^7.18.6",
1659 | "@babel/helper-split-export-declaration": "^7.18.6",
1660 | "@babel/parser": "^7.20.13",
1661 | "@babel/types": "^7.20.7",
1662 | "debug": "^4.1.0",
1663 | "globals": "^11.1.0"
1664 | }
1665 | },
1666 | "@babel/types": {
1667 | "version": "7.20.7",
1668 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
1669 | "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
1670 | "dev": true,
1671 | "requires": {
1672 | "@babel/helper-string-parser": "^7.19.4",
1673 | "@babel/helper-validator-identifier": "^7.19.1",
1674 | "to-fast-properties": "^2.0.0"
1675 | }
1676 | },
1677 | "@esbuild/android-arm": {
1678 | "version": "0.16.17",
1679 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
1680 | "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
1681 | "dev": true,
1682 | "optional": true
1683 | },
1684 | "@esbuild/android-arm64": {
1685 | "version": "0.16.17",
1686 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
1687 | "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
1688 | "dev": true,
1689 | "optional": true
1690 | },
1691 | "@esbuild/android-x64": {
1692 | "version": "0.16.17",
1693 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
1694 | "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
1695 | "dev": true,
1696 | "optional": true
1697 | },
1698 | "@esbuild/darwin-arm64": {
1699 | "version": "0.16.17",
1700 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
1701 | "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
1702 | "dev": true,
1703 | "optional": true
1704 | },
1705 | "@esbuild/darwin-x64": {
1706 | "version": "0.16.17",
1707 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
1708 | "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
1709 | "dev": true,
1710 | "optional": true
1711 | },
1712 | "@esbuild/freebsd-arm64": {
1713 | "version": "0.16.17",
1714 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
1715 | "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
1716 | "dev": true,
1717 | "optional": true
1718 | },
1719 | "@esbuild/freebsd-x64": {
1720 | "version": "0.16.17",
1721 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
1722 | "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
1723 | "dev": true,
1724 | "optional": true
1725 | },
1726 | "@esbuild/linux-arm": {
1727 | "version": "0.16.17",
1728 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
1729 | "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
1730 | "dev": true,
1731 | "optional": true
1732 | },
1733 | "@esbuild/linux-arm64": {
1734 | "version": "0.16.17",
1735 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
1736 | "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
1737 | "dev": true,
1738 | "optional": true
1739 | },
1740 | "@esbuild/linux-ia32": {
1741 | "version": "0.16.17",
1742 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
1743 | "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
1744 | "dev": true,
1745 | "optional": true
1746 | },
1747 | "@esbuild/linux-loong64": {
1748 | "version": "0.16.17",
1749 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
1750 | "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
1751 | "dev": true,
1752 | "optional": true
1753 | },
1754 | "@esbuild/linux-mips64el": {
1755 | "version": "0.16.17",
1756 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
1757 | "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
1758 | "dev": true,
1759 | "optional": true
1760 | },
1761 | "@esbuild/linux-ppc64": {
1762 | "version": "0.16.17",
1763 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
1764 | "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
1765 | "dev": true,
1766 | "optional": true
1767 | },
1768 | "@esbuild/linux-riscv64": {
1769 | "version": "0.16.17",
1770 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
1771 | "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
1772 | "dev": true,
1773 | "optional": true
1774 | },
1775 | "@esbuild/linux-s390x": {
1776 | "version": "0.16.17",
1777 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
1778 | "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
1779 | "dev": true,
1780 | "optional": true
1781 | },
1782 | "@esbuild/linux-x64": {
1783 | "version": "0.16.17",
1784 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
1785 | "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
1786 | "dev": true,
1787 | "optional": true
1788 | },
1789 | "@esbuild/netbsd-x64": {
1790 | "version": "0.16.17",
1791 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
1792 | "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
1793 | "dev": true,
1794 | "optional": true
1795 | },
1796 | "@esbuild/openbsd-x64": {
1797 | "version": "0.16.17",
1798 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
1799 | "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
1800 | "dev": true,
1801 | "optional": true
1802 | },
1803 | "@esbuild/sunos-x64": {
1804 | "version": "0.16.17",
1805 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
1806 | "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
1807 | "dev": true,
1808 | "optional": true
1809 | },
1810 | "@esbuild/win32-arm64": {
1811 | "version": "0.16.17",
1812 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
1813 | "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
1814 | "dev": true,
1815 | "optional": true
1816 | },
1817 | "@esbuild/win32-ia32": {
1818 | "version": "0.16.17",
1819 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
1820 | "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
1821 | "dev": true,
1822 | "optional": true
1823 | },
1824 | "@esbuild/win32-x64": {
1825 | "version": "0.16.17",
1826 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
1827 | "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
1828 | "dev": true,
1829 | "optional": true
1830 | },
1831 | "@jridgewell/gen-mapping": {
1832 | "version": "0.1.1",
1833 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
1834 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
1835 | "dev": true,
1836 | "requires": {
1837 | "@jridgewell/set-array": "^1.0.0",
1838 | "@jridgewell/sourcemap-codec": "^1.4.10"
1839 | }
1840 | },
1841 | "@jridgewell/resolve-uri": {
1842 | "version": "3.1.0",
1843 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1844 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
1845 | "dev": true
1846 | },
1847 | "@jridgewell/set-array": {
1848 | "version": "1.1.2",
1849 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
1850 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
1851 | "dev": true
1852 | },
1853 | "@jridgewell/sourcemap-codec": {
1854 | "version": "1.4.14",
1855 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1856 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
1857 | "dev": true
1858 | },
1859 | "@jridgewell/trace-mapping": {
1860 | "version": "0.3.17",
1861 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
1862 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
1863 | "dev": true,
1864 | "requires": {
1865 | "@jridgewell/resolve-uri": "3.1.0",
1866 | "@jridgewell/sourcemap-codec": "1.4.14"
1867 | }
1868 | },
1869 | "@types/prop-types": {
1870 | "version": "15.7.5",
1871 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
1872 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
1873 | "dev": true
1874 | },
1875 | "@types/react": {
1876 | "version": "18.0.27",
1877 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz",
1878 | "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==",
1879 | "dev": true,
1880 | "requires": {
1881 | "@types/prop-types": "*",
1882 | "@types/scheduler": "*",
1883 | "csstype": "^3.0.2"
1884 | }
1885 | },
1886 | "@types/react-dom": {
1887 | "version": "18.0.10",
1888 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz",
1889 | "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==",
1890 | "dev": true,
1891 | "requires": {
1892 | "@types/react": "*"
1893 | }
1894 | },
1895 | "@types/scheduler": {
1896 | "version": "0.16.2",
1897 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
1898 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
1899 | "dev": true
1900 | },
1901 | "@vitejs/plugin-react": {
1902 | "version": "3.0.1",
1903 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz",
1904 | "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==",
1905 | "dev": true,
1906 | "requires": {
1907 | "@babel/core": "^7.20.7",
1908 | "@babel/plugin-transform-react-jsx-self": "^7.18.6",
1909 | "@babel/plugin-transform-react-jsx-source": "^7.19.6",
1910 | "magic-string": "^0.27.0",
1911 | "react-refresh": "^0.14.0"
1912 | }
1913 | },
1914 | "ansi-styles": {
1915 | "version": "3.2.1",
1916 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1917 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1918 | "dev": true,
1919 | "requires": {
1920 | "color-convert": "^1.9.0"
1921 | }
1922 | },
1923 | "browserslist": {
1924 | "version": "4.21.4",
1925 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
1926 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
1927 | "dev": true,
1928 | "requires": {
1929 | "caniuse-lite": "^1.0.30001400",
1930 | "electron-to-chromium": "^1.4.251",
1931 | "node-releases": "^2.0.6",
1932 | "update-browserslist-db": "^1.0.9"
1933 | }
1934 | },
1935 | "caniuse-lite": {
1936 | "version": "1.0.30001448",
1937 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz",
1938 | "integrity": "sha512-tq2YI+MJnooG96XpbTRYkBxLxklZPOdLmNIOdIhvf7SNJan6u5vCKum8iT7ZfCt70m1GPkuC7P3TtX6UuhupuA==",
1939 | "dev": true
1940 | },
1941 | "chalk": {
1942 | "version": "2.4.2",
1943 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1944 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1945 | "dev": true,
1946 | "requires": {
1947 | "ansi-styles": "^3.2.1",
1948 | "escape-string-regexp": "^1.0.5",
1949 | "supports-color": "^5.3.0"
1950 | }
1951 | },
1952 | "color-convert": {
1953 | "version": "1.9.3",
1954 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1955 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1956 | "dev": true,
1957 | "requires": {
1958 | "color-name": "1.1.3"
1959 | }
1960 | },
1961 | "color-name": {
1962 | "version": "1.1.3",
1963 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1964 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1965 | "dev": true
1966 | },
1967 | "convert-source-map": {
1968 | "version": "1.9.0",
1969 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1970 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1971 | "dev": true
1972 | },
1973 | "csstype": {
1974 | "version": "3.1.1",
1975 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
1976 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
1977 | "dev": true
1978 | },
1979 | "debug": {
1980 | "version": "4.3.4",
1981 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1982 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1983 | "dev": true,
1984 | "requires": {
1985 | "ms": "2.1.2"
1986 | }
1987 | },
1988 | "electron-to-chromium": {
1989 | "version": "1.4.284",
1990 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
1991 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
1992 | "dev": true
1993 | },
1994 | "esbuild": {
1995 | "version": "0.16.17",
1996 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
1997 | "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
1998 | "dev": true,
1999 | "requires": {
2000 | "@esbuild/android-arm": "0.16.17",
2001 | "@esbuild/android-arm64": "0.16.17",
2002 | "@esbuild/android-x64": "0.16.17",
2003 | "@esbuild/darwin-arm64": "0.16.17",
2004 | "@esbuild/darwin-x64": "0.16.17",
2005 | "@esbuild/freebsd-arm64": "0.16.17",
2006 | "@esbuild/freebsd-x64": "0.16.17",
2007 | "@esbuild/linux-arm": "0.16.17",
2008 | "@esbuild/linux-arm64": "0.16.17",
2009 | "@esbuild/linux-ia32": "0.16.17",
2010 | "@esbuild/linux-loong64": "0.16.17",
2011 | "@esbuild/linux-mips64el": "0.16.17",
2012 | "@esbuild/linux-ppc64": "0.16.17",
2013 | "@esbuild/linux-riscv64": "0.16.17",
2014 | "@esbuild/linux-s390x": "0.16.17",
2015 | "@esbuild/linux-x64": "0.16.17",
2016 | "@esbuild/netbsd-x64": "0.16.17",
2017 | "@esbuild/openbsd-x64": "0.16.17",
2018 | "@esbuild/sunos-x64": "0.16.17",
2019 | "@esbuild/win32-arm64": "0.16.17",
2020 | "@esbuild/win32-ia32": "0.16.17",
2021 | "@esbuild/win32-x64": "0.16.17"
2022 | }
2023 | },
2024 | "escalade": {
2025 | "version": "3.1.1",
2026 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2027 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2028 | "dev": true
2029 | },
2030 | "escape-string-regexp": {
2031 | "version": "1.0.5",
2032 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2033 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2034 | "dev": true
2035 | },
2036 | "fsevents": {
2037 | "version": "2.3.2",
2038 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2039 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2040 | "dev": true,
2041 | "optional": true
2042 | },
2043 | "function-bind": {
2044 | "version": "1.1.1",
2045 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2046 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2047 | "dev": true
2048 | },
2049 | "gensync": {
2050 | "version": "1.0.0-beta.2",
2051 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2052 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2053 | "dev": true
2054 | },
2055 | "globals": {
2056 | "version": "11.12.0",
2057 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2058 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2059 | "dev": true
2060 | },
2061 | "has": {
2062 | "version": "1.0.3",
2063 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2064 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2065 | "dev": true,
2066 | "requires": {
2067 | "function-bind": "^1.1.1"
2068 | }
2069 | },
2070 | "has-flag": {
2071 | "version": "3.0.0",
2072 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2073 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2074 | "dev": true
2075 | },
2076 | "is-core-module": {
2077 | "version": "2.11.0",
2078 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
2079 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
2080 | "dev": true,
2081 | "requires": {
2082 | "has": "^1.0.3"
2083 | }
2084 | },
2085 | "js-tokens": {
2086 | "version": "4.0.0",
2087 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2088 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
2089 | },
2090 | "jsesc": {
2091 | "version": "2.5.2",
2092 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2093 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
2094 | "dev": true
2095 | },
2096 | "json5": {
2097 | "version": "2.2.3",
2098 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2099 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2100 | "dev": true
2101 | },
2102 | "loose-envify": {
2103 | "version": "1.4.0",
2104 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2105 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2106 | "requires": {
2107 | "js-tokens": "^3.0.0 || ^4.0.0"
2108 | }
2109 | },
2110 | "lru-cache": {
2111 | "version": "5.1.1",
2112 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2113 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2114 | "dev": true,
2115 | "requires": {
2116 | "yallist": "^3.0.2"
2117 | }
2118 | },
2119 | "magic-string": {
2120 | "version": "0.27.0",
2121 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
2122 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
2123 | "dev": true,
2124 | "requires": {
2125 | "@jridgewell/sourcemap-codec": "^1.4.13"
2126 | }
2127 | },
2128 | "ms": {
2129 | "version": "2.1.2",
2130 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2131 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2132 | "dev": true
2133 | },
2134 | "nanoid": {
2135 | "version": "3.3.4",
2136 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
2137 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
2138 | "dev": true
2139 | },
2140 | "node-releases": {
2141 | "version": "2.0.8",
2142 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
2143 | "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
2144 | "dev": true
2145 | },
2146 | "path-parse": {
2147 | "version": "1.0.7",
2148 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2149 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2150 | "dev": true
2151 | },
2152 | "picocolors": {
2153 | "version": "1.0.0",
2154 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2155 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2156 | "dev": true
2157 | },
2158 | "postcss": {
2159 | "version": "8.4.21",
2160 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
2161 | "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
2162 | "dev": true,
2163 | "requires": {
2164 | "nanoid": "^3.3.4",
2165 | "picocolors": "^1.0.0",
2166 | "source-map-js": "^1.0.2"
2167 | }
2168 | },
2169 | "react": {
2170 | "version": "18.2.0",
2171 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
2172 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
2173 | "requires": {
2174 | "loose-envify": "^1.1.0"
2175 | }
2176 | },
2177 | "react-dom": {
2178 | "version": "18.2.0",
2179 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
2180 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
2181 | "requires": {
2182 | "loose-envify": "^1.1.0",
2183 | "scheduler": "^0.23.0"
2184 | }
2185 | },
2186 | "react-refresh": {
2187 | "version": "0.14.0",
2188 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
2189 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
2190 | "dev": true
2191 | },
2192 | "resolve": {
2193 | "version": "1.22.1",
2194 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2195 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2196 | "dev": true,
2197 | "requires": {
2198 | "is-core-module": "^2.9.0",
2199 | "path-parse": "^1.0.7",
2200 | "supports-preserve-symlinks-flag": "^1.0.0"
2201 | }
2202 | },
2203 | "rollup": {
2204 | "version": "3.11.0",
2205 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.11.0.tgz",
2206 | "integrity": "sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==",
2207 | "dev": true,
2208 | "requires": {
2209 | "fsevents": "~2.3.2"
2210 | }
2211 | },
2212 | "scheduler": {
2213 | "version": "0.23.0",
2214 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
2215 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
2216 | "requires": {
2217 | "loose-envify": "^1.1.0"
2218 | }
2219 | },
2220 | "semver": {
2221 | "version": "6.3.0",
2222 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2223 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2224 | "dev": true
2225 | },
2226 | "source-map-js": {
2227 | "version": "1.0.2",
2228 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2229 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2230 | "dev": true
2231 | },
2232 | "supports-color": {
2233 | "version": "5.5.0",
2234 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2235 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2236 | "dev": true,
2237 | "requires": {
2238 | "has-flag": "^3.0.0"
2239 | }
2240 | },
2241 | "supports-preserve-symlinks-flag": {
2242 | "version": "1.0.0",
2243 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2244 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2245 | "dev": true
2246 | },
2247 | "to-fast-properties": {
2248 | "version": "2.0.0",
2249 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2250 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
2251 | "dev": true
2252 | },
2253 | "typescript": {
2254 | "version": "4.9.4",
2255 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
2256 | "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
2257 | "dev": true
2258 | },
2259 | "update-browserslist-db": {
2260 | "version": "1.0.10",
2261 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2262 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2263 | "dev": true,
2264 | "requires": {
2265 | "escalade": "^3.1.1",
2266 | "picocolors": "^1.0.0"
2267 | }
2268 | },
2269 | "vite": {
2270 | "version": "4.0.4",
2271 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
2272 | "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
2273 | "dev": true,
2274 | "requires": {
2275 | "esbuild": "^0.16.3",
2276 | "fsevents": "~2.3.2",
2277 | "postcss": "^8.4.20",
2278 | "resolve": "^1.22.1",
2279 | "rollup": "^3.7.0"
2280 | }
2281 | },
2282 | "yallist": {
2283 | "version": "3.1.1",
2284 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2285 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2286 | "dev": true
2287 | }
2288 | }
2289 | }
2290 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "django-react",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "react": "^18.2.0",
13 | "react-dom": "^18.2.0"
14 | },
15 | "devDependencies": {
16 | "@types/react": "^18.0.26",
17 | "@types/react-dom": "^18.0.9",
18 | "@vitejs/plugin-react": "^3.0.0",
19 | "typescript": "^4.9.3",
20 | "vite": "^4.0.0"
21 | }
22 | }
--------------------------------------------------------------------------------
/public/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pyvenv.cfg:
--------------------------------------------------------------------------------
1 | home = /usr
2 | implementation = CPython
3 | version_info = 3.9.14.final.0
4 | virtualenv = 20.16.3
5 | include-system-site-packages = false
6 | base-prefix = /usr
7 | base-exec-prefix = /usr
8 | base-executable = /usr/bin/python3.9
9 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.6.0
2 | Django==3.2.16
3 | pytz==2022.7.1
4 | sqlparse==0.4.3
5 | whitenoise==6.3.0
6 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | }
13 | .logo:hover {
14 | filter: drop-shadow(0 0 2em #646cffaa);
15 | }
16 | .logo.react:hover {
17 | filter: drop-shadow(0 0 2em #61dafbaa);
18 | }
19 |
20 | @keyframes logo-spin {
21 | from {
22 | transform: rotate(0deg);
23 | }
24 | to {
25 | transform: rotate(360deg);
26 | }
27 | }
28 |
29 | @media (prefers-reduced-motion: no-preference) {
30 | a:nth-of-type(2) .logo {
31 | animation: logo-spin infinite 20s linear;
32 | }
33 | }
34 |
35 | .card {
36 | padding: 2em;
37 | }
38 |
39 | .read-the-docs {
40 | color: #888;
41 | }
42 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 | import './App.css'
3 |
4 | const reactLogo = "react.svg"
5 | const viteLogo = "vite.svg"
6 |
7 | const reactLogoPath = `/static/${reactLogo}`
8 | const viteLogoPath = `/static/${viteLogo}`
9 |
10 | function App() {
11 | const [count, setCount] = useState(0)
12 |
13 | return (
14 |
15 |
23 |
Vite + React + Django
24 |
25 |
28 |
29 | Edit src/App.tsx
and save to test HMR
30 |
31 |
32 |
33 | Click on the Vite and React logos to learn more
34 |
35 |
36 | )
37 | }
38 |
39 | export default App
40 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
3 | font-size: 16px;
4 | line-height: 24px;
5 | font-weight: 400;
6 |
7 | color-scheme: light dark;
8 | color: rgba(255, 255, 255, 0.87);
9 | background-color: #242424;
10 |
11 | font-synthesis: none;
12 | text-rendering: optimizeLegibility;
13 | -webkit-font-smoothing: antialiased;
14 | -moz-osx-font-smoothing: grayscale;
15 | -webkit-text-size-adjust: 100%;
16 | }
17 |
18 | a {
19 | font-weight: 500;
20 | color: #646cff;
21 | text-decoration: inherit;
22 | }
23 | a:hover {
24 | color: #535bf2;
25 | }
26 |
27 | body {
28 | margin: 0;
29 | display: flex;
30 | place-items: center;
31 | min-width: 320px;
32 | min-height: 100vh;
33 | }
34 |
35 | h1 {
36 | font-size: 3.2em;
37 | line-height: 1.1;
38 | }
39 |
40 | button {
41 | border-radius: 8px;
42 | border: 1px solid transparent;
43 | padding: 0.6em 1.2em;
44 | font-size: 1em;
45 | font-weight: 500;
46 | font-family: inherit;
47 | background-color: #1a1a1a;
48 | cursor: pointer;
49 | transition: border-color 0.25s;
50 | }
51 | button:hover {
52 | border-color: #646cff;
53 | }
54 | button:focus,
55 | button:focus-visible {
56 | outline: 4px auto -webkit-focus-ring-color;
57 | }
58 |
59 | @media (prefers-color-scheme: light) {
60 | :root {
61 | color: #213547;
62 | background-color: #ffffff;
63 | }
64 | a:hover {
65 | color: #747bff;
66 | }
67 | button {
68 | background-color: #f9f9f9;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App'
4 | import './index.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7 |
8 |
9 | ,
10 | )
11 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | const cssFileName = 'index.min.css'
5 |
6 |
7 | // https://vitejs.dev/config/
8 | export default defineConfig({
9 | plugins: [react()],
10 | publicDir: './public',
11 | build: {
12 | rollupOptions: {
13 | output: {
14 | assetFileNames: (file) => {
15 | return `assets/css/${cssFileName}`
16 | },
17 | entryFileNames: (file) => {
18 | return `assets/js/[name].min.js`
19 | }
20 | }
21 | }
22 | }
23 |
24 | })
25 |
--------------------------------------------------------------------------------