├── .env.example ├── .eslintrc.json ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE.md ├── README.md ├── next.config.js ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── background.svg ├── check.svg ├── favicon.ico ├── next.svg └── vercel.svg ├── src ├── components │ ├── commons │ │ ├── ButtonFile.tsx │ │ ├── Dropzone.tsx │ │ ├── InputLink.tsx │ │ ├── PreviewImage.tsx │ │ ├── ProgressCard.tsx │ │ └── index.ts │ ├── index.ts │ └── layouts │ │ ├── Footer.tsx │ │ ├── Main.tsx │ │ └── index.ts ├── hooks │ ├── index.ts │ └── use-upload.hook.ts ├── lib │ ├── dropzone-option.lib.ts │ ├── index.ts │ └── upload-file.lib.ts ├── pages │ ├── _app.tsx │ ├── _document.tsx │ ├── api │ │ └── hello.ts │ └── index.tsx └── styles │ └── globals.css ├── tailwind.config.js ├── tsconfig.json └── types ├── environment.d.ts └── react.d.ts /.env.example: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_CLOUDINARY_BASE_URL = https://api.cloudinary.com/v1_1/cloud_name/image/upload 2 | 3 | NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET = cloud_preset 4 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next", "prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | 2 | *-lock.* 3 | build 4 | coverage 5 | .next 6 | .vercel -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "printWidth": 120, 4 | "singleQuote": true, 5 | "semi": true, 6 | "useTabs": true, 7 | "trailingComma": "all", 8 | "jsxSingleQuote": true 9 | } 10 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 KevinSa 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 | # NextJs Image Uploader 2 | 3 | ## Description 4 | 5 | This project was built to complete all the user stories listed or described by the challenge itself. Hence in this project, a user can: 6 | 7 | - Drag and drop an image to upload it 8 | - Choose to select an image from any folder 9 | - See a loader when uploading 10 | - Can see the uploaded image and copy it 11 | - Choose to copy to the clipboard 12 | 13 | ### General 14 | 15 | This application was built reflecting the MVC architecture and the main dependencies(all found in the package.json) of the application are organised as so: 16 | 17 | - Front-end User Interface(UI): [Tailwindcss](https://tailwindcss.com) 18 | - File Storage: Not available 19 | 20 | Other important services & dependency libraries of the application include: 21 | 22 | - [react-dropzone](https://www.npmjs.com/package/react-dropzone): Simple React hook to create a HTML5-compliant drag'n'drop zone for files. 23 | - [react-toastify](https://www.npmjs.com/package/react-toastify): The React-Toastify package enables developers to add toast notifications to their applications and also can set notifications. 24 | - [copy-to-clipboard](https://www.npmjs.com/package/copy-to-clipboard): A copy to clipboard function. 25 | - [axios](https://axios-http.com/docs/intro): An http client to fetch urls and make api calls or requests to the [Cloudinary API](https://cloudinary.com/documentation/image_upload_api_reference). 26 | 27 | ## Getting started 28 | 29 | 1. Clone this repository: 30 | 31 | ```shell 32 | git clone https://github.com/kevin-sg/nextjs-image-uploader.git 33 | ``` 34 | 35 | 2. Next, you need to setup the `.env` file found in the root with the appropriate credentials from the following service providers: 36 | 37 | ```shell 38 | NEXT_PUBLIC_CLOUDINARY_BASE_URL = https://api.cloudinary.com/v1_1/cloud_name/image/upload 39 | 40 | NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET = cloud_preset 41 | 42 | ``` 43 | 44 | 3. Install all the dependency packages found in the `package.json` file: 45 | 46 | ```shell 47 | # ./nextjs-image-uploader 48 | pnpm install 49 | ``` 50 | 51 | 3. To start the development server of the application: 52 | 53 | ```shell 54 | pnpm dev 55 | ``` 56 | 57 | ### Author: 58 | 59 | [KevinSG](https://github.com/kevin-sg) 60 | 61 | ## License 62 | 63 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 64 | 65 | ### 66 | 67 | ![GitHub last commit](https://img.shields.io/github/last-commit/kevin-sg/nextjs-image-uploader) ![GitHub contributors](https://img.shields.io/github/contributors/kevin-sg/nextjs-image-uploader) ![GitHub issues](https://img.shields.io/github/issues/kevin-sg/nextjs-image-uploader) ![GitHub repo size](https://img.shields.io/github/repo-size/kevin-sg/nextjs-image-uploader) 68 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | images: { domains: ['res.cloudinary.com'] }, 5 | }; 6 | 7 | module.exports = nextConfig; 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nextjs-image-uploader", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint", 10 | "format": "prettier --check --ignore-path .gitignore .", 11 | "format:fix": "prettier --write --ignore-path .gitignore ." 12 | }, 13 | "dependencies": { 14 | "@types/node": "20.3.1", 15 | "@types/react": "18.2.12", 16 | "@types/react-dom": "18.2.5", 17 | "autoprefixer": "10.4.14", 18 | "axios": "^1.4.0", 19 | "clsx": "^1.2.1", 20 | "copy-to-clipboard": "^3.3.3", 21 | "eslint": "8.42.0", 22 | "eslint-config-next": "13.4.5", 23 | "next": "13.4.5", 24 | "postcss": "8.4.24", 25 | "react": "18.2.0", 26 | "react-dom": "18.2.0", 27 | "react-dropzone": "^14.2.3", 28 | "react-toastify": "^9.1.3", 29 | "tailwindcss": "3.3.2", 30 | "typescript": "5.1.3" 31 | }, 32 | "devDependencies": { 33 | "eslint-config-prettier": "^8.8.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@types/node': 9 | specifier: 20.3.1 10 | version: 20.3.1 11 | '@types/react': 12 | specifier: 18.2.12 13 | version: 18.2.12 14 | '@types/react-dom': 15 | specifier: 18.2.5 16 | version: 18.2.5 17 | autoprefixer: 18 | specifier: 10.4.14 19 | version: 10.4.14(postcss@8.4.24) 20 | axios: 21 | specifier: ^1.4.0 22 | version: 1.4.0 23 | clsx: 24 | specifier: ^1.2.1 25 | version: 1.2.1 26 | copy-to-clipboard: 27 | specifier: ^3.3.3 28 | version: 3.3.3 29 | eslint: 30 | specifier: 8.42.0 31 | version: 8.42.0 32 | eslint-config-next: 33 | specifier: 13.4.5 34 | version: 13.4.5(eslint@8.42.0)(typescript@5.1.3) 35 | next: 36 | specifier: 13.4.5 37 | version: 13.4.5(react-dom@18.2.0)(react@18.2.0) 38 | postcss: 39 | specifier: 8.4.24 40 | version: 8.4.24 41 | react: 42 | specifier: 18.2.0 43 | version: 18.2.0 44 | react-dom: 45 | specifier: 18.2.0 46 | version: 18.2.0(react@18.2.0) 47 | react-dropzone: 48 | specifier: ^14.2.3 49 | version: 14.2.3(react@18.2.0) 50 | react-toastify: 51 | specifier: ^9.1.3 52 | version: 9.1.3(react-dom@18.2.0)(react@18.2.0) 53 | tailwindcss: 54 | specifier: 3.3.2 55 | version: 3.3.2 56 | typescript: 57 | specifier: 5.1.3 58 | version: 5.1.3 59 | 60 | devDependencies: 61 | eslint-config-prettier: 62 | specifier: ^8.8.0 63 | version: 8.8.0(eslint@8.42.0) 64 | 65 | packages: 66 | /@alloc/quick-lru@5.2.0: 67 | resolution: 68 | { integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== } 69 | engines: { node: '>=10' } 70 | dev: false 71 | 72 | /@babel/runtime@7.22.5: 73 | resolution: 74 | { integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== } 75 | engines: { node: '>=6.9.0' } 76 | dependencies: 77 | regenerator-runtime: 0.13.11 78 | dev: false 79 | 80 | /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): 81 | resolution: 82 | { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } 83 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 84 | peerDependencies: 85 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 86 | dependencies: 87 | eslint: 8.42.0 88 | eslint-visitor-keys: 3.4.1 89 | 90 | /@eslint-community/regexpp@4.5.1: 91 | resolution: 92 | { integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== } 93 | engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } 94 | 95 | /@eslint/eslintrc@2.0.3: 96 | resolution: 97 | { integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== } 98 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 99 | dependencies: 100 | ajv: 6.12.6 101 | debug: 4.3.4 102 | espree: 9.5.2 103 | globals: 13.20.0 104 | ignore: 5.2.4 105 | import-fresh: 3.3.0 106 | js-yaml: 4.1.0 107 | minimatch: 3.1.2 108 | strip-json-comments: 3.1.1 109 | transitivePeerDependencies: 110 | - supports-color 111 | 112 | /@eslint/js@8.42.0: 113 | resolution: 114 | { integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== } 115 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 116 | 117 | /@humanwhocodes/config-array@0.11.10: 118 | resolution: 119 | { integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== } 120 | engines: { node: '>=10.10.0' } 121 | dependencies: 122 | '@humanwhocodes/object-schema': 1.2.1 123 | debug: 4.3.4 124 | minimatch: 3.1.2 125 | transitivePeerDependencies: 126 | - supports-color 127 | 128 | /@humanwhocodes/module-importer@1.0.1: 129 | resolution: 130 | { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } 131 | engines: { node: '>=12.22' } 132 | 133 | /@humanwhocodes/object-schema@1.2.1: 134 | resolution: 135 | { integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== } 136 | 137 | /@jridgewell/gen-mapping@0.3.3: 138 | resolution: 139 | { integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== } 140 | engines: { node: '>=6.0.0' } 141 | dependencies: 142 | '@jridgewell/set-array': 1.1.2 143 | '@jridgewell/sourcemap-codec': 1.4.15 144 | '@jridgewell/trace-mapping': 0.3.18 145 | dev: false 146 | 147 | /@jridgewell/resolve-uri@3.1.0: 148 | resolution: 149 | { integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== } 150 | engines: { node: '>=6.0.0' } 151 | dev: false 152 | 153 | /@jridgewell/set-array@1.1.2: 154 | resolution: 155 | { integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== } 156 | engines: { node: '>=6.0.0' } 157 | dev: false 158 | 159 | /@jridgewell/sourcemap-codec@1.4.14: 160 | resolution: 161 | { integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== } 162 | dev: false 163 | 164 | /@jridgewell/sourcemap-codec@1.4.15: 165 | resolution: 166 | { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } 167 | dev: false 168 | 169 | /@jridgewell/trace-mapping@0.3.18: 170 | resolution: 171 | { integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== } 172 | dependencies: 173 | '@jridgewell/resolve-uri': 3.1.0 174 | '@jridgewell/sourcemap-codec': 1.4.14 175 | dev: false 176 | 177 | /@next/env@13.4.5: 178 | resolution: 179 | { integrity: sha512-SG/gKH6eij4vwQy87b/3mbpQ1X3x2vUdnpwq6/qL2IQWjtq58EY/UuNAp9CoEZoC9sI4L9AD1r+73Z9r4d3uug== } 180 | dev: false 181 | 182 | /@next/eslint-plugin-next@13.4.5: 183 | resolution: 184 | { integrity: sha512-/xD/kyJhXmBZq+0xGKOdjL22c9/4i3mBAXaU9aOGEHTXqqFeOz8scJbScWF13aMqigeoFCsDqngIB2MIatcn4g== } 185 | dependencies: 186 | glob: 7.1.7 187 | dev: false 188 | 189 | /@next/swc-darwin-arm64@13.4.5: 190 | resolution: 191 | { integrity: sha512-XvTzi2ASUN5bECFIAAcBiSoDb0xsq+KLj4F0bof4d4rdc+FgOqLvseGQaOXwVi1TIh5bHa7o4b6droSJMO5+2g== } 192 | engines: { node: '>= 10' } 193 | cpu: [arm64] 194 | os: [darwin] 195 | requiresBuild: true 196 | dev: false 197 | optional: true 198 | 199 | /@next/swc-darwin-x64@13.4.5: 200 | resolution: 201 | { integrity: sha512-NQdqal/VKAqlJTuzhjZmNtdo8QSqwmfO7b2xJSAengTEVxQvsH76oGEzQeIv8Ci4NP6DysAFtFrJq++TmIxcUA== } 202 | engines: { node: '>= 10' } 203 | cpu: [x64] 204 | os: [darwin] 205 | requiresBuild: true 206 | dev: false 207 | optional: true 208 | 209 | /@next/swc-linux-arm64-gnu@13.4.5: 210 | resolution: 211 | { integrity: sha512-nB8TjtpJCXtzIFjYOMbnQu68ajkA8QK58TreHjTGojSQjsF0StDqo5zFHglVVVHrd8d3N/+EjC18yFNSWnd/ZA== } 212 | engines: { node: '>= 10' } 213 | cpu: [arm64] 214 | os: [linux] 215 | requiresBuild: true 216 | dev: false 217 | optional: true 218 | 219 | /@next/swc-linux-arm64-musl@13.4.5: 220 | resolution: 221 | { integrity: sha512-W126XUW599OV3giSH9Co40VpT8VAOT47xONVHXZaYEpeca0qEevjj6WUr5IJu/8u+XGWm5xI1S0DYWjR6W+olw== } 222 | engines: { node: '>= 10' } 223 | cpu: [arm64] 224 | os: [linux] 225 | requiresBuild: true 226 | dev: false 227 | optional: true 228 | 229 | /@next/swc-linux-x64-gnu@13.4.5: 230 | resolution: 231 | { integrity: sha512-ZbPLO/oztQdtjGmWvGhRmtkZ6j9kQqg65kiO7F7Ijj7ojTtu3hh/vY+XRsHa/4Cse6HgyJ8XGZJMGoLb8ecQfQ== } 232 | engines: { node: '>= 10' } 233 | cpu: [x64] 234 | os: [linux] 235 | requiresBuild: true 236 | dev: false 237 | optional: true 238 | 239 | /@next/swc-linux-x64-musl@13.4.5: 240 | resolution: 241 | { integrity: sha512-f+/h8KMNixVUoRB+2vza8I+jsthJ4KcvopGUsDIUHe7Q4t+m8nKwGFBeyNu9qNIenYK5g5QYEsSwYFEqZylrTQ== } 242 | engines: { node: '>= 10' } 243 | cpu: [x64] 244 | os: [linux] 245 | requiresBuild: true 246 | dev: false 247 | optional: true 248 | 249 | /@next/swc-win32-arm64-msvc@13.4.5: 250 | resolution: 251 | { integrity: sha512-dvtPQZ5+J+zUE1uq7gP853Oj63e+n0T1ydZ/yRdVh7d8zW9ZFuC9fFrg3MqP1cv1NPPur8rrTqDKN2mRBkSSBw== } 252 | engines: { node: '>= 10' } 253 | cpu: [arm64] 254 | os: [win32] 255 | requiresBuild: true 256 | dev: false 257 | optional: true 258 | 259 | /@next/swc-win32-ia32-msvc@13.4.5: 260 | resolution: 261 | { integrity: sha512-gK9zwGe25x31S4AjPy3Bf2niQvHIAbmwgkzmqWG3OmD4K2Z/Dh2ju4vuyzPzIt0pwQe4B520meP9NizTBmVWSg== } 262 | engines: { node: '>= 10' } 263 | cpu: [ia32] 264 | os: [win32] 265 | requiresBuild: true 266 | dev: false 267 | optional: true 268 | 269 | /@next/swc-win32-x64-msvc@13.4.5: 270 | resolution: 271 | { integrity: sha512-iyNQVc7eGehrik9RJt9xGcnO6b/pi8C7GCfg8RGenx1IlalEKbYRgBJloF7DQzwlrV47E9bQl8swT+JawaNcKA== } 272 | engines: { node: '>= 10' } 273 | cpu: [x64] 274 | os: [win32] 275 | requiresBuild: true 276 | dev: false 277 | optional: true 278 | 279 | /@nodelib/fs.scandir@2.1.5: 280 | resolution: 281 | { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } 282 | engines: { node: '>= 8' } 283 | dependencies: 284 | '@nodelib/fs.stat': 2.0.5 285 | run-parallel: 1.2.0 286 | 287 | /@nodelib/fs.stat@2.0.5: 288 | resolution: 289 | { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } 290 | engines: { node: '>= 8' } 291 | 292 | /@nodelib/fs.walk@1.2.8: 293 | resolution: 294 | { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } 295 | engines: { node: '>= 8' } 296 | dependencies: 297 | '@nodelib/fs.scandir': 2.1.5 298 | fastq: 1.15.0 299 | 300 | /@pkgr/utils@2.4.1: 301 | resolution: 302 | { integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w== } 303 | engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } 304 | dependencies: 305 | cross-spawn: 7.0.3 306 | fast-glob: 3.2.12 307 | is-glob: 4.0.3 308 | open: 9.1.0 309 | picocolors: 1.0.0 310 | tslib: 2.5.3 311 | dev: false 312 | 313 | /@rushstack/eslint-patch@1.3.1: 314 | resolution: 315 | { integrity: sha512-RkmuBcqiNioeeBKbgzMlOdreUkJfYaSjwgx9XDgGGpjvWgyaxWvDmZVSN9CS6LjEASadhgPv2BcFp+SeouWXXA== } 316 | dev: false 317 | 318 | /@swc/helpers@0.5.1: 319 | resolution: 320 | { integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg== } 321 | dependencies: 322 | tslib: 2.5.3 323 | dev: false 324 | 325 | /@types/json5@0.0.29: 326 | resolution: 327 | { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } 328 | dev: false 329 | 330 | /@types/node@20.3.1: 331 | resolution: 332 | { integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== } 333 | dev: false 334 | 335 | /@types/prop-types@15.7.5: 336 | resolution: 337 | { integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== } 338 | dev: false 339 | 340 | /@types/react-dom@18.2.5: 341 | resolution: 342 | { integrity: sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ== } 343 | dependencies: 344 | '@types/react': 18.2.12 345 | dev: false 346 | 347 | /@types/react@18.2.12: 348 | resolution: 349 | { integrity: sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw== } 350 | dependencies: 351 | '@types/prop-types': 15.7.5 352 | '@types/scheduler': 0.16.3 353 | csstype: 3.1.2 354 | dev: false 355 | 356 | /@types/scheduler@0.16.3: 357 | resolution: 358 | { integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== } 359 | dev: false 360 | 361 | /@typescript-eslint/parser@5.59.11(eslint@8.42.0)(typescript@5.1.3): 362 | resolution: 363 | { integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA== } 364 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 365 | peerDependencies: 366 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 367 | typescript: '*' 368 | peerDependenciesMeta: 369 | typescript: 370 | optional: true 371 | dependencies: 372 | '@typescript-eslint/scope-manager': 5.59.11 373 | '@typescript-eslint/types': 5.59.11 374 | '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3) 375 | debug: 4.3.4 376 | eslint: 8.42.0 377 | typescript: 5.1.3 378 | transitivePeerDependencies: 379 | - supports-color 380 | dev: false 381 | 382 | /@typescript-eslint/scope-manager@5.59.11: 383 | resolution: 384 | { integrity: sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q== } 385 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 386 | dependencies: 387 | '@typescript-eslint/types': 5.59.11 388 | '@typescript-eslint/visitor-keys': 5.59.11 389 | dev: false 390 | 391 | /@typescript-eslint/types@5.59.11: 392 | resolution: 393 | { integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA== } 394 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 395 | dev: false 396 | 397 | /@typescript-eslint/typescript-estree@5.59.11(typescript@5.1.3): 398 | resolution: 399 | { integrity: sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA== } 400 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 401 | peerDependencies: 402 | typescript: '*' 403 | peerDependenciesMeta: 404 | typescript: 405 | optional: true 406 | dependencies: 407 | '@typescript-eslint/types': 5.59.11 408 | '@typescript-eslint/visitor-keys': 5.59.11 409 | debug: 4.3.4 410 | globby: 11.1.0 411 | is-glob: 4.0.3 412 | semver: 7.5.1 413 | tsutils: 3.21.0(typescript@5.1.3) 414 | typescript: 5.1.3 415 | transitivePeerDependencies: 416 | - supports-color 417 | dev: false 418 | 419 | /@typescript-eslint/visitor-keys@5.59.11: 420 | resolution: 421 | { integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA== } 422 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 423 | dependencies: 424 | '@typescript-eslint/types': 5.59.11 425 | eslint-visitor-keys: 3.4.1 426 | dev: false 427 | 428 | /acorn-jsx@5.3.2(acorn@8.8.2): 429 | resolution: 430 | { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } 431 | peerDependencies: 432 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 433 | dependencies: 434 | acorn: 8.8.2 435 | 436 | /acorn@8.8.2: 437 | resolution: 438 | { integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== } 439 | engines: { node: '>=0.4.0' } 440 | hasBin: true 441 | 442 | /ajv@6.12.6: 443 | resolution: 444 | { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } 445 | dependencies: 446 | fast-deep-equal: 3.1.3 447 | fast-json-stable-stringify: 2.1.0 448 | json-schema-traverse: 0.4.1 449 | uri-js: 4.4.1 450 | 451 | /ansi-regex@5.0.1: 452 | resolution: 453 | { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } 454 | engines: { node: '>=8' } 455 | 456 | /ansi-styles@4.3.0: 457 | resolution: 458 | { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } 459 | engines: { node: '>=8' } 460 | dependencies: 461 | color-convert: 2.0.1 462 | 463 | /any-promise@1.3.0: 464 | resolution: 465 | { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } 466 | dev: false 467 | 468 | /anymatch@3.1.3: 469 | resolution: 470 | { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } 471 | engines: { node: '>= 8' } 472 | dependencies: 473 | normalize-path: 3.0.0 474 | picomatch: 2.3.1 475 | dev: false 476 | 477 | /arg@5.0.2: 478 | resolution: 479 | { integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== } 480 | dev: false 481 | 482 | /argparse@2.0.1: 483 | resolution: 484 | { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } 485 | 486 | /aria-query@5.2.1: 487 | resolution: 488 | { integrity: sha512-7uFg4b+lETFgdaJyETnILsXgnnzVnkHcgRbwbPwevm5x/LmUlt3MjczMRe1zg824iBgXZNRPTBftNYyRSKLp2g== } 489 | dependencies: 490 | dequal: 2.0.3 491 | dev: false 492 | 493 | /array-buffer-byte-length@1.0.0: 494 | resolution: 495 | { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } 496 | dependencies: 497 | call-bind: 1.0.2 498 | is-array-buffer: 3.0.2 499 | dev: false 500 | 501 | /array-includes@3.1.6: 502 | resolution: 503 | { integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== } 504 | engines: { node: '>= 0.4' } 505 | dependencies: 506 | call-bind: 1.0.2 507 | define-properties: 1.2.0 508 | es-abstract: 1.21.2 509 | get-intrinsic: 1.2.1 510 | is-string: 1.0.7 511 | dev: false 512 | 513 | /array-union@2.1.0: 514 | resolution: 515 | { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } 516 | engines: { node: '>=8' } 517 | dev: false 518 | 519 | /array.prototype.flat@1.3.1: 520 | resolution: 521 | { integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== } 522 | engines: { node: '>= 0.4' } 523 | dependencies: 524 | call-bind: 1.0.2 525 | define-properties: 1.2.0 526 | es-abstract: 1.21.2 527 | es-shim-unscopables: 1.0.0 528 | dev: false 529 | 530 | /array.prototype.flatmap@1.3.1: 531 | resolution: 532 | { integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== } 533 | engines: { node: '>= 0.4' } 534 | dependencies: 535 | call-bind: 1.0.2 536 | define-properties: 1.2.0 537 | es-abstract: 1.21.2 538 | es-shim-unscopables: 1.0.0 539 | dev: false 540 | 541 | /array.prototype.tosorted@1.1.1: 542 | resolution: 543 | { integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== } 544 | dependencies: 545 | call-bind: 1.0.2 546 | define-properties: 1.2.0 547 | es-abstract: 1.21.2 548 | es-shim-unscopables: 1.0.0 549 | get-intrinsic: 1.2.1 550 | dev: false 551 | 552 | /ast-types-flow@0.0.7: 553 | resolution: 554 | { integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== } 555 | dev: false 556 | 557 | /asynckit@0.4.0: 558 | resolution: 559 | { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } 560 | dev: false 561 | 562 | /attr-accept@2.2.2: 563 | resolution: 564 | { integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== } 565 | engines: { node: '>=4' } 566 | dev: false 567 | 568 | /autoprefixer@10.4.14(postcss@8.4.24): 569 | resolution: 570 | { integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== } 571 | engines: { node: ^10 || ^12 || >=14 } 572 | hasBin: true 573 | peerDependencies: 574 | postcss: ^8.1.0 575 | dependencies: 576 | browserslist: 4.21.8 577 | caniuse-lite: 1.0.30001502 578 | fraction.js: 4.2.0 579 | normalize-range: 0.1.2 580 | picocolors: 1.0.0 581 | postcss: 8.4.24 582 | postcss-value-parser: 4.2.0 583 | dev: false 584 | 585 | /available-typed-arrays@1.0.5: 586 | resolution: 587 | { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } 588 | engines: { node: '>= 0.4' } 589 | dev: false 590 | 591 | /axe-core@4.7.2: 592 | resolution: 593 | { integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g== } 594 | engines: { node: '>=4' } 595 | dev: false 596 | 597 | /axios@1.4.0: 598 | resolution: 599 | { integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== } 600 | dependencies: 601 | follow-redirects: 1.15.2 602 | form-data: 4.0.0 603 | proxy-from-env: 1.1.0 604 | transitivePeerDependencies: 605 | - debug 606 | dev: false 607 | 608 | /axobject-query@3.2.1: 609 | resolution: 610 | { integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== } 611 | dependencies: 612 | dequal: 2.0.3 613 | dev: false 614 | 615 | /balanced-match@1.0.2: 616 | resolution: 617 | { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } 618 | 619 | /big-integer@1.6.51: 620 | resolution: 621 | { integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== } 622 | engines: { node: '>=0.6' } 623 | dev: false 624 | 625 | /binary-extensions@2.2.0: 626 | resolution: 627 | { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } 628 | engines: { node: '>=8' } 629 | dev: false 630 | 631 | /bplist-parser@0.2.0: 632 | resolution: 633 | { integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== } 634 | engines: { node: '>= 5.10.0' } 635 | dependencies: 636 | big-integer: 1.6.51 637 | dev: false 638 | 639 | /brace-expansion@1.1.11: 640 | resolution: 641 | { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } 642 | dependencies: 643 | balanced-match: 1.0.2 644 | concat-map: 0.0.1 645 | 646 | /braces@3.0.2: 647 | resolution: 648 | { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } 649 | engines: { node: '>=8' } 650 | dependencies: 651 | fill-range: 7.0.1 652 | dev: false 653 | 654 | /browserslist@4.21.8: 655 | resolution: 656 | { integrity: sha512-j+7xYe+v+q2Id9qbBeCI8WX5NmZSRe8es1+0xntD/+gaWXznP8tFEkv5IgSaHf5dS1YwVMbX/4W6m937mj+wQw== } 657 | engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } 658 | hasBin: true 659 | dependencies: 660 | caniuse-lite: 1.0.30001502 661 | electron-to-chromium: 1.4.429 662 | node-releases: 2.0.12 663 | update-browserslist-db: 1.0.11(browserslist@4.21.8) 664 | dev: false 665 | 666 | /bundle-name@3.0.0: 667 | resolution: 668 | { integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== } 669 | engines: { node: '>=12' } 670 | dependencies: 671 | run-applescript: 5.0.0 672 | dev: false 673 | 674 | /busboy@1.6.0: 675 | resolution: 676 | { integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== } 677 | engines: { node: '>=10.16.0' } 678 | dependencies: 679 | streamsearch: 1.1.0 680 | dev: false 681 | 682 | /call-bind@1.0.2: 683 | resolution: 684 | { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } 685 | dependencies: 686 | function-bind: 1.1.1 687 | get-intrinsic: 1.2.1 688 | dev: false 689 | 690 | /callsites@3.1.0: 691 | resolution: 692 | { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } 693 | engines: { node: '>=6' } 694 | 695 | /camelcase-css@2.0.1: 696 | resolution: 697 | { integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== } 698 | engines: { node: '>= 6' } 699 | dev: false 700 | 701 | /caniuse-lite@1.0.30001502: 702 | resolution: 703 | { integrity: sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg== } 704 | dev: false 705 | 706 | /chalk@4.1.2: 707 | resolution: 708 | { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } 709 | engines: { node: '>=10' } 710 | dependencies: 711 | ansi-styles: 4.3.0 712 | supports-color: 7.2.0 713 | 714 | /chokidar@3.5.3: 715 | resolution: 716 | { integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== } 717 | engines: { node: '>= 8.10.0' } 718 | dependencies: 719 | anymatch: 3.1.3 720 | braces: 3.0.2 721 | glob-parent: 5.1.2 722 | is-binary-path: 2.1.0 723 | is-glob: 4.0.3 724 | normalize-path: 3.0.0 725 | readdirp: 3.6.0 726 | optionalDependencies: 727 | fsevents: 2.3.2 728 | dev: false 729 | 730 | /client-only@0.0.1: 731 | resolution: 732 | { integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== } 733 | dev: false 734 | 735 | /clsx@1.2.1: 736 | resolution: 737 | { integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== } 738 | engines: { node: '>=6' } 739 | dev: false 740 | 741 | /color-convert@2.0.1: 742 | resolution: 743 | { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } 744 | engines: { node: '>=7.0.0' } 745 | dependencies: 746 | color-name: 1.1.4 747 | 748 | /color-name@1.1.4: 749 | resolution: 750 | { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } 751 | 752 | /combined-stream@1.0.8: 753 | resolution: 754 | { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } 755 | engines: { node: '>= 0.8' } 756 | dependencies: 757 | delayed-stream: 1.0.0 758 | dev: false 759 | 760 | /commander@4.1.1: 761 | resolution: 762 | { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== } 763 | engines: { node: '>= 6' } 764 | dev: false 765 | 766 | /concat-map@0.0.1: 767 | resolution: 768 | { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } 769 | 770 | /copy-to-clipboard@3.3.3: 771 | resolution: 772 | { integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== } 773 | dependencies: 774 | toggle-selection: 1.0.6 775 | dev: false 776 | 777 | /cross-spawn@7.0.3: 778 | resolution: 779 | { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } 780 | engines: { node: '>= 8' } 781 | dependencies: 782 | path-key: 3.1.1 783 | shebang-command: 2.0.0 784 | which: 2.0.2 785 | 786 | /cssesc@3.0.0: 787 | resolution: 788 | { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== } 789 | engines: { node: '>=4' } 790 | hasBin: true 791 | dev: false 792 | 793 | /csstype@3.1.2: 794 | resolution: 795 | { integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== } 796 | dev: false 797 | 798 | /damerau-levenshtein@1.0.8: 799 | resolution: 800 | { integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== } 801 | dev: false 802 | 803 | /debug@3.2.7: 804 | resolution: 805 | { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } 806 | peerDependencies: 807 | supports-color: '*' 808 | peerDependenciesMeta: 809 | supports-color: 810 | optional: true 811 | dependencies: 812 | ms: 2.1.3 813 | dev: false 814 | 815 | /debug@4.3.4: 816 | resolution: 817 | { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } 818 | engines: { node: '>=6.0' } 819 | peerDependencies: 820 | supports-color: '*' 821 | peerDependenciesMeta: 822 | supports-color: 823 | optional: true 824 | dependencies: 825 | ms: 2.1.2 826 | 827 | /deep-is@0.1.4: 828 | resolution: 829 | { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } 830 | 831 | /default-browser-id@3.0.0: 832 | resolution: 833 | { integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== } 834 | engines: { node: '>=12' } 835 | dependencies: 836 | bplist-parser: 0.2.0 837 | untildify: 4.0.0 838 | dev: false 839 | 840 | /default-browser@4.0.0: 841 | resolution: 842 | { integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== } 843 | engines: { node: '>=14.16' } 844 | dependencies: 845 | bundle-name: 3.0.0 846 | default-browser-id: 3.0.0 847 | execa: 7.1.1 848 | titleize: 3.0.0 849 | dev: false 850 | 851 | /define-lazy-prop@3.0.0: 852 | resolution: 853 | { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } 854 | engines: { node: '>=12' } 855 | dev: false 856 | 857 | /define-properties@1.2.0: 858 | resolution: 859 | { integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== } 860 | engines: { node: '>= 0.4' } 861 | dependencies: 862 | has-property-descriptors: 1.0.0 863 | object-keys: 1.1.1 864 | dev: false 865 | 866 | /delayed-stream@1.0.0: 867 | resolution: 868 | { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } 869 | engines: { node: '>=0.4.0' } 870 | dev: false 871 | 872 | /dequal@2.0.3: 873 | resolution: 874 | { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== } 875 | engines: { node: '>=6' } 876 | dev: false 877 | 878 | /didyoumean@1.2.2: 879 | resolution: 880 | { integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== } 881 | dev: false 882 | 883 | /dir-glob@3.0.1: 884 | resolution: 885 | { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } 886 | engines: { node: '>=8' } 887 | dependencies: 888 | path-type: 4.0.0 889 | dev: false 890 | 891 | /dlv@1.1.3: 892 | resolution: 893 | { integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== } 894 | dev: false 895 | 896 | /doctrine@2.1.0: 897 | resolution: 898 | { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } 899 | engines: { node: '>=0.10.0' } 900 | dependencies: 901 | esutils: 2.0.3 902 | dev: false 903 | 904 | /doctrine@3.0.0: 905 | resolution: 906 | { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } 907 | engines: { node: '>=6.0.0' } 908 | dependencies: 909 | esutils: 2.0.3 910 | 911 | /electron-to-chromium@1.4.429: 912 | resolution: 913 | { integrity: sha512-COua8RvN548KwPFzKMrTjFbmDsQRgdi0zSAhmo70TwC1tfLOSqq8p09n+GkdF5buvzE/NEYn1dP3itbfhun9gg== } 914 | dev: false 915 | 916 | /emoji-regex@9.2.2: 917 | resolution: 918 | { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } 919 | dev: false 920 | 921 | /enhanced-resolve@5.15.0: 922 | resolution: 923 | { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } 924 | engines: { node: '>=10.13.0' } 925 | dependencies: 926 | graceful-fs: 4.2.11 927 | tapable: 2.2.1 928 | dev: false 929 | 930 | /es-abstract@1.21.2: 931 | resolution: 932 | { integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== } 933 | engines: { node: '>= 0.4' } 934 | dependencies: 935 | array-buffer-byte-length: 1.0.0 936 | available-typed-arrays: 1.0.5 937 | call-bind: 1.0.2 938 | es-set-tostringtag: 2.0.1 939 | es-to-primitive: 1.2.1 940 | function.prototype.name: 1.1.5 941 | get-intrinsic: 1.2.1 942 | get-symbol-description: 1.0.0 943 | globalthis: 1.0.3 944 | gopd: 1.0.1 945 | has: 1.0.3 946 | has-property-descriptors: 1.0.0 947 | has-proto: 1.0.1 948 | has-symbols: 1.0.3 949 | internal-slot: 1.0.5 950 | is-array-buffer: 3.0.2 951 | is-callable: 1.2.7 952 | is-negative-zero: 2.0.2 953 | is-regex: 1.1.4 954 | is-shared-array-buffer: 1.0.2 955 | is-string: 1.0.7 956 | is-typed-array: 1.1.10 957 | is-weakref: 1.0.2 958 | object-inspect: 1.12.3 959 | object-keys: 1.1.1 960 | object.assign: 4.1.4 961 | regexp.prototype.flags: 1.5.0 962 | safe-regex-test: 1.0.0 963 | string.prototype.trim: 1.2.7 964 | string.prototype.trimend: 1.0.6 965 | string.prototype.trimstart: 1.0.6 966 | typed-array-length: 1.0.4 967 | unbox-primitive: 1.0.2 968 | which-typed-array: 1.1.9 969 | dev: false 970 | 971 | /es-set-tostringtag@2.0.1: 972 | resolution: 973 | { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } 974 | engines: { node: '>= 0.4' } 975 | dependencies: 976 | get-intrinsic: 1.2.1 977 | has: 1.0.3 978 | has-tostringtag: 1.0.0 979 | dev: false 980 | 981 | /es-shim-unscopables@1.0.0: 982 | resolution: 983 | { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } 984 | dependencies: 985 | has: 1.0.3 986 | dev: false 987 | 988 | /es-to-primitive@1.2.1: 989 | resolution: 990 | { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } 991 | engines: { node: '>= 0.4' } 992 | dependencies: 993 | is-callable: 1.2.7 994 | is-date-object: 1.0.5 995 | is-symbol: 1.0.4 996 | dev: false 997 | 998 | /escalade@3.1.1: 999 | resolution: 1000 | { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } 1001 | engines: { node: '>=6' } 1002 | dev: false 1003 | 1004 | /escape-string-regexp@4.0.0: 1005 | resolution: 1006 | { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } 1007 | engines: { node: '>=10' } 1008 | 1009 | /eslint-config-next@13.4.5(eslint@8.42.0)(typescript@5.1.3): 1010 | resolution: 1011 | { integrity: sha512-7qgJmRp9ClRzPgkzEz7ahK+Rasiv4k2aU3eqkkORzseNUGdtImZVYomcXUhUheHwkxzdN2p//nbIA7zJrCxsCg== } 1012 | peerDependencies: 1013 | eslint: ^7.23.0 || ^8.0.0 1014 | typescript: '>=3.3.1' 1015 | peerDependenciesMeta: 1016 | typescript: 1017 | optional: true 1018 | dependencies: 1019 | '@next/eslint-plugin-next': 13.4.5 1020 | '@rushstack/eslint-patch': 1.3.1 1021 | '@typescript-eslint/parser': 5.59.11(eslint@8.42.0)(typescript@5.1.3) 1022 | eslint: 8.42.0 1023 | eslint-import-resolver-node: 0.3.7 1024 | eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.42.0) 1025 | eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) 1026 | eslint-plugin-jsx-a11y: 6.7.1(eslint@8.42.0) 1027 | eslint-plugin-react: 7.32.2(eslint@8.42.0) 1028 | eslint-plugin-react-hooks: 4.6.0(eslint@8.42.0) 1029 | typescript: 5.1.3 1030 | transitivePeerDependencies: 1031 | - eslint-import-resolver-webpack 1032 | - supports-color 1033 | dev: false 1034 | 1035 | /eslint-config-prettier@8.8.0(eslint@8.42.0): 1036 | resolution: 1037 | { integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== } 1038 | hasBin: true 1039 | peerDependencies: 1040 | eslint: '>=7.0.0' 1041 | dependencies: 1042 | eslint: 8.42.0 1043 | dev: true 1044 | 1045 | /eslint-import-resolver-node@0.3.7: 1046 | resolution: 1047 | { integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== } 1048 | dependencies: 1049 | debug: 3.2.7 1050 | is-core-module: 2.12.1 1051 | resolve: 1.22.2 1052 | transitivePeerDependencies: 1053 | - supports-color 1054 | dev: false 1055 | 1056 | /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.42.0): 1057 | resolution: 1058 | { integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== } 1059 | engines: { node: ^14.18.0 || >=16.0.0 } 1060 | peerDependencies: 1061 | eslint: '*' 1062 | eslint-plugin-import: '*' 1063 | dependencies: 1064 | debug: 4.3.4 1065 | enhanced-resolve: 5.15.0 1066 | eslint: 8.42.0 1067 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) 1068 | eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) 1069 | get-tsconfig: 4.6.0 1070 | globby: 13.1.4 1071 | is-core-module: 2.12.1 1072 | is-glob: 4.0.3 1073 | synckit: 0.8.5 1074 | transitivePeerDependencies: 1075 | - '@typescript-eslint/parser' 1076 | - eslint-import-resolver-node 1077 | - eslint-import-resolver-webpack 1078 | - supports-color 1079 | dev: false 1080 | 1081 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0): 1082 | resolution: 1083 | { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } 1084 | engines: { node: '>=4' } 1085 | peerDependencies: 1086 | '@typescript-eslint/parser': '*' 1087 | eslint: '*' 1088 | eslint-import-resolver-node: '*' 1089 | eslint-import-resolver-typescript: '*' 1090 | eslint-import-resolver-webpack: '*' 1091 | peerDependenciesMeta: 1092 | '@typescript-eslint/parser': 1093 | optional: true 1094 | eslint: 1095 | optional: true 1096 | eslint-import-resolver-node: 1097 | optional: true 1098 | eslint-import-resolver-typescript: 1099 | optional: true 1100 | eslint-import-resolver-webpack: 1101 | optional: true 1102 | dependencies: 1103 | '@typescript-eslint/parser': 5.59.11(eslint@8.42.0)(typescript@5.1.3) 1104 | debug: 3.2.7 1105 | eslint: 8.42.0 1106 | eslint-import-resolver-node: 0.3.7 1107 | eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.42.0) 1108 | transitivePeerDependencies: 1109 | - supports-color 1110 | dev: false 1111 | 1112 | /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0): 1113 | resolution: 1114 | { integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== } 1115 | engines: { node: '>=4' } 1116 | peerDependencies: 1117 | '@typescript-eslint/parser': '*' 1118 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1119 | peerDependenciesMeta: 1120 | '@typescript-eslint/parser': 1121 | optional: true 1122 | dependencies: 1123 | '@typescript-eslint/parser': 5.59.11(eslint@8.42.0)(typescript@5.1.3) 1124 | array-includes: 3.1.6 1125 | array.prototype.flat: 1.3.1 1126 | array.prototype.flatmap: 1.3.1 1127 | debug: 3.2.7 1128 | doctrine: 2.1.0 1129 | eslint: 8.42.0 1130 | eslint-import-resolver-node: 0.3.7 1131 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) 1132 | has: 1.0.3 1133 | is-core-module: 2.12.1 1134 | is-glob: 4.0.3 1135 | minimatch: 3.1.2 1136 | object.values: 1.1.6 1137 | resolve: 1.22.2 1138 | semver: 6.3.0 1139 | tsconfig-paths: 3.14.2 1140 | transitivePeerDependencies: 1141 | - eslint-import-resolver-typescript 1142 | - eslint-import-resolver-webpack 1143 | - supports-color 1144 | dev: false 1145 | 1146 | /eslint-plugin-jsx-a11y@6.7.1(eslint@8.42.0): 1147 | resolution: 1148 | { integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== } 1149 | engines: { node: '>=4.0' } 1150 | peerDependencies: 1151 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1152 | dependencies: 1153 | '@babel/runtime': 7.22.5 1154 | aria-query: 5.2.1 1155 | array-includes: 3.1.6 1156 | array.prototype.flatmap: 1.3.1 1157 | ast-types-flow: 0.0.7 1158 | axe-core: 4.7.2 1159 | axobject-query: 3.2.1 1160 | damerau-levenshtein: 1.0.8 1161 | emoji-regex: 9.2.2 1162 | eslint: 8.42.0 1163 | has: 1.0.3 1164 | jsx-ast-utils: 3.3.3 1165 | language-tags: 1.0.5 1166 | minimatch: 3.1.2 1167 | object.entries: 1.1.6 1168 | object.fromentries: 2.0.6 1169 | semver: 6.3.0 1170 | dev: false 1171 | 1172 | /eslint-plugin-react-hooks@4.6.0(eslint@8.42.0): 1173 | resolution: 1174 | { integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== } 1175 | engines: { node: '>=10' } 1176 | peerDependencies: 1177 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1178 | dependencies: 1179 | eslint: 8.42.0 1180 | dev: false 1181 | 1182 | /eslint-plugin-react@7.32.2(eslint@8.42.0): 1183 | resolution: 1184 | { integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== } 1185 | engines: { node: '>=4' } 1186 | peerDependencies: 1187 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1188 | dependencies: 1189 | array-includes: 3.1.6 1190 | array.prototype.flatmap: 1.3.1 1191 | array.prototype.tosorted: 1.1.1 1192 | doctrine: 2.1.0 1193 | eslint: 8.42.0 1194 | estraverse: 5.3.0 1195 | jsx-ast-utils: 3.3.3 1196 | minimatch: 3.1.2 1197 | object.entries: 1.1.6 1198 | object.fromentries: 2.0.6 1199 | object.hasown: 1.1.2 1200 | object.values: 1.1.6 1201 | prop-types: 15.8.1 1202 | resolve: 2.0.0-next.4 1203 | semver: 6.3.0 1204 | string.prototype.matchall: 4.0.8 1205 | dev: false 1206 | 1207 | /eslint-scope@7.2.0: 1208 | resolution: 1209 | { integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== } 1210 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1211 | dependencies: 1212 | esrecurse: 4.3.0 1213 | estraverse: 5.3.0 1214 | 1215 | /eslint-visitor-keys@3.4.1: 1216 | resolution: 1217 | { integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== } 1218 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1219 | 1220 | /eslint@8.42.0: 1221 | resolution: 1222 | { integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== } 1223 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1224 | hasBin: true 1225 | dependencies: 1226 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) 1227 | '@eslint-community/regexpp': 4.5.1 1228 | '@eslint/eslintrc': 2.0.3 1229 | '@eslint/js': 8.42.0 1230 | '@humanwhocodes/config-array': 0.11.10 1231 | '@humanwhocodes/module-importer': 1.0.1 1232 | '@nodelib/fs.walk': 1.2.8 1233 | ajv: 6.12.6 1234 | chalk: 4.1.2 1235 | cross-spawn: 7.0.3 1236 | debug: 4.3.4 1237 | doctrine: 3.0.0 1238 | escape-string-regexp: 4.0.0 1239 | eslint-scope: 7.2.0 1240 | eslint-visitor-keys: 3.4.1 1241 | espree: 9.5.2 1242 | esquery: 1.5.0 1243 | esutils: 2.0.3 1244 | fast-deep-equal: 3.1.3 1245 | file-entry-cache: 6.0.1 1246 | find-up: 5.0.0 1247 | glob-parent: 6.0.2 1248 | globals: 13.20.0 1249 | graphemer: 1.4.0 1250 | ignore: 5.2.4 1251 | import-fresh: 3.3.0 1252 | imurmurhash: 0.1.4 1253 | is-glob: 4.0.3 1254 | is-path-inside: 3.0.3 1255 | js-yaml: 4.1.0 1256 | json-stable-stringify-without-jsonify: 1.0.1 1257 | levn: 0.4.1 1258 | lodash.merge: 4.6.2 1259 | minimatch: 3.1.2 1260 | natural-compare: 1.4.0 1261 | optionator: 0.9.1 1262 | strip-ansi: 6.0.1 1263 | strip-json-comments: 3.1.1 1264 | text-table: 0.2.0 1265 | transitivePeerDependencies: 1266 | - supports-color 1267 | 1268 | /espree@9.5.2: 1269 | resolution: 1270 | { integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== } 1271 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1272 | dependencies: 1273 | acorn: 8.8.2 1274 | acorn-jsx: 5.3.2(acorn@8.8.2) 1275 | eslint-visitor-keys: 3.4.1 1276 | 1277 | /esquery@1.5.0: 1278 | resolution: 1279 | { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } 1280 | engines: { node: '>=0.10' } 1281 | dependencies: 1282 | estraverse: 5.3.0 1283 | 1284 | /esrecurse@4.3.0: 1285 | resolution: 1286 | { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } 1287 | engines: { node: '>=4.0' } 1288 | dependencies: 1289 | estraverse: 5.3.0 1290 | 1291 | /estraverse@5.3.0: 1292 | resolution: 1293 | { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } 1294 | engines: { node: '>=4.0' } 1295 | 1296 | /esutils@2.0.3: 1297 | resolution: 1298 | { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } 1299 | engines: { node: '>=0.10.0' } 1300 | 1301 | /execa@5.1.1: 1302 | resolution: 1303 | { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } 1304 | engines: { node: '>=10' } 1305 | dependencies: 1306 | cross-spawn: 7.0.3 1307 | get-stream: 6.0.1 1308 | human-signals: 2.1.0 1309 | is-stream: 2.0.1 1310 | merge-stream: 2.0.0 1311 | npm-run-path: 4.0.1 1312 | onetime: 5.1.2 1313 | signal-exit: 3.0.7 1314 | strip-final-newline: 2.0.0 1315 | dev: false 1316 | 1317 | /execa@7.1.1: 1318 | resolution: 1319 | { integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== } 1320 | engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } 1321 | dependencies: 1322 | cross-spawn: 7.0.3 1323 | get-stream: 6.0.1 1324 | human-signals: 4.3.1 1325 | is-stream: 3.0.0 1326 | merge-stream: 2.0.0 1327 | npm-run-path: 5.1.0 1328 | onetime: 6.0.0 1329 | signal-exit: 3.0.7 1330 | strip-final-newline: 3.0.0 1331 | dev: false 1332 | 1333 | /fast-deep-equal@3.1.3: 1334 | resolution: 1335 | { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } 1336 | 1337 | /fast-glob@3.2.12: 1338 | resolution: 1339 | { integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== } 1340 | engines: { node: '>=8.6.0' } 1341 | dependencies: 1342 | '@nodelib/fs.stat': 2.0.5 1343 | '@nodelib/fs.walk': 1.2.8 1344 | glob-parent: 5.1.2 1345 | merge2: 1.4.1 1346 | micromatch: 4.0.5 1347 | dev: false 1348 | 1349 | /fast-json-stable-stringify@2.1.0: 1350 | resolution: 1351 | { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } 1352 | 1353 | /fast-levenshtein@2.0.6: 1354 | resolution: 1355 | { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } 1356 | 1357 | /fastq@1.15.0: 1358 | resolution: 1359 | { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } 1360 | dependencies: 1361 | reusify: 1.0.4 1362 | 1363 | /file-entry-cache@6.0.1: 1364 | resolution: 1365 | { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } 1366 | engines: { node: ^10.12.0 || >=12.0.0 } 1367 | dependencies: 1368 | flat-cache: 3.0.4 1369 | 1370 | /file-selector@0.6.0: 1371 | resolution: 1372 | { integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== } 1373 | engines: { node: '>= 12' } 1374 | dependencies: 1375 | tslib: 2.5.3 1376 | dev: false 1377 | 1378 | /fill-range@7.0.1: 1379 | resolution: 1380 | { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } 1381 | engines: { node: '>=8' } 1382 | dependencies: 1383 | to-regex-range: 5.0.1 1384 | dev: false 1385 | 1386 | /find-up@5.0.0: 1387 | resolution: 1388 | { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } 1389 | engines: { node: '>=10' } 1390 | dependencies: 1391 | locate-path: 6.0.0 1392 | path-exists: 4.0.0 1393 | 1394 | /flat-cache@3.0.4: 1395 | resolution: 1396 | { integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== } 1397 | engines: { node: ^10.12.0 || >=12.0.0 } 1398 | dependencies: 1399 | flatted: 3.2.7 1400 | rimraf: 3.0.2 1401 | 1402 | /flatted@3.2.7: 1403 | resolution: 1404 | { integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== } 1405 | 1406 | /follow-redirects@1.15.2: 1407 | resolution: 1408 | { integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== } 1409 | engines: { node: '>=4.0' } 1410 | peerDependencies: 1411 | debug: '*' 1412 | peerDependenciesMeta: 1413 | debug: 1414 | optional: true 1415 | dev: false 1416 | 1417 | /for-each@0.3.3: 1418 | resolution: 1419 | { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } 1420 | dependencies: 1421 | is-callable: 1.2.7 1422 | dev: false 1423 | 1424 | /form-data@4.0.0: 1425 | resolution: 1426 | { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } 1427 | engines: { node: '>= 6' } 1428 | dependencies: 1429 | asynckit: 0.4.0 1430 | combined-stream: 1.0.8 1431 | mime-types: 2.1.35 1432 | dev: false 1433 | 1434 | /fraction.js@4.2.0: 1435 | resolution: 1436 | { integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== } 1437 | dev: false 1438 | 1439 | /fs.realpath@1.0.0: 1440 | resolution: 1441 | { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } 1442 | 1443 | /fsevents@2.3.2: 1444 | resolution: 1445 | { integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== } 1446 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 1447 | os: [darwin] 1448 | requiresBuild: true 1449 | dev: false 1450 | optional: true 1451 | 1452 | /function-bind@1.1.1: 1453 | resolution: 1454 | { integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== } 1455 | dev: false 1456 | 1457 | /function.prototype.name@1.1.5: 1458 | resolution: 1459 | { integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== } 1460 | engines: { node: '>= 0.4' } 1461 | dependencies: 1462 | call-bind: 1.0.2 1463 | define-properties: 1.2.0 1464 | es-abstract: 1.21.2 1465 | functions-have-names: 1.2.3 1466 | dev: false 1467 | 1468 | /functions-have-names@1.2.3: 1469 | resolution: 1470 | { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } 1471 | dev: false 1472 | 1473 | /get-intrinsic@1.2.1: 1474 | resolution: 1475 | { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } 1476 | dependencies: 1477 | function-bind: 1.1.1 1478 | has: 1.0.3 1479 | has-proto: 1.0.1 1480 | has-symbols: 1.0.3 1481 | dev: false 1482 | 1483 | /get-stream@6.0.1: 1484 | resolution: 1485 | { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } 1486 | engines: { node: '>=10' } 1487 | dev: false 1488 | 1489 | /get-symbol-description@1.0.0: 1490 | resolution: 1491 | { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } 1492 | engines: { node: '>= 0.4' } 1493 | dependencies: 1494 | call-bind: 1.0.2 1495 | get-intrinsic: 1.2.1 1496 | dev: false 1497 | 1498 | /get-tsconfig@4.6.0: 1499 | resolution: 1500 | { integrity: sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg== } 1501 | dependencies: 1502 | resolve-pkg-maps: 1.0.0 1503 | dev: false 1504 | 1505 | /glob-parent@5.1.2: 1506 | resolution: 1507 | { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } 1508 | engines: { node: '>= 6' } 1509 | dependencies: 1510 | is-glob: 4.0.3 1511 | dev: false 1512 | 1513 | /glob-parent@6.0.2: 1514 | resolution: 1515 | { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } 1516 | engines: { node: '>=10.13.0' } 1517 | dependencies: 1518 | is-glob: 4.0.3 1519 | 1520 | /glob-to-regexp@0.4.1: 1521 | resolution: 1522 | { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } 1523 | dev: false 1524 | 1525 | /glob@7.1.6: 1526 | resolution: 1527 | { integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== } 1528 | dependencies: 1529 | fs.realpath: 1.0.0 1530 | inflight: 1.0.6 1531 | inherits: 2.0.4 1532 | minimatch: 3.1.2 1533 | once: 1.4.0 1534 | path-is-absolute: 1.0.1 1535 | dev: false 1536 | 1537 | /glob@7.1.7: 1538 | resolution: 1539 | { integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== } 1540 | dependencies: 1541 | fs.realpath: 1.0.0 1542 | inflight: 1.0.6 1543 | inherits: 2.0.4 1544 | minimatch: 3.1.2 1545 | once: 1.4.0 1546 | path-is-absolute: 1.0.1 1547 | dev: false 1548 | 1549 | /glob@7.2.3: 1550 | resolution: 1551 | { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } 1552 | dependencies: 1553 | fs.realpath: 1.0.0 1554 | inflight: 1.0.6 1555 | inherits: 2.0.4 1556 | minimatch: 3.1.2 1557 | once: 1.4.0 1558 | path-is-absolute: 1.0.1 1559 | 1560 | /globals@13.20.0: 1561 | resolution: 1562 | { integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== } 1563 | engines: { node: '>=8' } 1564 | dependencies: 1565 | type-fest: 0.20.2 1566 | 1567 | /globalthis@1.0.3: 1568 | resolution: 1569 | { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } 1570 | engines: { node: '>= 0.4' } 1571 | dependencies: 1572 | define-properties: 1.2.0 1573 | dev: false 1574 | 1575 | /globby@11.1.0: 1576 | resolution: 1577 | { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } 1578 | engines: { node: '>=10' } 1579 | dependencies: 1580 | array-union: 2.1.0 1581 | dir-glob: 3.0.1 1582 | fast-glob: 3.2.12 1583 | ignore: 5.2.4 1584 | merge2: 1.4.1 1585 | slash: 3.0.0 1586 | dev: false 1587 | 1588 | /globby@13.1.4: 1589 | resolution: 1590 | { integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== } 1591 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1592 | dependencies: 1593 | dir-glob: 3.0.1 1594 | fast-glob: 3.2.12 1595 | ignore: 5.2.4 1596 | merge2: 1.4.1 1597 | slash: 4.0.0 1598 | dev: false 1599 | 1600 | /gopd@1.0.1: 1601 | resolution: 1602 | { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } 1603 | dependencies: 1604 | get-intrinsic: 1.2.1 1605 | dev: false 1606 | 1607 | /graceful-fs@4.2.11: 1608 | resolution: 1609 | { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } 1610 | dev: false 1611 | 1612 | /graphemer@1.4.0: 1613 | resolution: 1614 | { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } 1615 | 1616 | /has-bigints@1.0.2: 1617 | resolution: 1618 | { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } 1619 | dev: false 1620 | 1621 | /has-flag@4.0.0: 1622 | resolution: 1623 | { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } 1624 | engines: { node: '>=8' } 1625 | 1626 | /has-property-descriptors@1.0.0: 1627 | resolution: 1628 | { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } 1629 | dependencies: 1630 | get-intrinsic: 1.2.1 1631 | dev: false 1632 | 1633 | /has-proto@1.0.1: 1634 | resolution: 1635 | { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } 1636 | engines: { node: '>= 0.4' } 1637 | dev: false 1638 | 1639 | /has-symbols@1.0.3: 1640 | resolution: 1641 | { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } 1642 | engines: { node: '>= 0.4' } 1643 | dev: false 1644 | 1645 | /has-tostringtag@1.0.0: 1646 | resolution: 1647 | { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } 1648 | engines: { node: '>= 0.4' } 1649 | dependencies: 1650 | has-symbols: 1.0.3 1651 | dev: false 1652 | 1653 | /has@1.0.3: 1654 | resolution: 1655 | { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } 1656 | engines: { node: '>= 0.4.0' } 1657 | dependencies: 1658 | function-bind: 1.1.1 1659 | dev: false 1660 | 1661 | /human-signals@2.1.0: 1662 | resolution: 1663 | { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } 1664 | engines: { node: '>=10.17.0' } 1665 | dev: false 1666 | 1667 | /human-signals@4.3.1: 1668 | resolution: 1669 | { integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== } 1670 | engines: { node: '>=14.18.0' } 1671 | dev: false 1672 | 1673 | /ignore@5.2.4: 1674 | resolution: 1675 | { integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== } 1676 | engines: { node: '>= 4' } 1677 | 1678 | /import-fresh@3.3.0: 1679 | resolution: 1680 | { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } 1681 | engines: { node: '>=6' } 1682 | dependencies: 1683 | parent-module: 1.0.1 1684 | resolve-from: 4.0.0 1685 | 1686 | /imurmurhash@0.1.4: 1687 | resolution: 1688 | { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } 1689 | engines: { node: '>=0.8.19' } 1690 | 1691 | /inflight@1.0.6: 1692 | resolution: 1693 | { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } 1694 | dependencies: 1695 | once: 1.4.0 1696 | wrappy: 1.0.2 1697 | 1698 | /inherits@2.0.4: 1699 | resolution: 1700 | { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } 1701 | 1702 | /internal-slot@1.0.5: 1703 | resolution: 1704 | { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } 1705 | engines: { node: '>= 0.4' } 1706 | dependencies: 1707 | get-intrinsic: 1.2.1 1708 | has: 1.0.3 1709 | side-channel: 1.0.4 1710 | dev: false 1711 | 1712 | /is-array-buffer@3.0.2: 1713 | resolution: 1714 | { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } 1715 | dependencies: 1716 | call-bind: 1.0.2 1717 | get-intrinsic: 1.2.1 1718 | is-typed-array: 1.1.10 1719 | dev: false 1720 | 1721 | /is-bigint@1.0.4: 1722 | resolution: 1723 | { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } 1724 | dependencies: 1725 | has-bigints: 1.0.2 1726 | dev: false 1727 | 1728 | /is-binary-path@2.1.0: 1729 | resolution: 1730 | { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } 1731 | engines: { node: '>=8' } 1732 | dependencies: 1733 | binary-extensions: 2.2.0 1734 | dev: false 1735 | 1736 | /is-boolean-object@1.1.2: 1737 | resolution: 1738 | { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } 1739 | engines: { node: '>= 0.4' } 1740 | dependencies: 1741 | call-bind: 1.0.2 1742 | has-tostringtag: 1.0.0 1743 | dev: false 1744 | 1745 | /is-callable@1.2.7: 1746 | resolution: 1747 | { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } 1748 | engines: { node: '>= 0.4' } 1749 | dev: false 1750 | 1751 | /is-core-module@2.12.1: 1752 | resolution: 1753 | { integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== } 1754 | dependencies: 1755 | has: 1.0.3 1756 | dev: false 1757 | 1758 | /is-date-object@1.0.5: 1759 | resolution: 1760 | { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } 1761 | engines: { node: '>= 0.4' } 1762 | dependencies: 1763 | has-tostringtag: 1.0.0 1764 | dev: false 1765 | 1766 | /is-docker@2.2.1: 1767 | resolution: 1768 | { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } 1769 | engines: { node: '>=8' } 1770 | hasBin: true 1771 | dev: false 1772 | 1773 | /is-docker@3.0.0: 1774 | resolution: 1775 | { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } 1776 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1777 | hasBin: true 1778 | dev: false 1779 | 1780 | /is-extglob@2.1.1: 1781 | resolution: 1782 | { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } 1783 | engines: { node: '>=0.10.0' } 1784 | 1785 | /is-glob@4.0.3: 1786 | resolution: 1787 | { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } 1788 | engines: { node: '>=0.10.0' } 1789 | dependencies: 1790 | is-extglob: 2.1.1 1791 | 1792 | /is-inside-container@1.0.0: 1793 | resolution: 1794 | { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } 1795 | engines: { node: '>=14.16' } 1796 | hasBin: true 1797 | dependencies: 1798 | is-docker: 3.0.0 1799 | dev: false 1800 | 1801 | /is-negative-zero@2.0.2: 1802 | resolution: 1803 | { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } 1804 | engines: { node: '>= 0.4' } 1805 | dev: false 1806 | 1807 | /is-number-object@1.0.7: 1808 | resolution: 1809 | { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } 1810 | engines: { node: '>= 0.4' } 1811 | dependencies: 1812 | has-tostringtag: 1.0.0 1813 | dev: false 1814 | 1815 | /is-number@7.0.0: 1816 | resolution: 1817 | { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } 1818 | engines: { node: '>=0.12.0' } 1819 | dev: false 1820 | 1821 | /is-path-inside@3.0.3: 1822 | resolution: 1823 | { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } 1824 | engines: { node: '>=8' } 1825 | 1826 | /is-regex@1.1.4: 1827 | resolution: 1828 | { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } 1829 | engines: { node: '>= 0.4' } 1830 | dependencies: 1831 | call-bind: 1.0.2 1832 | has-tostringtag: 1.0.0 1833 | dev: false 1834 | 1835 | /is-shared-array-buffer@1.0.2: 1836 | resolution: 1837 | { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } 1838 | dependencies: 1839 | call-bind: 1.0.2 1840 | dev: false 1841 | 1842 | /is-stream@2.0.1: 1843 | resolution: 1844 | { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } 1845 | engines: { node: '>=8' } 1846 | dev: false 1847 | 1848 | /is-stream@3.0.0: 1849 | resolution: 1850 | { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } 1851 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1852 | dev: false 1853 | 1854 | /is-string@1.0.7: 1855 | resolution: 1856 | { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } 1857 | engines: { node: '>= 0.4' } 1858 | dependencies: 1859 | has-tostringtag: 1.0.0 1860 | dev: false 1861 | 1862 | /is-symbol@1.0.4: 1863 | resolution: 1864 | { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } 1865 | engines: { node: '>= 0.4' } 1866 | dependencies: 1867 | has-symbols: 1.0.3 1868 | dev: false 1869 | 1870 | /is-typed-array@1.1.10: 1871 | resolution: 1872 | { integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== } 1873 | engines: { node: '>= 0.4' } 1874 | dependencies: 1875 | available-typed-arrays: 1.0.5 1876 | call-bind: 1.0.2 1877 | for-each: 0.3.3 1878 | gopd: 1.0.1 1879 | has-tostringtag: 1.0.0 1880 | dev: false 1881 | 1882 | /is-weakref@1.0.2: 1883 | resolution: 1884 | { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } 1885 | dependencies: 1886 | call-bind: 1.0.2 1887 | dev: false 1888 | 1889 | /is-wsl@2.2.0: 1890 | resolution: 1891 | { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } 1892 | engines: { node: '>=8' } 1893 | dependencies: 1894 | is-docker: 2.2.1 1895 | dev: false 1896 | 1897 | /isexe@2.0.0: 1898 | resolution: 1899 | { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } 1900 | 1901 | /jiti@1.18.2: 1902 | resolution: 1903 | { integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== } 1904 | hasBin: true 1905 | dev: false 1906 | 1907 | /js-tokens@4.0.0: 1908 | resolution: 1909 | { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } 1910 | dev: false 1911 | 1912 | /js-yaml@4.1.0: 1913 | resolution: 1914 | { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } 1915 | hasBin: true 1916 | dependencies: 1917 | argparse: 2.0.1 1918 | 1919 | /json-schema-traverse@0.4.1: 1920 | resolution: 1921 | { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } 1922 | 1923 | /json-stable-stringify-without-jsonify@1.0.1: 1924 | resolution: 1925 | { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } 1926 | 1927 | /json5@1.0.2: 1928 | resolution: 1929 | { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } 1930 | hasBin: true 1931 | dependencies: 1932 | minimist: 1.2.8 1933 | dev: false 1934 | 1935 | /jsx-ast-utils@3.3.3: 1936 | resolution: 1937 | { integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== } 1938 | engines: { node: '>=4.0' } 1939 | dependencies: 1940 | array-includes: 3.1.6 1941 | object.assign: 4.1.4 1942 | dev: false 1943 | 1944 | /language-subtag-registry@0.3.22: 1945 | resolution: 1946 | { integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== } 1947 | dev: false 1948 | 1949 | /language-tags@1.0.5: 1950 | resolution: 1951 | { integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== } 1952 | dependencies: 1953 | language-subtag-registry: 0.3.22 1954 | dev: false 1955 | 1956 | /levn@0.4.1: 1957 | resolution: 1958 | { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } 1959 | engines: { node: '>= 0.8.0' } 1960 | dependencies: 1961 | prelude-ls: 1.2.1 1962 | type-check: 0.4.0 1963 | 1964 | /lilconfig@2.1.0: 1965 | resolution: 1966 | { integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== } 1967 | engines: { node: '>=10' } 1968 | dev: false 1969 | 1970 | /lines-and-columns@1.2.4: 1971 | resolution: 1972 | { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } 1973 | dev: false 1974 | 1975 | /locate-path@6.0.0: 1976 | resolution: 1977 | { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } 1978 | engines: { node: '>=10' } 1979 | dependencies: 1980 | p-locate: 5.0.0 1981 | 1982 | /lodash.merge@4.6.2: 1983 | resolution: 1984 | { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } 1985 | 1986 | /loose-envify@1.4.0: 1987 | resolution: 1988 | { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } 1989 | hasBin: true 1990 | dependencies: 1991 | js-tokens: 4.0.0 1992 | dev: false 1993 | 1994 | /lru-cache@6.0.0: 1995 | resolution: 1996 | { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } 1997 | engines: { node: '>=10' } 1998 | dependencies: 1999 | yallist: 4.0.0 2000 | dev: false 2001 | 2002 | /merge-stream@2.0.0: 2003 | resolution: 2004 | { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } 2005 | dev: false 2006 | 2007 | /merge2@1.4.1: 2008 | resolution: 2009 | { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } 2010 | engines: { node: '>= 8' } 2011 | dev: false 2012 | 2013 | /micromatch@4.0.5: 2014 | resolution: 2015 | { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } 2016 | engines: { node: '>=8.6' } 2017 | dependencies: 2018 | braces: 3.0.2 2019 | picomatch: 2.3.1 2020 | dev: false 2021 | 2022 | /mime-db@1.52.0: 2023 | resolution: 2024 | { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } 2025 | engines: { node: '>= 0.6' } 2026 | dev: false 2027 | 2028 | /mime-types@2.1.35: 2029 | resolution: 2030 | { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } 2031 | engines: { node: '>= 0.6' } 2032 | dependencies: 2033 | mime-db: 1.52.0 2034 | dev: false 2035 | 2036 | /mimic-fn@2.1.0: 2037 | resolution: 2038 | { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } 2039 | engines: { node: '>=6' } 2040 | dev: false 2041 | 2042 | /mimic-fn@4.0.0: 2043 | resolution: 2044 | { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } 2045 | engines: { node: '>=12' } 2046 | dev: false 2047 | 2048 | /minimatch@3.1.2: 2049 | resolution: 2050 | { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } 2051 | dependencies: 2052 | brace-expansion: 1.1.11 2053 | 2054 | /minimist@1.2.8: 2055 | resolution: 2056 | { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } 2057 | dev: false 2058 | 2059 | /ms@2.1.2: 2060 | resolution: 2061 | { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } 2062 | 2063 | /ms@2.1.3: 2064 | resolution: 2065 | { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } 2066 | dev: false 2067 | 2068 | /mz@2.7.0: 2069 | resolution: 2070 | { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } 2071 | dependencies: 2072 | any-promise: 1.3.0 2073 | object-assign: 4.1.1 2074 | thenify-all: 1.6.0 2075 | dev: false 2076 | 2077 | /nanoid@3.3.6: 2078 | resolution: 2079 | { integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== } 2080 | engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } 2081 | hasBin: true 2082 | dev: false 2083 | 2084 | /natural-compare@1.4.0: 2085 | resolution: 2086 | { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } 2087 | 2088 | /next@13.4.5(react-dom@18.2.0)(react@18.2.0): 2089 | resolution: 2090 | { integrity: sha512-pfNsRLVM9e5Y1/z02VakJRfD6hMQkr24FaN2xc9GbcZDBxoOgiNAViSg5cXwlWCoMhtm4U315D7XYhgOr96Q3Q== } 2091 | engines: { node: '>=16.8.0' } 2092 | hasBin: true 2093 | peerDependencies: 2094 | '@opentelemetry/api': ^1.1.0 2095 | fibers: '>= 3.1.0' 2096 | react: ^18.2.0 2097 | react-dom: ^18.2.0 2098 | sass: ^1.3.0 2099 | peerDependenciesMeta: 2100 | '@opentelemetry/api': 2101 | optional: true 2102 | fibers: 2103 | optional: true 2104 | sass: 2105 | optional: true 2106 | dependencies: 2107 | '@next/env': 13.4.5 2108 | '@swc/helpers': 0.5.1 2109 | busboy: 1.6.0 2110 | caniuse-lite: 1.0.30001502 2111 | postcss: 8.4.14 2112 | react: 18.2.0 2113 | react-dom: 18.2.0(react@18.2.0) 2114 | styled-jsx: 5.1.1(react@18.2.0) 2115 | watchpack: 2.4.0 2116 | zod: 3.21.4 2117 | optionalDependencies: 2118 | '@next/swc-darwin-arm64': 13.4.5 2119 | '@next/swc-darwin-x64': 13.4.5 2120 | '@next/swc-linux-arm64-gnu': 13.4.5 2121 | '@next/swc-linux-arm64-musl': 13.4.5 2122 | '@next/swc-linux-x64-gnu': 13.4.5 2123 | '@next/swc-linux-x64-musl': 13.4.5 2124 | '@next/swc-win32-arm64-msvc': 13.4.5 2125 | '@next/swc-win32-ia32-msvc': 13.4.5 2126 | '@next/swc-win32-x64-msvc': 13.4.5 2127 | transitivePeerDependencies: 2128 | - '@babel/core' 2129 | - babel-plugin-macros 2130 | dev: false 2131 | 2132 | /node-releases@2.0.12: 2133 | resolution: 2134 | { integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== } 2135 | dev: false 2136 | 2137 | /normalize-path@3.0.0: 2138 | resolution: 2139 | { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } 2140 | engines: { node: '>=0.10.0' } 2141 | dev: false 2142 | 2143 | /normalize-range@0.1.2: 2144 | resolution: 2145 | { integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== } 2146 | engines: { node: '>=0.10.0' } 2147 | dev: false 2148 | 2149 | /npm-run-path@4.0.1: 2150 | resolution: 2151 | { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } 2152 | engines: { node: '>=8' } 2153 | dependencies: 2154 | path-key: 3.1.1 2155 | dev: false 2156 | 2157 | /npm-run-path@5.1.0: 2158 | resolution: 2159 | { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } 2160 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2161 | dependencies: 2162 | path-key: 4.0.0 2163 | dev: false 2164 | 2165 | /object-assign@4.1.1: 2166 | resolution: 2167 | { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } 2168 | engines: { node: '>=0.10.0' } 2169 | dev: false 2170 | 2171 | /object-hash@3.0.0: 2172 | resolution: 2173 | { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== } 2174 | engines: { node: '>= 6' } 2175 | dev: false 2176 | 2177 | /object-inspect@1.12.3: 2178 | resolution: 2179 | { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } 2180 | dev: false 2181 | 2182 | /object-keys@1.1.1: 2183 | resolution: 2184 | { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } 2185 | engines: { node: '>= 0.4' } 2186 | dev: false 2187 | 2188 | /object.assign@4.1.4: 2189 | resolution: 2190 | { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } 2191 | engines: { node: '>= 0.4' } 2192 | dependencies: 2193 | call-bind: 1.0.2 2194 | define-properties: 1.2.0 2195 | has-symbols: 1.0.3 2196 | object-keys: 1.1.1 2197 | dev: false 2198 | 2199 | /object.entries@1.1.6: 2200 | resolution: 2201 | { integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== } 2202 | engines: { node: '>= 0.4' } 2203 | dependencies: 2204 | call-bind: 1.0.2 2205 | define-properties: 1.2.0 2206 | es-abstract: 1.21.2 2207 | dev: false 2208 | 2209 | /object.fromentries@2.0.6: 2210 | resolution: 2211 | { integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== } 2212 | engines: { node: '>= 0.4' } 2213 | dependencies: 2214 | call-bind: 1.0.2 2215 | define-properties: 1.2.0 2216 | es-abstract: 1.21.2 2217 | dev: false 2218 | 2219 | /object.hasown@1.1.2: 2220 | resolution: 2221 | { integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== } 2222 | dependencies: 2223 | define-properties: 1.2.0 2224 | es-abstract: 1.21.2 2225 | dev: false 2226 | 2227 | /object.values@1.1.6: 2228 | resolution: 2229 | { integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== } 2230 | engines: { node: '>= 0.4' } 2231 | dependencies: 2232 | call-bind: 1.0.2 2233 | define-properties: 1.2.0 2234 | es-abstract: 1.21.2 2235 | dev: false 2236 | 2237 | /once@1.4.0: 2238 | resolution: 2239 | { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } 2240 | dependencies: 2241 | wrappy: 1.0.2 2242 | 2243 | /onetime@5.1.2: 2244 | resolution: 2245 | { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } 2246 | engines: { node: '>=6' } 2247 | dependencies: 2248 | mimic-fn: 2.1.0 2249 | dev: false 2250 | 2251 | /onetime@6.0.0: 2252 | resolution: 2253 | { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } 2254 | engines: { node: '>=12' } 2255 | dependencies: 2256 | mimic-fn: 4.0.0 2257 | dev: false 2258 | 2259 | /open@9.1.0: 2260 | resolution: 2261 | { integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== } 2262 | engines: { node: '>=14.16' } 2263 | dependencies: 2264 | default-browser: 4.0.0 2265 | define-lazy-prop: 3.0.0 2266 | is-inside-container: 1.0.0 2267 | is-wsl: 2.2.0 2268 | dev: false 2269 | 2270 | /optionator@0.9.1: 2271 | resolution: 2272 | { integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== } 2273 | engines: { node: '>= 0.8.0' } 2274 | dependencies: 2275 | deep-is: 0.1.4 2276 | fast-levenshtein: 2.0.6 2277 | levn: 0.4.1 2278 | prelude-ls: 1.2.1 2279 | type-check: 0.4.0 2280 | word-wrap: 1.2.3 2281 | 2282 | /p-limit@3.1.0: 2283 | resolution: 2284 | { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } 2285 | engines: { node: '>=10' } 2286 | dependencies: 2287 | yocto-queue: 0.1.0 2288 | 2289 | /p-locate@5.0.0: 2290 | resolution: 2291 | { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } 2292 | engines: { node: '>=10' } 2293 | dependencies: 2294 | p-limit: 3.1.0 2295 | 2296 | /parent-module@1.0.1: 2297 | resolution: 2298 | { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } 2299 | engines: { node: '>=6' } 2300 | dependencies: 2301 | callsites: 3.1.0 2302 | 2303 | /path-exists@4.0.0: 2304 | resolution: 2305 | { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } 2306 | engines: { node: '>=8' } 2307 | 2308 | /path-is-absolute@1.0.1: 2309 | resolution: 2310 | { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } 2311 | engines: { node: '>=0.10.0' } 2312 | 2313 | /path-key@3.1.1: 2314 | resolution: 2315 | { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } 2316 | engines: { node: '>=8' } 2317 | 2318 | /path-key@4.0.0: 2319 | resolution: 2320 | { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } 2321 | engines: { node: '>=12' } 2322 | dev: false 2323 | 2324 | /path-parse@1.0.7: 2325 | resolution: 2326 | { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } 2327 | dev: false 2328 | 2329 | /path-type@4.0.0: 2330 | resolution: 2331 | { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } 2332 | engines: { node: '>=8' } 2333 | dev: false 2334 | 2335 | /picocolors@1.0.0: 2336 | resolution: 2337 | { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } 2338 | dev: false 2339 | 2340 | /picomatch@2.3.1: 2341 | resolution: 2342 | { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } 2343 | engines: { node: '>=8.6' } 2344 | dev: false 2345 | 2346 | /pify@2.3.0: 2347 | resolution: 2348 | { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } 2349 | engines: { node: '>=0.10.0' } 2350 | dev: false 2351 | 2352 | /pirates@4.0.5: 2353 | resolution: 2354 | { integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== } 2355 | engines: { node: '>= 6' } 2356 | dev: false 2357 | 2358 | /postcss-import@15.1.0(postcss@8.4.24): 2359 | resolution: 2360 | { integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== } 2361 | engines: { node: '>=14.0.0' } 2362 | peerDependencies: 2363 | postcss: ^8.0.0 2364 | dependencies: 2365 | postcss: 8.4.24 2366 | postcss-value-parser: 4.2.0 2367 | read-cache: 1.0.0 2368 | resolve: 1.22.2 2369 | dev: false 2370 | 2371 | /postcss-js@4.0.1(postcss@8.4.24): 2372 | resolution: 2373 | { integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== } 2374 | engines: { node: ^12 || ^14 || >= 16 } 2375 | peerDependencies: 2376 | postcss: ^8.4.21 2377 | dependencies: 2378 | camelcase-css: 2.0.1 2379 | postcss: 8.4.24 2380 | dev: false 2381 | 2382 | /postcss-load-config@4.0.1(postcss@8.4.24): 2383 | resolution: 2384 | { integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== } 2385 | engines: { node: '>= 14' } 2386 | peerDependencies: 2387 | postcss: '>=8.0.9' 2388 | ts-node: '>=9.0.0' 2389 | peerDependenciesMeta: 2390 | postcss: 2391 | optional: true 2392 | ts-node: 2393 | optional: true 2394 | dependencies: 2395 | lilconfig: 2.1.0 2396 | postcss: 8.4.24 2397 | yaml: 2.3.1 2398 | dev: false 2399 | 2400 | /postcss-nested@6.0.1(postcss@8.4.24): 2401 | resolution: 2402 | { integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== } 2403 | engines: { node: '>=12.0' } 2404 | peerDependencies: 2405 | postcss: ^8.2.14 2406 | dependencies: 2407 | postcss: 8.4.24 2408 | postcss-selector-parser: 6.0.13 2409 | dev: false 2410 | 2411 | /postcss-selector-parser@6.0.13: 2412 | resolution: 2413 | { integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== } 2414 | engines: { node: '>=4' } 2415 | dependencies: 2416 | cssesc: 3.0.0 2417 | util-deprecate: 1.0.2 2418 | dev: false 2419 | 2420 | /postcss-value-parser@4.2.0: 2421 | resolution: 2422 | { integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== } 2423 | dev: false 2424 | 2425 | /postcss@8.4.14: 2426 | resolution: 2427 | { integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== } 2428 | engines: { node: ^10 || ^12 || >=14 } 2429 | dependencies: 2430 | nanoid: 3.3.6 2431 | picocolors: 1.0.0 2432 | source-map-js: 1.0.2 2433 | dev: false 2434 | 2435 | /postcss@8.4.24: 2436 | resolution: 2437 | { integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== } 2438 | engines: { node: ^10 || ^12 || >=14 } 2439 | dependencies: 2440 | nanoid: 3.3.6 2441 | picocolors: 1.0.0 2442 | source-map-js: 1.0.2 2443 | dev: false 2444 | 2445 | /prelude-ls@1.2.1: 2446 | resolution: 2447 | { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } 2448 | engines: { node: '>= 0.8.0' } 2449 | 2450 | /prop-types@15.8.1: 2451 | resolution: 2452 | { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } 2453 | dependencies: 2454 | loose-envify: 1.4.0 2455 | object-assign: 4.1.1 2456 | react-is: 16.13.1 2457 | dev: false 2458 | 2459 | /proxy-from-env@1.1.0: 2460 | resolution: 2461 | { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } 2462 | dev: false 2463 | 2464 | /punycode@2.3.0: 2465 | resolution: 2466 | { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } 2467 | engines: { node: '>=6' } 2468 | 2469 | /queue-microtask@1.2.3: 2470 | resolution: 2471 | { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } 2472 | 2473 | /react-dom@18.2.0(react@18.2.0): 2474 | resolution: 2475 | { integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== } 2476 | peerDependencies: 2477 | react: ^18.2.0 2478 | dependencies: 2479 | loose-envify: 1.4.0 2480 | react: 18.2.0 2481 | scheduler: 0.23.0 2482 | dev: false 2483 | 2484 | /react-dropzone@14.2.3(react@18.2.0): 2485 | resolution: 2486 | { integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== } 2487 | engines: { node: '>= 10.13' } 2488 | peerDependencies: 2489 | react: '>= 16.8 || 18.0.0' 2490 | dependencies: 2491 | attr-accept: 2.2.2 2492 | file-selector: 0.6.0 2493 | prop-types: 15.8.1 2494 | react: 18.2.0 2495 | dev: false 2496 | 2497 | /react-is@16.13.1: 2498 | resolution: 2499 | { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } 2500 | dev: false 2501 | 2502 | /react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0): 2503 | resolution: 2504 | { integrity: sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg== } 2505 | peerDependencies: 2506 | react: '>=16' 2507 | react-dom: '>=16' 2508 | dependencies: 2509 | clsx: 1.2.1 2510 | react: 18.2.0 2511 | react-dom: 18.2.0(react@18.2.0) 2512 | dev: false 2513 | 2514 | /react@18.2.0: 2515 | resolution: 2516 | { integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== } 2517 | engines: { node: '>=0.10.0' } 2518 | dependencies: 2519 | loose-envify: 1.4.0 2520 | dev: false 2521 | 2522 | /read-cache@1.0.0: 2523 | resolution: 2524 | { integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== } 2525 | dependencies: 2526 | pify: 2.3.0 2527 | dev: false 2528 | 2529 | /readdirp@3.6.0: 2530 | resolution: 2531 | { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } 2532 | engines: { node: '>=8.10.0' } 2533 | dependencies: 2534 | picomatch: 2.3.1 2535 | dev: false 2536 | 2537 | /regenerator-runtime@0.13.11: 2538 | resolution: 2539 | { integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== } 2540 | dev: false 2541 | 2542 | /regexp.prototype.flags@1.5.0: 2543 | resolution: 2544 | { integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== } 2545 | engines: { node: '>= 0.4' } 2546 | dependencies: 2547 | call-bind: 1.0.2 2548 | define-properties: 1.2.0 2549 | functions-have-names: 1.2.3 2550 | dev: false 2551 | 2552 | /resolve-from@4.0.0: 2553 | resolution: 2554 | { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } 2555 | engines: { node: '>=4' } 2556 | 2557 | /resolve-pkg-maps@1.0.0: 2558 | resolution: 2559 | { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } 2560 | dev: false 2561 | 2562 | /resolve@1.22.2: 2563 | resolution: 2564 | { integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== } 2565 | hasBin: true 2566 | dependencies: 2567 | is-core-module: 2.12.1 2568 | path-parse: 1.0.7 2569 | supports-preserve-symlinks-flag: 1.0.0 2570 | dev: false 2571 | 2572 | /resolve@2.0.0-next.4: 2573 | resolution: 2574 | { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } 2575 | hasBin: true 2576 | dependencies: 2577 | is-core-module: 2.12.1 2578 | path-parse: 1.0.7 2579 | supports-preserve-symlinks-flag: 1.0.0 2580 | dev: false 2581 | 2582 | /reusify@1.0.4: 2583 | resolution: 2584 | { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } 2585 | engines: { iojs: '>=1.0.0', node: '>=0.10.0' } 2586 | 2587 | /rimraf@3.0.2: 2588 | resolution: 2589 | { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } 2590 | hasBin: true 2591 | dependencies: 2592 | glob: 7.2.3 2593 | 2594 | /run-applescript@5.0.0: 2595 | resolution: 2596 | { integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== } 2597 | engines: { node: '>=12' } 2598 | dependencies: 2599 | execa: 5.1.1 2600 | dev: false 2601 | 2602 | /run-parallel@1.2.0: 2603 | resolution: 2604 | { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } 2605 | dependencies: 2606 | queue-microtask: 1.2.3 2607 | 2608 | /safe-regex-test@1.0.0: 2609 | resolution: 2610 | { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } 2611 | dependencies: 2612 | call-bind: 1.0.2 2613 | get-intrinsic: 1.2.1 2614 | is-regex: 1.1.4 2615 | dev: false 2616 | 2617 | /scheduler@0.23.0: 2618 | resolution: 2619 | { integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== } 2620 | dependencies: 2621 | loose-envify: 1.4.0 2622 | dev: false 2623 | 2624 | /semver@6.3.0: 2625 | resolution: 2626 | { integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== } 2627 | hasBin: true 2628 | dev: false 2629 | 2630 | /semver@7.5.1: 2631 | resolution: 2632 | { integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw== } 2633 | engines: { node: '>=10' } 2634 | hasBin: true 2635 | dependencies: 2636 | lru-cache: 6.0.0 2637 | dev: false 2638 | 2639 | /shebang-command@2.0.0: 2640 | resolution: 2641 | { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } 2642 | engines: { node: '>=8' } 2643 | dependencies: 2644 | shebang-regex: 3.0.0 2645 | 2646 | /shebang-regex@3.0.0: 2647 | resolution: 2648 | { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } 2649 | engines: { node: '>=8' } 2650 | 2651 | /side-channel@1.0.4: 2652 | resolution: 2653 | { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } 2654 | dependencies: 2655 | call-bind: 1.0.2 2656 | get-intrinsic: 1.2.1 2657 | object-inspect: 1.12.3 2658 | dev: false 2659 | 2660 | /signal-exit@3.0.7: 2661 | resolution: 2662 | { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } 2663 | dev: false 2664 | 2665 | /slash@3.0.0: 2666 | resolution: 2667 | { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } 2668 | engines: { node: '>=8' } 2669 | dev: false 2670 | 2671 | /slash@4.0.0: 2672 | resolution: 2673 | { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } 2674 | engines: { node: '>=12' } 2675 | dev: false 2676 | 2677 | /source-map-js@1.0.2: 2678 | resolution: 2679 | { integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== } 2680 | engines: { node: '>=0.10.0' } 2681 | dev: false 2682 | 2683 | /streamsearch@1.1.0: 2684 | resolution: 2685 | { integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== } 2686 | engines: { node: '>=10.0.0' } 2687 | dev: false 2688 | 2689 | /string.prototype.matchall@4.0.8: 2690 | resolution: 2691 | { integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== } 2692 | dependencies: 2693 | call-bind: 1.0.2 2694 | define-properties: 1.2.0 2695 | es-abstract: 1.21.2 2696 | get-intrinsic: 1.2.1 2697 | has-symbols: 1.0.3 2698 | internal-slot: 1.0.5 2699 | regexp.prototype.flags: 1.5.0 2700 | side-channel: 1.0.4 2701 | dev: false 2702 | 2703 | /string.prototype.trim@1.2.7: 2704 | resolution: 2705 | { integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== } 2706 | engines: { node: '>= 0.4' } 2707 | dependencies: 2708 | call-bind: 1.0.2 2709 | define-properties: 1.2.0 2710 | es-abstract: 1.21.2 2711 | dev: false 2712 | 2713 | /string.prototype.trimend@1.0.6: 2714 | resolution: 2715 | { integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== } 2716 | dependencies: 2717 | call-bind: 1.0.2 2718 | define-properties: 1.2.0 2719 | es-abstract: 1.21.2 2720 | dev: false 2721 | 2722 | /string.prototype.trimstart@1.0.6: 2723 | resolution: 2724 | { integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== } 2725 | dependencies: 2726 | call-bind: 1.0.2 2727 | define-properties: 1.2.0 2728 | es-abstract: 1.21.2 2729 | dev: false 2730 | 2731 | /strip-ansi@6.0.1: 2732 | resolution: 2733 | { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } 2734 | engines: { node: '>=8' } 2735 | dependencies: 2736 | ansi-regex: 5.0.1 2737 | 2738 | /strip-bom@3.0.0: 2739 | resolution: 2740 | { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } 2741 | engines: { node: '>=4' } 2742 | dev: false 2743 | 2744 | /strip-final-newline@2.0.0: 2745 | resolution: 2746 | { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } 2747 | engines: { node: '>=6' } 2748 | dev: false 2749 | 2750 | /strip-final-newline@3.0.0: 2751 | resolution: 2752 | { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } 2753 | engines: { node: '>=12' } 2754 | dev: false 2755 | 2756 | /strip-json-comments@3.1.1: 2757 | resolution: 2758 | { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } 2759 | engines: { node: '>=8' } 2760 | 2761 | /styled-jsx@5.1.1(react@18.2.0): 2762 | resolution: 2763 | { integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== } 2764 | engines: { node: '>= 12.0.0' } 2765 | peerDependencies: 2766 | '@babel/core': '*' 2767 | babel-plugin-macros: '*' 2768 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2769 | peerDependenciesMeta: 2770 | '@babel/core': 2771 | optional: true 2772 | babel-plugin-macros: 2773 | optional: true 2774 | dependencies: 2775 | client-only: 0.0.1 2776 | react: 18.2.0 2777 | dev: false 2778 | 2779 | /sucrase@3.32.0: 2780 | resolution: 2781 | { integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== } 2782 | engines: { node: '>=8' } 2783 | hasBin: true 2784 | dependencies: 2785 | '@jridgewell/gen-mapping': 0.3.3 2786 | commander: 4.1.1 2787 | glob: 7.1.6 2788 | lines-and-columns: 1.2.4 2789 | mz: 2.7.0 2790 | pirates: 4.0.5 2791 | ts-interface-checker: 0.1.13 2792 | dev: false 2793 | 2794 | /supports-color@7.2.0: 2795 | resolution: 2796 | { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } 2797 | engines: { node: '>=8' } 2798 | dependencies: 2799 | has-flag: 4.0.0 2800 | 2801 | /supports-preserve-symlinks-flag@1.0.0: 2802 | resolution: 2803 | { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } 2804 | engines: { node: '>= 0.4' } 2805 | dev: false 2806 | 2807 | /synckit@0.8.5: 2808 | resolution: 2809 | { integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== } 2810 | engines: { node: ^14.18.0 || >=16.0.0 } 2811 | dependencies: 2812 | '@pkgr/utils': 2.4.1 2813 | tslib: 2.5.3 2814 | dev: false 2815 | 2816 | /tailwindcss@3.3.2: 2817 | resolution: 2818 | { integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== } 2819 | engines: { node: '>=14.0.0' } 2820 | hasBin: true 2821 | dependencies: 2822 | '@alloc/quick-lru': 5.2.0 2823 | arg: 5.0.2 2824 | chokidar: 3.5.3 2825 | didyoumean: 1.2.2 2826 | dlv: 1.1.3 2827 | fast-glob: 3.2.12 2828 | glob-parent: 6.0.2 2829 | is-glob: 4.0.3 2830 | jiti: 1.18.2 2831 | lilconfig: 2.1.0 2832 | micromatch: 4.0.5 2833 | normalize-path: 3.0.0 2834 | object-hash: 3.0.0 2835 | picocolors: 1.0.0 2836 | postcss: 8.4.24 2837 | postcss-import: 15.1.0(postcss@8.4.24) 2838 | postcss-js: 4.0.1(postcss@8.4.24) 2839 | postcss-load-config: 4.0.1(postcss@8.4.24) 2840 | postcss-nested: 6.0.1(postcss@8.4.24) 2841 | postcss-selector-parser: 6.0.13 2842 | postcss-value-parser: 4.2.0 2843 | resolve: 1.22.2 2844 | sucrase: 3.32.0 2845 | transitivePeerDependencies: 2846 | - ts-node 2847 | dev: false 2848 | 2849 | /tapable@2.2.1: 2850 | resolution: 2851 | { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } 2852 | engines: { node: '>=6' } 2853 | dev: false 2854 | 2855 | /text-table@0.2.0: 2856 | resolution: 2857 | { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } 2858 | 2859 | /thenify-all@1.6.0: 2860 | resolution: 2861 | { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } 2862 | engines: { node: '>=0.8' } 2863 | dependencies: 2864 | thenify: 3.3.1 2865 | dev: false 2866 | 2867 | /thenify@3.3.1: 2868 | resolution: 2869 | { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } 2870 | dependencies: 2871 | any-promise: 1.3.0 2872 | dev: false 2873 | 2874 | /titleize@3.0.0: 2875 | resolution: 2876 | { integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== } 2877 | engines: { node: '>=12' } 2878 | dev: false 2879 | 2880 | /to-regex-range@5.0.1: 2881 | resolution: 2882 | { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } 2883 | engines: { node: '>=8.0' } 2884 | dependencies: 2885 | is-number: 7.0.0 2886 | dev: false 2887 | 2888 | /toggle-selection@1.0.6: 2889 | resolution: 2890 | { integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== } 2891 | dev: false 2892 | 2893 | /ts-interface-checker@0.1.13: 2894 | resolution: 2895 | { integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== } 2896 | dev: false 2897 | 2898 | /tsconfig-paths@3.14.2: 2899 | resolution: 2900 | { integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== } 2901 | dependencies: 2902 | '@types/json5': 0.0.29 2903 | json5: 1.0.2 2904 | minimist: 1.2.8 2905 | strip-bom: 3.0.0 2906 | dev: false 2907 | 2908 | /tslib@1.14.1: 2909 | resolution: 2910 | { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } 2911 | dev: false 2912 | 2913 | /tslib@2.5.3: 2914 | resolution: 2915 | { integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== } 2916 | dev: false 2917 | 2918 | /tsutils@3.21.0(typescript@5.1.3): 2919 | resolution: 2920 | { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } 2921 | engines: { node: '>= 6' } 2922 | peerDependencies: 2923 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2924 | dependencies: 2925 | tslib: 1.14.1 2926 | typescript: 5.1.3 2927 | dev: false 2928 | 2929 | /type-check@0.4.0: 2930 | resolution: 2931 | { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } 2932 | engines: { node: '>= 0.8.0' } 2933 | dependencies: 2934 | prelude-ls: 1.2.1 2935 | 2936 | /type-fest@0.20.2: 2937 | resolution: 2938 | { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } 2939 | engines: { node: '>=10' } 2940 | 2941 | /typed-array-length@1.0.4: 2942 | resolution: 2943 | { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } 2944 | dependencies: 2945 | call-bind: 1.0.2 2946 | for-each: 0.3.3 2947 | is-typed-array: 1.1.10 2948 | dev: false 2949 | 2950 | /typescript@5.1.3: 2951 | resolution: 2952 | { integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== } 2953 | engines: { node: '>=14.17' } 2954 | hasBin: true 2955 | dev: false 2956 | 2957 | /unbox-primitive@1.0.2: 2958 | resolution: 2959 | { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } 2960 | dependencies: 2961 | call-bind: 1.0.2 2962 | has-bigints: 1.0.2 2963 | has-symbols: 1.0.3 2964 | which-boxed-primitive: 1.0.2 2965 | dev: false 2966 | 2967 | /untildify@4.0.0: 2968 | resolution: 2969 | { integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== } 2970 | engines: { node: '>=8' } 2971 | dev: false 2972 | 2973 | /update-browserslist-db@1.0.11(browserslist@4.21.8): 2974 | resolution: 2975 | { integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== } 2976 | hasBin: true 2977 | peerDependencies: 2978 | browserslist: '>= 4.21.0' 2979 | dependencies: 2980 | browserslist: 4.21.8 2981 | escalade: 3.1.1 2982 | picocolors: 1.0.0 2983 | dev: false 2984 | 2985 | /uri-js@4.4.1: 2986 | resolution: 2987 | { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } 2988 | dependencies: 2989 | punycode: 2.3.0 2990 | 2991 | /util-deprecate@1.0.2: 2992 | resolution: 2993 | { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } 2994 | dev: false 2995 | 2996 | /watchpack@2.4.0: 2997 | resolution: 2998 | { integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== } 2999 | engines: { node: '>=10.13.0' } 3000 | dependencies: 3001 | glob-to-regexp: 0.4.1 3002 | graceful-fs: 4.2.11 3003 | dev: false 3004 | 3005 | /which-boxed-primitive@1.0.2: 3006 | resolution: 3007 | { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } 3008 | dependencies: 3009 | is-bigint: 1.0.4 3010 | is-boolean-object: 1.1.2 3011 | is-number-object: 1.0.7 3012 | is-string: 1.0.7 3013 | is-symbol: 1.0.4 3014 | dev: false 3015 | 3016 | /which-typed-array@1.1.9: 3017 | resolution: 3018 | { integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== } 3019 | engines: { node: '>= 0.4' } 3020 | dependencies: 3021 | available-typed-arrays: 1.0.5 3022 | call-bind: 1.0.2 3023 | for-each: 0.3.3 3024 | gopd: 1.0.1 3025 | has-tostringtag: 1.0.0 3026 | is-typed-array: 1.1.10 3027 | dev: false 3028 | 3029 | /which@2.0.2: 3030 | resolution: 3031 | { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } 3032 | engines: { node: '>= 8' } 3033 | hasBin: true 3034 | dependencies: 3035 | isexe: 2.0.0 3036 | 3037 | /word-wrap@1.2.3: 3038 | resolution: 3039 | { integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== } 3040 | engines: { node: '>=0.10.0' } 3041 | 3042 | /wrappy@1.0.2: 3043 | resolution: 3044 | { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } 3045 | 3046 | /yallist@4.0.0: 3047 | resolution: 3048 | { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } 3049 | dev: false 3050 | 3051 | /yaml@2.3.1: 3052 | resolution: 3053 | { integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== } 3054 | engines: { node: '>= 14' } 3055 | dev: false 3056 | 3057 | /yocto-queue@0.1.0: 3058 | resolution: 3059 | { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } 3060 | engines: { node: '>=10' } 3061 | 3062 | /zod@3.21.4: 3063 | resolution: 3064 | { integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== } 3065 | dev: false 3066 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/background.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /public/check.svg: -------------------------------------------------------------------------------- 1 | 9 | 14 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevin-sg/nextjs-image-uploader/5d2de56be93f88725d849182ae71bb79f3e0cbb6/public/favicon.ico -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/commons/ButtonFile.tsx: -------------------------------------------------------------------------------- 1 | import type { ChangeEvent, FC, LegacyRef } from 'react'; 2 | 3 | type Props = { 4 | disabled?: boolean; 5 | inputRef: LegacyRef; 6 | onClick: () => void; 7 | onChange: (ev: ChangeEvent) => void; 8 | }; 9 | 10 | export const ButtonFile: FC = (props) => { 11 | const { disabled = false, inputRef, onClick, onChange } = props; 12 | 13 | return ( 14 | 31 | ); 32 | }; 33 | -------------------------------------------------------------------------------- /src/components/commons/Dropzone.tsx: -------------------------------------------------------------------------------- 1 | import NextImage from 'next/image'; 2 | import c from 'clsx'; 3 | 4 | import BackgroundSvg from 'public/background.svg'; 5 | 6 | import type { FC } from 'react'; 7 | import type { DropzoneInputProps } from 'react-dropzone'; 8 | 9 | type DropzoneProps = { 10 | isActive?: boolean; 11 | onInputProps: (props?: T) => T; 12 | }; 13 | 14 | export const Dropzone: FC = ({ isActive = false, onInputProps }) => { 15 | return ( 16 |
22 | 23 | 24 |
25 | 26 |
27 | 28 |

