├── .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 | YouTube 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 |
16 | 17 | Vite logo 18 | 19 | 20 | React logo 21 | 22 |
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 | --------------------------------------------------------------------------------