29 | Drag & Drop your image here 30 |

31 |
32 | ); 33 | }; 34 | -------------------------------------------------------------------------------- /src/components/commons/InputLink.tsx: -------------------------------------------------------------------------------- 1 | import { toast } from 'react-toastify'; 2 | import copy from 'copy-to-clipboard'; 3 | 4 | import type { FC } from 'react'; 5 | 6 | type InputLinkProps = { 7 | value: string; 8 | }; 9 | 10 | export const InputLink: FC = ({ value = 'Not Value' }) => { 11 | return ( 12 |
13 | 36 |
37 | ); 38 | }; 39 | -------------------------------------------------------------------------------- /src/components/commons/PreviewImage.tsx: -------------------------------------------------------------------------------- 1 | import NextImage from 'next/image'; 2 | 3 | import type { FC } from 'react'; 4 | 5 | type PreviewImageProps = { 6 | imageUrl: string; 7 | }; 8 | 9 | export const PreviewImage: FC = ({ imageUrl = '' }) => { 10 | return ( 11 |
12 |
13 | 21 |
22 |
23 | ); 24 | }; 25 | -------------------------------------------------------------------------------- /src/components/commons/ProgressCard.tsx: -------------------------------------------------------------------------------- 1 | import type { FC } from 'react'; 2 | 3 | type ProgressCardProps = { 4 | progressStatus: number; 5 | }; 6 | 7 | export const ProgressCard: FC = ({ progressStatus }) => { 8 | const width = progressStatus.toString().concat('%'); 9 | 10 | return ( 11 |
12 |

Uploading...

13 |
14 |
15 |
16 |
17 | ); 18 | }; 19 | -------------------------------------------------------------------------------- /src/components/commons/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ButtonFile'; 2 | export * from './Dropzone'; 3 | export * from './InputLink'; 4 | export * from './PreviewImage'; 5 | export * from './ProgressCard'; 6 | -------------------------------------------------------------------------------- /src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './commons'; 2 | export * from './layouts'; 3 | -------------------------------------------------------------------------------- /src/components/layouts/Footer.tsx: -------------------------------------------------------------------------------- 1 | import type { FCC } from 'react'; 2 | 3 | export const Footer: FCC = () => { 4 | return ( 5 |
6 |

7 | © {new Date().getFullYear()} Copyright 8 | {'-'} 9 | 10 | Created by 11 | 17 | kevinSg 18 | 19 | 20 | 21 |

22 |
23 | ); 24 | }; 25 | -------------------------------------------------------------------------------- /src/components/layouts/Main.tsx: -------------------------------------------------------------------------------- 1 | import { Roboto_Mono, Poppins } from 'next/font/google'; 2 | import c from 'clsx'; 3 | 4 | import type { FCC } from 'react'; 5 | 6 | const poppins = Poppins({ 7 | weight: ['100', '300', '400', '500', '700'], 8 | subsets: ['latin'], 9 | variable: '--font-poppins', 10 | }); 11 | 12 | const robotoMono = Roboto_Mono({ 13 | weight: ['100', '200', '300', '400'], 14 | subsets: ['latin'], 15 | variable: '--font-roboto-mono', 16 | }); 17 | 18 | export const Main: FCC = ({ children }) => { 19 | return ( 20 |
28 | {children} 29 |
30 | ); 31 | }; 32 | -------------------------------------------------------------------------------- /src/components/layouts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Footer'; 2 | export * from './Main'; 3 | -------------------------------------------------------------------------------- /src/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './use-upload.hook'; 2 | -------------------------------------------------------------------------------- /src/hooks/use-upload.hook.ts: -------------------------------------------------------------------------------- 1 | import { type ChangeEvent, useCallback, useEffect, useRef, useState } from 'react'; 2 | import { useDropzone } from 'react-dropzone'; 3 | import { toast } from 'react-toastify'; 4 | import axios from 'axios'; 5 | 6 | import { DROPZONE_OPTIONS, uploadFile } from '@/lib'; 7 | 8 | type ImageRes = { 9 | public_id: string; 10 | secure_url: string; 11 | }; 12 | 13 | const imageTypeRegex = /image\/(png|gif|jpg|jpeg)/gm; 14 | 15 | export const useUpload = () => { 16 | const [formatImage, setFormatImage] = useState(null); 17 | const [image, setImage] = useState(null); 18 | const [isFetching, setIsFetching] = useState(false); 19 | const [isSuccess, setIsSuccess] = useState(false); 20 | const [progressStatus, setProgressStatus] = useState(0); 21 | 22 | const inputRef = useRef(null); 23 | 24 | const onDrop = useCallback((acceptedFiles: File[]) => { 25 | if (!acceptedFiles.length) return; 26 | 27 | const formData = new FormData(); 28 | formData.append('file', acceptedFiles[0]); 29 | formData.append('upload_preset', process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET); 30 | 31 | setFormatImage(formData); 32 | }, []); 33 | 34 | const { getRootProps, getInputProps, fileRejections, isDragActive } = useDropzone({ ...DROPZONE_OPTIONS, onDrop }); 35 | 36 | const onChangeFile = (e: ChangeEvent): void => { 37 | const files = e.target?.files!; 38 | 39 | const formData = new FormData(); 40 | const file = files?.[0]; 41 | 42 | if (!file?.type.match(imageTypeRegex)) return; 43 | 44 | formData.append('file', file); 45 | formData.append('upload_preset', process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET); 46 | 47 | setFormatImage(formData); 48 | }; 49 | 50 | useEffect(() => { 51 | if (fileRejections.length) { 52 | fileRejections 53 | .map((el) => el.errors) 54 | .map((err) => { 55 | err.map((el) => { 56 | if (el.code.includes('file-invalid-type')) { 57 | toast.error('File type must be .png,.jpg,.jpeg,.gif', { theme: 'light' }); 58 | return; 59 | } 60 | if (el.code.includes('file-too-large')) { 61 | toast.error('File is larger than 10MB', { theme: 'light' }); 62 | return; 63 | } 64 | }); 65 | }); 66 | } 67 | }, [fileRejections]); 68 | 69 | useEffect(() => { 70 | (async () => { 71 | if (!formatImage) return; 72 | 73 | try { 74 | setIsFetching(true); 75 | const data = await uploadFile({ 76 | formData: formatImage, 77 | onUploadProgress(progress) { 78 | setProgressStatus(progress); 79 | }, 80 | }); 81 | 82 | if (data) { 83 | setFormatImage(null); 84 | setImage(data); 85 | setIsFetching(false); 86 | setIsSuccess(true); 87 | toast.success('Successfully uploaded!'); 88 | } 89 | } catch (err) { 90 | if (axios.isAxiosError<{ message: string }>(err)) { 91 | toast.error(err.response?.data.message); 92 | } 93 | if (err instanceof Error) { 94 | toast.error(err.message); 95 | } 96 | setFormatImage(null); 97 | setImage(null); 98 | setIsFetching(false); 99 | setIsSuccess(false); 100 | } 101 | })(); 102 | }, [formatImage]); 103 | 104 | return { 105 | isFetching, 106 | isDragActive, 107 | isSuccess, 108 | image, 109 | progressStatus, 110 | inputRef, 111 | onChangeFile, 112 | getRootProps, 113 | getInputProps, 114 | }; 115 | }; 116 | -------------------------------------------------------------------------------- /src/lib/dropzone-option.lib.ts: -------------------------------------------------------------------------------- 1 | import type { DropzoneOptions } from 'react-dropzone'; 2 | 3 | export const DROPZONE_OPTIONS: DropzoneOptions = { 4 | accept: { 5 | 'image/*': ['.png', '.jpg', '.jpeg', '.gif'], 6 | }, 7 | noClick: true, 8 | maxFiles: 1, 9 | maxSize: 11000000, 10 | }; 11 | -------------------------------------------------------------------------------- /src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dropzone-option.lib'; 2 | export * from './upload-file.lib'; 3 | -------------------------------------------------------------------------------- /src/lib/upload-file.lib.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | 3 | type ImageResponse = { 4 | public_id: string; 5 | secure_url: string; 6 | }; 7 | 8 | type UploadFileProps = { 9 | formData: FormData | null; 10 | onUploadProgress: (progress: number) => void; 11 | }; 12 | 13 | export const uploadFile = async ({ formData, onUploadProgress }: UploadFileProps): Promise => { 14 | const { data } = await axios.request({ 15 | method: 'POST', 16 | headers: { 'Content-Type': 'multipart/form-data' }, 17 | url: process.env.NEXT_PUBLIC_CLOUDINARY_BASE_URL || '', 18 | data: formData, 19 | onUploadProgress(progressEvent) { 20 | const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total!); 21 | onUploadProgress(percentCompleted); 22 | }, 23 | }); 24 | 25 | return { secure_url: data.secure_url, public_id: data.public_id }; 26 | }; 27 | -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '@/styles/globals.css'; 2 | import { ToastContainer } from 'react-toastify'; 3 | import 'react-toastify/dist/ReactToastify.css'; 4 | 5 | import { Footer, Main } from '@/components'; 6 | 7 | import type { AppProps } from 'next/app'; 8 | 9 | export default function App({ Component, pageProps }: AppProps) { 10 | return ( 11 |
12 | 25 | 26 | 27 |
28 |
29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import Document, { Html, Head, Main, NextScript, type DocumentContext, type DocumentInitialProps } from 'next/document'; 2 | 3 | class MyDocument extends Document { 4 | static async getInitialProps(ctx: DocumentContext): Promise { 5 | const initialProps = await Document.getInitialProps(ctx); 6 | 7 | return initialProps; 8 | } 9 | 10 | render() { 11 | return ( 12 | 13 | 14 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | ); 28 | } 29 | } 30 | 31 | export default MyDocument; 32 | -------------------------------------------------------------------------------- /src/pages/api/hello.ts: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | import type { NextApiRequest, NextApiResponse } from 'next'; 3 | 4 | type Data = { 5 | name: string; 6 | }; 7 | 8 | export default function handler(req: NextApiRequest, res: NextApiResponse) { 9 | res.status(200).json({ name: 'Hello world!!' }); 10 | } 11 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import { useUpload } from '@/hooks'; 2 | import { ButtonFile, InputLink, ProgressCard, Dropzone, PreviewImage } from '@/components'; 3 | 4 | import type { NextPage } from 'next'; 5 | 6 | const HomePage: NextPage = () => { 7 | const u = useUpload(); 8 | 9 | return ( 10 |
11 | {!u.isFetching && ( 12 |
16 |
17 | {u.isSuccess && } 18 | 19 |

20 | {u.isSuccess ? 'Uploaded Successfully!' : 'Upload your image'} 21 |

22 | 23 | {!u.isSuccess && ( 24 |

File should be Jpeg, Png, Gif

25 | )} 26 | 27 | {u.image ? ( 28 | 29 | ) : ( 30 | 31 | )} 32 | 33 | {!u.isSuccess && Or} 34 | 35 | {!u.isSuccess && ( 36 | u.inputRef.current?.click()} inputRef={u.inputRef} onChange={u.onChangeFile} /> 37 | )} 38 | 39 | {u.isSuccess && } 40 |
41 |
42 | )} 43 | 44 | {u.isFetching && } 45 |
46 | ); 47 | }; 48 | 49 | export default HomePage; 50 | -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | import defaultTheme from 'tailwindcss/defaultTheme'; 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | module.exports = { 5 | content: [ 6 | './src/pages/**/*.{js,ts,jsx,tsx,mdx}', 7 | './src/components/**/*.{js,ts,jsx,tsx,mdx}', 8 | './src/app/**/*.{js,ts,jsx,tsx,mdx}', 9 | ], 10 | theme: { 11 | extend: { 12 | fontFamily: { 13 | sans: ['var(--font-poppins)', ...defaultTheme.fontFamily.sans], 14 | mono: ['var(--font-roboto-mono)', ...defaultTheme.fontFamily.mono], 15 | }, 16 | }, 17 | }, 18 | plugins: [], 19 | }; 20 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "paths": { 18 | "@/*": ["./src/*"] 19 | }, 20 | "baseUrl": "." 21 | }, 22 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 23 | "exclude": ["node_modules"] 24 | } 25 | -------------------------------------------------------------------------------- /types/environment.d.ts: -------------------------------------------------------------------------------- 1 | namespace NodeJS { 2 | interface ProcessEnv { 3 | NEXT_PUBLIC_CLOUDINARY_BASE_URL: string; 4 | NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET: string; 5 | NEXT_PUBLIC_PROFILE_LINK: string; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /types/react.d.ts: -------------------------------------------------------------------------------- 1 | import type { FC, PropsWithChildren } from 'react'; 2 | 3 | declare module 'react' { 4 | export type FCC

= FC>; 5 | } 6 | --------------------------------------------------------------------------------