├── .eslintrc.cjs ├── .github └── preview.png ├── .gitignore ├── README.md ├── index.html ├── money └── coin │ ├── 1.5.jpg │ ├── 1.py │ ├── 2.txt │ └── 3.js ├── package.json ├── pnpm-lock.yaml ├── public └── fleekMark.svg ├── src ├── App.css ├── App.tsx ├── assets │ ├── fleekLogo.svg │ ├── fleekMark.svg │ ├── plus.svg │ ├── react.svg │ └── vite.svg ├── index.css ├── main.tsx └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { browser: true, es2020: true }, 3 | extends: [ 4 | 'eslint:recommended', 5 | 'plugin:@typescript-eslint/recommended', 6 | 'plugin:react-hooks/recommended', 7 | ], 8 | parser: '@typescript-eslint/parser', 9 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, 10 | plugins: ['react-refresh'], 11 | rules: { 12 | 'react-refresh/only-export-components': 'warn', 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React + Fleek Starter Kit 2 | 3 | ![image](https://github.com/fleekxyz/react-template/assets/55561695/0e7bfe91-ffe3-4dd5-852c-c551344163b4) 4 | 5 | ## 🚀 Project Structure 6 | 7 | Inside of your React project, you'll see the following folders and files: 8 | 9 | ``` 10 | / 11 | ├── public/ 12 | │ └── favicon.svg 13 | ├── src/ 14 | │ ├── assets/ 15 | │ ├── main.tsx 16 | │ ├── App.tsx 17 | │ └── App.css 18 | ├── index.html 19 | ├── tsconfig.json 20 | ├── vide.config.ts 21 | └── package.json 22 | ``` 23 | 24 | If you want to lern more about `vite` and `react` you can checkout [Vite Documentation](https://vitejs.dev/). 25 | 26 | ## 🧞 Commands 27 | 28 | All commands are run from the root of the project, from a terminal: 29 | 30 | | Command | Action | 31 | | :--------------------- | :----------------------------------------------- | 32 | | `pnpm install` | Installs dependencies | 33 | | `pnpm run dev` | Starts local dev server at `localhost:3000` | 34 | | `pnpm run build` | Build your production site to `./dist/` | 35 | | `pnpm run preview` | Preview your build locally, before deploying | 36 | | `pnpm run lint ...` | Run Linter | 37 | 38 | ## ⚡ How to deploy to Fleek 39 | 40 | ### 1. Create a `fleek.json` config file: 41 | You can configure this site deployment using [Fleek CLI]() and running: 42 | ``` 43 | > fleek sites init 44 | WARN! Fleek CLI is in beta phase, use it under your own responsibility 45 | ? Choose one of the existing sites or create a new one. › 46 | ❯ Create a new site 47 | ``` 48 | It will prompt you for a `name`, `dist` directory location & `build command` 49 | - `name`: How you want to name the site 50 | - `dist`: The output directory where the site is located, for this template it's `dist` 51 | - `build command`: Command to build your site, this will be used to deploy the latest version either by CLI or Github Actions 52 | 53 | ### 2. Deploy the site 54 | After configuiring your `fleek.json` file, you can deployt the site by running 55 | 56 | ``` 57 | fleek sites deploy 58 | ``` 59 | After running it you will get an output like this: 60 | ``` 61 | WARN! Fleek CLI is in beta, use it at your own discretion 62 | > Success! Deployed! 63 | > Site IPFS CID: QmP1nDyoHqSrRabwUSrxRV3DJqiKH7b9t1tpLcr1NTkm1M 64 | 65 | > You can visit through the gateway: 66 | > https://ipfs.io/ipfs/QmP1nDyoHqSrRabwUSrxRV3DJqiKH7b9t1tpLcr1NTkm1M 67 | ``` 68 | 69 | ### Extra features 70 | - **Continuous Integration (CI):** `fleek sites ci` [Documentation.](https://docs.fleek.xyz/services/sites/#continuous-integration-ci) 71 | - **Adding custom domains:** `fleek domains create` [Documentation.](https://docs.fleek.xyz/services/domains/) 72 | 73 | 74 | ### Keep in mind: 75 | 76 | This template has been configured to produce a static output. 77 | 78 | ```js 79 | // vite.config.ts 80 | 81 | import { defineConfig } from 'vite' 82 | import react from '@vitejs/plugin-react-swc' 83 | 84 | // https://vitejs.dev/config/ 85 | export default defineConfig({ 86 | plugins: [react()], 87 | base: "./", 88 | }) 89 | ``` 90 | 91 | This means that assets will be pre-fixed with `./`, you can learn more about it in [Vite Documentation](https://vitejs.dev/config/shared-options.html#base) 92 | 93 | 94 | ## 👀 Want to learn more? 95 | 96 | Feel free to check [React documentation](https://react.dev/) or [Vite Documentation](https://vitejs.dev/guide/). 97 | 98 | 99 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Fleek + React + Vite + TS 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /money/coin/1.5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veragloo/react-template-vevachka/e2cfdac9ca410415459a4fabb87f3f4ff310e0ae/money/coin/1.5.jpg -------------------------------------------------------------------------------- /money/coin/1.py: -------------------------------------------------------------------------------- 1 | add money 2 | -------------------------------------------------------------------------------- /money/coin/2.txt: -------------------------------------------------------------------------------- 1 | add 2 | -------------------------------------------------------------------------------- /money/coin/3.js: -------------------------------------------------------------------------------- 1 | js 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-template", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "react": "^18.2.0", 14 | "react-dom": "^18.2.0" 15 | }, 16 | "devDependencies": { 17 | "@types/react": "^18.0.28", 18 | "@types/react-dom": "^18.0.11", 19 | "@typescript-eslint/eslint-plugin": "^5.57.1", 20 | "@typescript-eslint/parser": "^5.57.1", 21 | "@vitejs/plugin-react-swc": "^3.0.0", 22 | "eslint": "^8.38.0", 23 | "eslint-plugin-react-hooks": "^4.6.0", 24 | "eslint-plugin-react-refresh": "^0.3.4", 25 | "typescript": "^5.0.2", 26 | "vite": "^4.3.2" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@types/react': ^18.0.28 5 | '@types/react-dom': ^18.0.11 6 | '@typescript-eslint/eslint-plugin': ^5.57.1 7 | '@typescript-eslint/parser': ^5.57.1 8 | '@vitejs/plugin-react-swc': ^3.0.0 9 | eslint: ^8.38.0 10 | eslint-plugin-react-hooks: ^4.6.0 11 | eslint-plugin-react-refresh: ^0.3.4 12 | react: ^18.2.0 13 | react-dom: ^18.2.0 14 | typescript: ^5.0.2 15 | vite: ^4.3.2 16 | 17 | dependencies: 18 | react: 18.2.0 19 | react-dom: 18.2.0_react@18.2.0 20 | 21 | devDependencies: 22 | '@types/react': 18.2.6 23 | '@types/react-dom': 18.2.4 24 | '@typescript-eslint/eslint-plugin': 5.59.6_qajzm5xpii3p3sw5qvmsvgyhli 25 | '@typescript-eslint/parser': 5.59.6_opaykosi7ysrbskpnffskmbrki 26 | '@vitejs/plugin-react-swc': 3.3.1_vite@4.3.8 27 | eslint: 8.41.0 28 | eslint-plugin-react-hooks: 4.6.0_eslint@8.41.0 29 | eslint-plugin-react-refresh: 0.3.5_eslint@8.41.0 30 | typescript: 5.0.4 31 | vite: 4.3.8 32 | 33 | packages: 34 | 35 | /@esbuild/android-arm/0.17.19: 36 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 37 | engines: {node: '>=12'} 38 | cpu: [arm] 39 | os: [android] 40 | requiresBuild: true 41 | dev: true 42 | optional: true 43 | 44 | /@esbuild/android-arm64/0.17.19: 45 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 46 | engines: {node: '>=12'} 47 | cpu: [arm64] 48 | os: [android] 49 | requiresBuild: true 50 | dev: true 51 | optional: true 52 | 53 | /@esbuild/android-x64/0.17.19: 54 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 55 | engines: {node: '>=12'} 56 | cpu: [x64] 57 | os: [android] 58 | requiresBuild: true 59 | dev: true 60 | optional: true 61 | 62 | /@esbuild/darwin-arm64/0.17.19: 63 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 64 | engines: {node: '>=12'} 65 | cpu: [arm64] 66 | os: [darwin] 67 | requiresBuild: true 68 | dev: true 69 | optional: true 70 | 71 | /@esbuild/darwin-x64/0.17.19: 72 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 73 | engines: {node: '>=12'} 74 | cpu: [x64] 75 | os: [darwin] 76 | requiresBuild: true 77 | dev: true 78 | optional: true 79 | 80 | /@esbuild/freebsd-arm64/0.17.19: 81 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 82 | engines: {node: '>=12'} 83 | cpu: [arm64] 84 | os: [freebsd] 85 | requiresBuild: true 86 | dev: true 87 | optional: true 88 | 89 | /@esbuild/freebsd-x64/0.17.19: 90 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 91 | engines: {node: '>=12'} 92 | cpu: [x64] 93 | os: [freebsd] 94 | requiresBuild: true 95 | dev: true 96 | optional: true 97 | 98 | /@esbuild/linux-arm/0.17.19: 99 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 100 | engines: {node: '>=12'} 101 | cpu: [arm] 102 | os: [linux] 103 | requiresBuild: true 104 | dev: true 105 | optional: true 106 | 107 | /@esbuild/linux-arm64/0.17.19: 108 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 109 | engines: {node: '>=12'} 110 | cpu: [arm64] 111 | os: [linux] 112 | requiresBuild: true 113 | dev: true 114 | optional: true 115 | 116 | /@esbuild/linux-ia32/0.17.19: 117 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 118 | engines: {node: '>=12'} 119 | cpu: [ia32] 120 | os: [linux] 121 | requiresBuild: true 122 | dev: true 123 | optional: true 124 | 125 | /@esbuild/linux-loong64/0.17.19: 126 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 127 | engines: {node: '>=12'} 128 | cpu: [loong64] 129 | os: [linux] 130 | requiresBuild: true 131 | dev: true 132 | optional: true 133 | 134 | /@esbuild/linux-mips64el/0.17.19: 135 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 136 | engines: {node: '>=12'} 137 | cpu: [mips64el] 138 | os: [linux] 139 | requiresBuild: true 140 | dev: true 141 | optional: true 142 | 143 | /@esbuild/linux-ppc64/0.17.19: 144 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 145 | engines: {node: '>=12'} 146 | cpu: [ppc64] 147 | os: [linux] 148 | requiresBuild: true 149 | dev: true 150 | optional: true 151 | 152 | /@esbuild/linux-riscv64/0.17.19: 153 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 154 | engines: {node: '>=12'} 155 | cpu: [riscv64] 156 | os: [linux] 157 | requiresBuild: true 158 | dev: true 159 | optional: true 160 | 161 | /@esbuild/linux-s390x/0.17.19: 162 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 163 | engines: {node: '>=12'} 164 | cpu: [s390x] 165 | os: [linux] 166 | requiresBuild: true 167 | dev: true 168 | optional: true 169 | 170 | /@esbuild/linux-x64/0.17.19: 171 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 172 | engines: {node: '>=12'} 173 | cpu: [x64] 174 | os: [linux] 175 | requiresBuild: true 176 | dev: true 177 | optional: true 178 | 179 | /@esbuild/netbsd-x64/0.17.19: 180 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 181 | engines: {node: '>=12'} 182 | cpu: [x64] 183 | os: [netbsd] 184 | requiresBuild: true 185 | dev: true 186 | optional: true 187 | 188 | /@esbuild/openbsd-x64/0.17.19: 189 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 190 | engines: {node: '>=12'} 191 | cpu: [x64] 192 | os: [openbsd] 193 | requiresBuild: true 194 | dev: true 195 | optional: true 196 | 197 | /@esbuild/sunos-x64/0.17.19: 198 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 199 | engines: {node: '>=12'} 200 | cpu: [x64] 201 | os: [sunos] 202 | requiresBuild: true 203 | dev: true 204 | optional: true 205 | 206 | /@esbuild/win32-arm64/0.17.19: 207 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 208 | engines: {node: '>=12'} 209 | cpu: [arm64] 210 | os: [win32] 211 | requiresBuild: true 212 | dev: true 213 | optional: true 214 | 215 | /@esbuild/win32-ia32/0.17.19: 216 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 217 | engines: {node: '>=12'} 218 | cpu: [ia32] 219 | os: [win32] 220 | requiresBuild: true 221 | dev: true 222 | optional: true 223 | 224 | /@esbuild/win32-x64/0.17.19: 225 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 226 | engines: {node: '>=12'} 227 | cpu: [x64] 228 | os: [win32] 229 | requiresBuild: true 230 | dev: true 231 | optional: true 232 | 233 | /@eslint-community/eslint-utils/4.4.0_eslint@8.41.0: 234 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 235 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 236 | peerDependencies: 237 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 238 | dependencies: 239 | eslint: 8.41.0 240 | eslint-visitor-keys: 3.4.1 241 | dev: true 242 | 243 | /@eslint-community/regexpp/4.5.1: 244 | resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} 245 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 246 | dev: true 247 | 248 | /@eslint/eslintrc/2.0.3: 249 | resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} 250 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 251 | dependencies: 252 | ajv: 6.12.6 253 | debug: 4.3.4 254 | espree: 9.5.2 255 | globals: 13.20.0 256 | ignore: 5.2.4 257 | import-fresh: 3.3.0 258 | js-yaml: 4.1.0 259 | minimatch: 3.1.2 260 | strip-json-comments: 3.1.1 261 | transitivePeerDependencies: 262 | - supports-color 263 | dev: true 264 | 265 | /@eslint/js/8.41.0: 266 | resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} 267 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 268 | dev: true 269 | 270 | /@humanwhocodes/config-array/0.11.8: 271 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 272 | engines: {node: '>=10.10.0'} 273 | dependencies: 274 | '@humanwhocodes/object-schema': 1.2.1 275 | debug: 4.3.4 276 | minimatch: 3.1.2 277 | transitivePeerDependencies: 278 | - supports-color 279 | dev: true 280 | 281 | /@humanwhocodes/module-importer/1.0.1: 282 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 283 | engines: {node: '>=12.22'} 284 | dev: true 285 | 286 | /@humanwhocodes/object-schema/1.2.1: 287 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 288 | dev: true 289 | 290 | /@nodelib/fs.scandir/2.1.5: 291 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 292 | engines: {node: '>= 8'} 293 | dependencies: 294 | '@nodelib/fs.stat': 2.0.5 295 | run-parallel: 1.2.0 296 | dev: true 297 | 298 | /@nodelib/fs.stat/2.0.5: 299 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 300 | engines: {node: '>= 8'} 301 | dev: true 302 | 303 | /@nodelib/fs.walk/1.2.8: 304 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 305 | engines: {node: '>= 8'} 306 | dependencies: 307 | '@nodelib/fs.scandir': 2.1.5 308 | fastq: 1.15.0 309 | dev: true 310 | 311 | /@swc/core-darwin-arm64/1.3.59: 312 | resolution: {integrity: sha512-AnqWFBgEKHP0jb4iZqx7eVQT9/rX45+DE4Ox7GpwCahUKxxrsDLyXzKhwLwQuAjUvtu5JcSB77szKpPGDM49fQ==} 313 | engines: {node: '>=10'} 314 | cpu: [arm64] 315 | os: [darwin] 316 | requiresBuild: true 317 | dev: true 318 | optional: true 319 | 320 | /@swc/core-darwin-x64/1.3.59: 321 | resolution: {integrity: sha512-iqDs+yii9mOsmpJez82SEi4d4prWDRlapHxKnDVJ0x1AqRo41vIq8t3fujrvCHYU5VQgOYGh4ooXQpaP2H3B2A==} 322 | engines: {node: '>=10'} 323 | cpu: [x64] 324 | os: [darwin] 325 | requiresBuild: true 326 | dev: true 327 | optional: true 328 | 329 | /@swc/core-linux-arm-gnueabihf/1.3.59: 330 | resolution: {integrity: sha512-PB0PP+SgkCSd/kYmltnPiGv42cOSaih1OjXCEjxvNwUFEmWqluW6uGdWaNiR1LoYMxhcHZTc336jL2+O3l6p0Q==} 331 | engines: {node: '>=10'} 332 | cpu: [arm] 333 | os: [linux] 334 | requiresBuild: true 335 | dev: true 336 | optional: true 337 | 338 | /@swc/core-linux-arm64-gnu/1.3.59: 339 | resolution: {integrity: sha512-Ol/JPszWZ+OZ44FOdJe35TfJ1ckG4pYaisZJ4E7PzfwfVe2ygX85C5WWR4e5L0Y1zFvzpcI7gdyC2wzcXk4Cig==} 340 | engines: {node: '>=10'} 341 | cpu: [arm64] 342 | os: [linux] 343 | requiresBuild: true 344 | dev: true 345 | optional: true 346 | 347 | /@swc/core-linux-arm64-musl/1.3.59: 348 | resolution: {integrity: sha512-PtTTtGbj9GiY5gJdoSFL2A0vL6BRaS1haAhp6g3hZvLDkTTg+rJURmzwBMMjaQlnGC62x/lLf6MoszHG/05//Q==} 349 | engines: {node: '>=10'} 350 | cpu: [arm64] 351 | os: [linux] 352 | requiresBuild: true 353 | dev: true 354 | optional: true 355 | 356 | /@swc/core-linux-x64-gnu/1.3.59: 357 | resolution: {integrity: sha512-XBW9AGi0YsIN76IfesnDSBn/5sjR69J75KUNte8sH6seYlHJ0/kblqUMbUcfr0CiGoJadbzAZeKZZmfN7EsHpg==} 358 | engines: {node: '>=10'} 359 | cpu: [x64] 360 | os: [linux] 361 | requiresBuild: true 362 | dev: true 363 | optional: true 364 | 365 | /@swc/core-linux-x64-musl/1.3.59: 366 | resolution: {integrity: sha512-Cy5E939SdWPQ34cg6UABNO0RyEe0FuWqzZ/GLKtK11Ir4fjttVlucZiY59uQNyUVUc8T2qE0VBFCyD/zYGuHtg==} 367 | engines: {node: '>=10'} 368 | cpu: [x64] 369 | os: [linux] 370 | requiresBuild: true 371 | dev: true 372 | optional: true 373 | 374 | /@swc/core-win32-arm64-msvc/1.3.59: 375 | resolution: {integrity: sha512-z5ZJxizRvRoSAaevRIi3YjQh74OFWEIhonSDWNdqDL7RbjEivcatYcG7OikH6s+rtPhOcwNm3PbGV2Prcgh/gg==} 376 | engines: {node: '>=10'} 377 | cpu: [arm64] 378 | os: [win32] 379 | requiresBuild: true 380 | dev: true 381 | optional: true 382 | 383 | /@swc/core-win32-ia32-msvc/1.3.59: 384 | resolution: {integrity: sha512-vxpsn+hrKAhi5YusQfB/JXUJJVX40rIRE/L49ilBEqdbH8Khkoego6AD+2vWqTdJcUHo1WiAIAEZ0rTsjyorLQ==} 385 | engines: {node: '>=10'} 386 | cpu: [ia32] 387 | os: [win32] 388 | requiresBuild: true 389 | dev: true 390 | optional: true 391 | 392 | /@swc/core-win32-x64-msvc/1.3.59: 393 | resolution: {integrity: sha512-Ris/cJbURylcLwqz4RZUUBCEGsuaIHOJsvf69W5pGKHKBryVoOTNhBKpo3Km2hoAi5qFQ/ou0trAT4hBsVPZvQ==} 394 | engines: {node: '>=10'} 395 | cpu: [x64] 396 | os: [win32] 397 | requiresBuild: true 398 | dev: true 399 | optional: true 400 | 401 | /@swc/core/1.3.59: 402 | resolution: {integrity: sha512-ZBw31zd2E5SXiodwGvjQdx5ZC90b2uyX/i2LeMMs8LKfXD86pfOfQac+JVrnyEKDhASXj9icgsF9NXBhaMr3Kw==} 403 | engines: {node: '>=10'} 404 | requiresBuild: true 405 | peerDependencies: 406 | '@swc/helpers': ^0.5.0 407 | peerDependenciesMeta: 408 | '@swc/helpers': 409 | optional: true 410 | optionalDependencies: 411 | '@swc/core-darwin-arm64': 1.3.59 412 | '@swc/core-darwin-x64': 1.3.59 413 | '@swc/core-linux-arm-gnueabihf': 1.3.59 414 | '@swc/core-linux-arm64-gnu': 1.3.59 415 | '@swc/core-linux-arm64-musl': 1.3.59 416 | '@swc/core-linux-x64-gnu': 1.3.59 417 | '@swc/core-linux-x64-musl': 1.3.59 418 | '@swc/core-win32-arm64-msvc': 1.3.59 419 | '@swc/core-win32-ia32-msvc': 1.3.59 420 | '@swc/core-win32-x64-msvc': 1.3.59 421 | dev: true 422 | 423 | /@types/json-schema/7.0.11: 424 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 425 | dev: true 426 | 427 | /@types/prop-types/15.7.5: 428 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 429 | dev: true 430 | 431 | /@types/react-dom/18.2.4: 432 | resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==} 433 | dependencies: 434 | '@types/react': 18.2.6 435 | dev: true 436 | 437 | /@types/react/18.2.6: 438 | resolution: {integrity: sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==} 439 | dependencies: 440 | '@types/prop-types': 15.7.5 441 | '@types/scheduler': 0.16.3 442 | csstype: 3.1.2 443 | dev: true 444 | 445 | /@types/scheduler/0.16.3: 446 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} 447 | dev: true 448 | 449 | /@types/semver/7.5.0: 450 | resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} 451 | dev: true 452 | 453 | /@typescript-eslint/eslint-plugin/5.59.6_qajzm5xpii3p3sw5qvmsvgyhli: 454 | resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==} 455 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 456 | peerDependencies: 457 | '@typescript-eslint/parser': ^5.0.0 458 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 459 | typescript: '*' 460 | peerDependenciesMeta: 461 | typescript: 462 | optional: true 463 | dependencies: 464 | '@eslint-community/regexpp': 4.5.1 465 | '@typescript-eslint/parser': 5.59.6_opaykosi7ysrbskpnffskmbrki 466 | '@typescript-eslint/scope-manager': 5.59.6 467 | '@typescript-eslint/type-utils': 5.59.6_opaykosi7ysrbskpnffskmbrki 468 | '@typescript-eslint/utils': 5.59.6_opaykosi7ysrbskpnffskmbrki 469 | debug: 4.3.4 470 | eslint: 8.41.0 471 | grapheme-splitter: 1.0.4 472 | ignore: 5.2.4 473 | natural-compare-lite: 1.4.0 474 | semver: 7.5.1 475 | tsutils: 3.21.0_typescript@5.0.4 476 | typescript: 5.0.4 477 | transitivePeerDependencies: 478 | - supports-color 479 | dev: true 480 | 481 | /@typescript-eslint/parser/5.59.6_opaykosi7ysrbskpnffskmbrki: 482 | resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==} 483 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 484 | peerDependencies: 485 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 486 | typescript: '*' 487 | peerDependenciesMeta: 488 | typescript: 489 | optional: true 490 | dependencies: 491 | '@typescript-eslint/scope-manager': 5.59.6 492 | '@typescript-eslint/types': 5.59.6 493 | '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 494 | debug: 4.3.4 495 | eslint: 8.41.0 496 | typescript: 5.0.4 497 | transitivePeerDependencies: 498 | - supports-color 499 | dev: true 500 | 501 | /@typescript-eslint/scope-manager/5.59.6: 502 | resolution: {integrity: sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==} 503 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 504 | dependencies: 505 | '@typescript-eslint/types': 5.59.6 506 | '@typescript-eslint/visitor-keys': 5.59.6 507 | dev: true 508 | 509 | /@typescript-eslint/type-utils/5.59.6_opaykosi7ysrbskpnffskmbrki: 510 | resolution: {integrity: sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==} 511 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 512 | peerDependencies: 513 | eslint: '*' 514 | typescript: '*' 515 | peerDependenciesMeta: 516 | typescript: 517 | optional: true 518 | dependencies: 519 | '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 520 | '@typescript-eslint/utils': 5.59.6_opaykosi7ysrbskpnffskmbrki 521 | debug: 4.3.4 522 | eslint: 8.41.0 523 | tsutils: 3.21.0_typescript@5.0.4 524 | typescript: 5.0.4 525 | transitivePeerDependencies: 526 | - supports-color 527 | dev: true 528 | 529 | /@typescript-eslint/types/5.59.6: 530 | resolution: {integrity: sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==} 531 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 532 | dev: true 533 | 534 | /@typescript-eslint/typescript-estree/5.59.6_typescript@5.0.4: 535 | resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==} 536 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 537 | peerDependencies: 538 | typescript: '*' 539 | peerDependenciesMeta: 540 | typescript: 541 | optional: true 542 | dependencies: 543 | '@typescript-eslint/types': 5.59.6 544 | '@typescript-eslint/visitor-keys': 5.59.6 545 | debug: 4.3.4 546 | globby: 11.1.0 547 | is-glob: 4.0.3 548 | semver: 7.5.1 549 | tsutils: 3.21.0_typescript@5.0.4 550 | typescript: 5.0.4 551 | transitivePeerDependencies: 552 | - supports-color 553 | dev: true 554 | 555 | /@typescript-eslint/utils/5.59.6_opaykosi7ysrbskpnffskmbrki: 556 | resolution: {integrity: sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==} 557 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 558 | peerDependencies: 559 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 560 | dependencies: 561 | '@eslint-community/eslint-utils': 4.4.0_eslint@8.41.0 562 | '@types/json-schema': 7.0.11 563 | '@types/semver': 7.5.0 564 | '@typescript-eslint/scope-manager': 5.59.6 565 | '@typescript-eslint/types': 5.59.6 566 | '@typescript-eslint/typescript-estree': 5.59.6_typescript@5.0.4 567 | eslint: 8.41.0 568 | eslint-scope: 5.1.1 569 | semver: 7.5.1 570 | transitivePeerDependencies: 571 | - supports-color 572 | - typescript 573 | dev: true 574 | 575 | /@typescript-eslint/visitor-keys/5.59.6: 576 | resolution: {integrity: sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==} 577 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 578 | dependencies: 579 | '@typescript-eslint/types': 5.59.6 580 | eslint-visitor-keys: 3.4.1 581 | dev: true 582 | 583 | /@vitejs/plugin-react-swc/3.3.1_vite@4.3.8: 584 | resolution: {integrity: sha512-ZoYjGxMniXP7X+5ry/W1tpY7w0OeLUEsBF5RHFPmAhpgwwNWie8OF4056MRXRi9QgvYYoZPDzdOXGK3wlCoTfQ==} 585 | peerDependencies: 586 | vite: ^4 587 | dependencies: 588 | '@swc/core': 1.3.59 589 | vite: 4.3.8 590 | transitivePeerDependencies: 591 | - '@swc/helpers' 592 | dev: true 593 | 594 | /acorn-jsx/5.3.2_acorn@8.8.2: 595 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 596 | peerDependencies: 597 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 598 | dependencies: 599 | acorn: 8.8.2 600 | dev: true 601 | 602 | /acorn/8.8.2: 603 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 604 | engines: {node: '>=0.4.0'} 605 | hasBin: true 606 | dev: true 607 | 608 | /ajv/6.12.6: 609 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 610 | dependencies: 611 | fast-deep-equal: 3.1.3 612 | fast-json-stable-stringify: 2.1.0 613 | json-schema-traverse: 0.4.1 614 | uri-js: 4.4.1 615 | dev: true 616 | 617 | /ansi-regex/5.0.1: 618 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 619 | engines: {node: '>=8'} 620 | dev: true 621 | 622 | /ansi-styles/4.3.0: 623 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 624 | engines: {node: '>=8'} 625 | dependencies: 626 | color-convert: 2.0.1 627 | dev: true 628 | 629 | /argparse/2.0.1: 630 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 631 | dev: true 632 | 633 | /array-union/2.1.0: 634 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 635 | engines: {node: '>=8'} 636 | dev: true 637 | 638 | /balanced-match/1.0.2: 639 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 640 | dev: true 641 | 642 | /brace-expansion/1.1.11: 643 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 644 | dependencies: 645 | balanced-match: 1.0.2 646 | concat-map: 0.0.1 647 | dev: true 648 | 649 | /braces/3.0.2: 650 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 651 | engines: {node: '>=8'} 652 | dependencies: 653 | fill-range: 7.0.1 654 | dev: true 655 | 656 | /callsites/3.1.0: 657 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 658 | engines: {node: '>=6'} 659 | dev: true 660 | 661 | /chalk/4.1.2: 662 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 663 | engines: {node: '>=10'} 664 | dependencies: 665 | ansi-styles: 4.3.0 666 | supports-color: 7.2.0 667 | dev: true 668 | 669 | /color-convert/2.0.1: 670 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 671 | engines: {node: '>=7.0.0'} 672 | dependencies: 673 | color-name: 1.1.4 674 | dev: true 675 | 676 | /color-name/1.1.4: 677 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 678 | dev: true 679 | 680 | /concat-map/0.0.1: 681 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 682 | dev: true 683 | 684 | /cross-spawn/7.0.3: 685 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 686 | engines: {node: '>= 8'} 687 | dependencies: 688 | path-key: 3.1.1 689 | shebang-command: 2.0.0 690 | which: 2.0.2 691 | dev: true 692 | 693 | /csstype/3.1.2: 694 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} 695 | dev: true 696 | 697 | /debug/4.3.4: 698 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 699 | engines: {node: '>=6.0'} 700 | peerDependencies: 701 | supports-color: '*' 702 | peerDependenciesMeta: 703 | supports-color: 704 | optional: true 705 | dependencies: 706 | ms: 2.1.2 707 | dev: true 708 | 709 | /deep-is/0.1.4: 710 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 711 | dev: true 712 | 713 | /dir-glob/3.0.1: 714 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 715 | engines: {node: '>=8'} 716 | dependencies: 717 | path-type: 4.0.0 718 | dev: true 719 | 720 | /doctrine/3.0.0: 721 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 722 | engines: {node: '>=6.0.0'} 723 | dependencies: 724 | esutils: 2.0.3 725 | dev: true 726 | 727 | /esbuild/0.17.19: 728 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 729 | engines: {node: '>=12'} 730 | hasBin: true 731 | requiresBuild: true 732 | optionalDependencies: 733 | '@esbuild/android-arm': 0.17.19 734 | '@esbuild/android-arm64': 0.17.19 735 | '@esbuild/android-x64': 0.17.19 736 | '@esbuild/darwin-arm64': 0.17.19 737 | '@esbuild/darwin-x64': 0.17.19 738 | '@esbuild/freebsd-arm64': 0.17.19 739 | '@esbuild/freebsd-x64': 0.17.19 740 | '@esbuild/linux-arm': 0.17.19 741 | '@esbuild/linux-arm64': 0.17.19 742 | '@esbuild/linux-ia32': 0.17.19 743 | '@esbuild/linux-loong64': 0.17.19 744 | '@esbuild/linux-mips64el': 0.17.19 745 | '@esbuild/linux-ppc64': 0.17.19 746 | '@esbuild/linux-riscv64': 0.17.19 747 | '@esbuild/linux-s390x': 0.17.19 748 | '@esbuild/linux-x64': 0.17.19 749 | '@esbuild/netbsd-x64': 0.17.19 750 | '@esbuild/openbsd-x64': 0.17.19 751 | '@esbuild/sunos-x64': 0.17.19 752 | '@esbuild/win32-arm64': 0.17.19 753 | '@esbuild/win32-ia32': 0.17.19 754 | '@esbuild/win32-x64': 0.17.19 755 | dev: true 756 | 757 | /escape-string-regexp/4.0.0: 758 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 759 | engines: {node: '>=10'} 760 | dev: true 761 | 762 | /eslint-plugin-react-hooks/4.6.0_eslint@8.41.0: 763 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 764 | engines: {node: '>=10'} 765 | peerDependencies: 766 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 767 | dependencies: 768 | eslint: 8.41.0 769 | dev: true 770 | 771 | /eslint-plugin-react-refresh/0.3.5_eslint@8.41.0: 772 | resolution: {integrity: sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==} 773 | peerDependencies: 774 | eslint: '>=7' 775 | dependencies: 776 | eslint: 8.41.0 777 | dev: true 778 | 779 | /eslint-scope/5.1.1: 780 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 781 | engines: {node: '>=8.0.0'} 782 | dependencies: 783 | esrecurse: 4.3.0 784 | estraverse: 4.3.0 785 | dev: true 786 | 787 | /eslint-scope/7.2.0: 788 | resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} 789 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 790 | dependencies: 791 | esrecurse: 4.3.0 792 | estraverse: 5.3.0 793 | dev: true 794 | 795 | /eslint-visitor-keys/3.4.1: 796 | resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} 797 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 798 | dev: true 799 | 800 | /eslint/8.41.0: 801 | resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} 802 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 803 | hasBin: true 804 | dependencies: 805 | '@eslint-community/eslint-utils': 4.4.0_eslint@8.41.0 806 | '@eslint-community/regexpp': 4.5.1 807 | '@eslint/eslintrc': 2.0.3 808 | '@eslint/js': 8.41.0 809 | '@humanwhocodes/config-array': 0.11.8 810 | '@humanwhocodes/module-importer': 1.0.1 811 | '@nodelib/fs.walk': 1.2.8 812 | ajv: 6.12.6 813 | chalk: 4.1.2 814 | cross-spawn: 7.0.3 815 | debug: 4.3.4 816 | doctrine: 3.0.0 817 | escape-string-regexp: 4.0.0 818 | eslint-scope: 7.2.0 819 | eslint-visitor-keys: 3.4.1 820 | espree: 9.5.2 821 | esquery: 1.5.0 822 | esutils: 2.0.3 823 | fast-deep-equal: 3.1.3 824 | file-entry-cache: 6.0.1 825 | find-up: 5.0.0 826 | glob-parent: 6.0.2 827 | globals: 13.20.0 828 | graphemer: 1.4.0 829 | ignore: 5.2.4 830 | import-fresh: 3.3.0 831 | imurmurhash: 0.1.4 832 | is-glob: 4.0.3 833 | is-path-inside: 3.0.3 834 | js-yaml: 4.1.0 835 | json-stable-stringify-without-jsonify: 1.0.1 836 | levn: 0.4.1 837 | lodash.merge: 4.6.2 838 | minimatch: 3.1.2 839 | natural-compare: 1.4.0 840 | optionator: 0.9.1 841 | strip-ansi: 6.0.1 842 | strip-json-comments: 3.1.1 843 | text-table: 0.2.0 844 | transitivePeerDependencies: 845 | - supports-color 846 | dev: true 847 | 848 | /espree/9.5.2: 849 | resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} 850 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 851 | dependencies: 852 | acorn: 8.8.2 853 | acorn-jsx: 5.3.2_acorn@8.8.2 854 | eslint-visitor-keys: 3.4.1 855 | dev: true 856 | 857 | /esquery/1.5.0: 858 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 859 | engines: {node: '>=0.10'} 860 | dependencies: 861 | estraverse: 5.3.0 862 | dev: true 863 | 864 | /esrecurse/4.3.0: 865 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 866 | engines: {node: '>=4.0'} 867 | dependencies: 868 | estraverse: 5.3.0 869 | dev: true 870 | 871 | /estraverse/4.3.0: 872 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 873 | engines: {node: '>=4.0'} 874 | dev: true 875 | 876 | /estraverse/5.3.0: 877 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 878 | engines: {node: '>=4.0'} 879 | dev: true 880 | 881 | /esutils/2.0.3: 882 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 883 | engines: {node: '>=0.10.0'} 884 | dev: true 885 | 886 | /fast-deep-equal/3.1.3: 887 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 888 | dev: true 889 | 890 | /fast-glob/3.2.12: 891 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 892 | engines: {node: '>=8.6.0'} 893 | dependencies: 894 | '@nodelib/fs.stat': 2.0.5 895 | '@nodelib/fs.walk': 1.2.8 896 | glob-parent: 5.1.2 897 | merge2: 1.4.1 898 | micromatch: 4.0.5 899 | dev: true 900 | 901 | /fast-json-stable-stringify/2.1.0: 902 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 903 | dev: true 904 | 905 | /fast-levenshtein/2.0.6: 906 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 907 | dev: true 908 | 909 | /fastq/1.15.0: 910 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 911 | dependencies: 912 | reusify: 1.0.4 913 | dev: true 914 | 915 | /file-entry-cache/6.0.1: 916 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 917 | engines: {node: ^10.12.0 || >=12.0.0} 918 | dependencies: 919 | flat-cache: 3.0.4 920 | dev: true 921 | 922 | /fill-range/7.0.1: 923 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 924 | engines: {node: '>=8'} 925 | dependencies: 926 | to-regex-range: 5.0.1 927 | dev: true 928 | 929 | /find-up/5.0.0: 930 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 931 | engines: {node: '>=10'} 932 | dependencies: 933 | locate-path: 6.0.0 934 | path-exists: 4.0.0 935 | dev: true 936 | 937 | /flat-cache/3.0.4: 938 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 939 | engines: {node: ^10.12.0 || >=12.0.0} 940 | dependencies: 941 | flatted: 3.2.7 942 | rimraf: 3.0.2 943 | dev: true 944 | 945 | /flatted/3.2.7: 946 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 947 | dev: true 948 | 949 | /fs.realpath/1.0.0: 950 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 951 | dev: true 952 | 953 | /fsevents/2.3.2: 954 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 955 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 956 | os: [darwin] 957 | requiresBuild: true 958 | dev: true 959 | optional: true 960 | 961 | /glob-parent/5.1.2: 962 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 963 | engines: {node: '>= 6'} 964 | dependencies: 965 | is-glob: 4.0.3 966 | dev: true 967 | 968 | /glob-parent/6.0.2: 969 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 970 | engines: {node: '>=10.13.0'} 971 | dependencies: 972 | is-glob: 4.0.3 973 | dev: true 974 | 975 | /glob/7.2.3: 976 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 977 | dependencies: 978 | fs.realpath: 1.0.0 979 | inflight: 1.0.6 980 | inherits: 2.0.4 981 | minimatch: 3.1.2 982 | once: 1.4.0 983 | path-is-absolute: 1.0.1 984 | dev: true 985 | 986 | /globals/13.20.0: 987 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 988 | engines: {node: '>=8'} 989 | dependencies: 990 | type-fest: 0.20.2 991 | dev: true 992 | 993 | /globby/11.1.0: 994 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 995 | engines: {node: '>=10'} 996 | dependencies: 997 | array-union: 2.1.0 998 | dir-glob: 3.0.1 999 | fast-glob: 3.2.12 1000 | ignore: 5.2.4 1001 | merge2: 1.4.1 1002 | slash: 3.0.0 1003 | dev: true 1004 | 1005 | /grapheme-splitter/1.0.4: 1006 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1007 | dev: true 1008 | 1009 | /graphemer/1.4.0: 1010 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1011 | dev: true 1012 | 1013 | /has-flag/4.0.0: 1014 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1015 | engines: {node: '>=8'} 1016 | dev: true 1017 | 1018 | /ignore/5.2.4: 1019 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1020 | engines: {node: '>= 4'} 1021 | dev: true 1022 | 1023 | /import-fresh/3.3.0: 1024 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1025 | engines: {node: '>=6'} 1026 | dependencies: 1027 | parent-module: 1.0.1 1028 | resolve-from: 4.0.0 1029 | dev: true 1030 | 1031 | /imurmurhash/0.1.4: 1032 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1033 | engines: {node: '>=0.8.19'} 1034 | dev: true 1035 | 1036 | /inflight/1.0.6: 1037 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1038 | dependencies: 1039 | once: 1.4.0 1040 | wrappy: 1.0.2 1041 | dev: true 1042 | 1043 | /inherits/2.0.4: 1044 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1045 | dev: true 1046 | 1047 | /is-extglob/2.1.1: 1048 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1049 | engines: {node: '>=0.10.0'} 1050 | dev: true 1051 | 1052 | /is-glob/4.0.3: 1053 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1054 | engines: {node: '>=0.10.0'} 1055 | dependencies: 1056 | is-extglob: 2.1.1 1057 | dev: true 1058 | 1059 | /is-number/7.0.0: 1060 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1061 | engines: {node: '>=0.12.0'} 1062 | dev: true 1063 | 1064 | /is-path-inside/3.0.3: 1065 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1066 | engines: {node: '>=8'} 1067 | dev: true 1068 | 1069 | /isexe/2.0.0: 1070 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1071 | dev: true 1072 | 1073 | /js-tokens/4.0.0: 1074 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1075 | dev: false 1076 | 1077 | /js-yaml/4.1.0: 1078 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1079 | hasBin: true 1080 | dependencies: 1081 | argparse: 2.0.1 1082 | dev: true 1083 | 1084 | /json-schema-traverse/0.4.1: 1085 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1086 | dev: true 1087 | 1088 | /json-stable-stringify-without-jsonify/1.0.1: 1089 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1090 | dev: true 1091 | 1092 | /levn/0.4.1: 1093 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1094 | engines: {node: '>= 0.8.0'} 1095 | dependencies: 1096 | prelude-ls: 1.2.1 1097 | type-check: 0.4.0 1098 | dev: true 1099 | 1100 | /locate-path/6.0.0: 1101 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1102 | engines: {node: '>=10'} 1103 | dependencies: 1104 | p-locate: 5.0.0 1105 | dev: true 1106 | 1107 | /lodash.merge/4.6.2: 1108 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1109 | dev: true 1110 | 1111 | /loose-envify/1.4.0: 1112 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1113 | hasBin: true 1114 | dependencies: 1115 | js-tokens: 4.0.0 1116 | dev: false 1117 | 1118 | /lru-cache/6.0.0: 1119 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1120 | engines: {node: '>=10'} 1121 | dependencies: 1122 | yallist: 4.0.0 1123 | dev: true 1124 | 1125 | /merge2/1.4.1: 1126 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1127 | engines: {node: '>= 8'} 1128 | dev: true 1129 | 1130 | /micromatch/4.0.5: 1131 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1132 | engines: {node: '>=8.6'} 1133 | dependencies: 1134 | braces: 3.0.2 1135 | picomatch: 2.3.1 1136 | dev: true 1137 | 1138 | /minimatch/3.1.2: 1139 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1140 | dependencies: 1141 | brace-expansion: 1.1.11 1142 | dev: true 1143 | 1144 | /ms/2.1.2: 1145 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1146 | dev: true 1147 | 1148 | /nanoid/3.3.6: 1149 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1150 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1151 | hasBin: true 1152 | dev: true 1153 | 1154 | /natural-compare-lite/1.4.0: 1155 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 1156 | dev: true 1157 | 1158 | /natural-compare/1.4.0: 1159 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1160 | dev: true 1161 | 1162 | /once/1.4.0: 1163 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1164 | dependencies: 1165 | wrappy: 1.0.2 1166 | dev: true 1167 | 1168 | /optionator/0.9.1: 1169 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1170 | engines: {node: '>= 0.8.0'} 1171 | dependencies: 1172 | deep-is: 0.1.4 1173 | fast-levenshtein: 2.0.6 1174 | levn: 0.4.1 1175 | prelude-ls: 1.2.1 1176 | type-check: 0.4.0 1177 | word-wrap: 1.2.3 1178 | dev: true 1179 | 1180 | /p-limit/3.1.0: 1181 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1182 | engines: {node: '>=10'} 1183 | dependencies: 1184 | yocto-queue: 0.1.0 1185 | dev: true 1186 | 1187 | /p-locate/5.0.0: 1188 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1189 | engines: {node: '>=10'} 1190 | dependencies: 1191 | p-limit: 3.1.0 1192 | dev: true 1193 | 1194 | /parent-module/1.0.1: 1195 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1196 | engines: {node: '>=6'} 1197 | dependencies: 1198 | callsites: 3.1.0 1199 | dev: true 1200 | 1201 | /path-exists/4.0.0: 1202 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1203 | engines: {node: '>=8'} 1204 | dev: true 1205 | 1206 | /path-is-absolute/1.0.1: 1207 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1208 | engines: {node: '>=0.10.0'} 1209 | dev: true 1210 | 1211 | /path-key/3.1.1: 1212 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1213 | engines: {node: '>=8'} 1214 | dev: true 1215 | 1216 | /path-type/4.0.0: 1217 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1218 | engines: {node: '>=8'} 1219 | dev: true 1220 | 1221 | /picocolors/1.0.0: 1222 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1223 | dev: true 1224 | 1225 | /picomatch/2.3.1: 1226 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1227 | engines: {node: '>=8.6'} 1228 | dev: true 1229 | 1230 | /postcss/8.4.23: 1231 | resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} 1232 | engines: {node: ^10 || ^12 || >=14} 1233 | dependencies: 1234 | nanoid: 3.3.6 1235 | picocolors: 1.0.0 1236 | source-map-js: 1.0.2 1237 | dev: true 1238 | 1239 | /prelude-ls/1.2.1: 1240 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1241 | engines: {node: '>= 0.8.0'} 1242 | dev: true 1243 | 1244 | /punycode/2.3.0: 1245 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1246 | engines: {node: '>=6'} 1247 | dev: true 1248 | 1249 | /queue-microtask/1.2.3: 1250 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1251 | dev: true 1252 | 1253 | /react-dom/18.2.0_react@18.2.0: 1254 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 1255 | peerDependencies: 1256 | react: ^18.2.0 1257 | dependencies: 1258 | loose-envify: 1.4.0 1259 | react: 18.2.0 1260 | scheduler: 0.23.0 1261 | dev: false 1262 | 1263 | /react/18.2.0: 1264 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 1265 | engines: {node: '>=0.10.0'} 1266 | dependencies: 1267 | loose-envify: 1.4.0 1268 | dev: false 1269 | 1270 | /resolve-from/4.0.0: 1271 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1272 | engines: {node: '>=4'} 1273 | dev: true 1274 | 1275 | /reusify/1.0.4: 1276 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1277 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1278 | dev: true 1279 | 1280 | /rimraf/3.0.2: 1281 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1282 | hasBin: true 1283 | dependencies: 1284 | glob: 7.2.3 1285 | dev: true 1286 | 1287 | /rollup/3.22.0: 1288 | resolution: {integrity: sha512-imsigcWor5Y/dC0rz2q0bBt9PabcL3TORry2hAa6O6BuMvY71bqHyfReAz5qyAqiQATD1m70qdntqBfBQjVWpQ==} 1289 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1290 | hasBin: true 1291 | optionalDependencies: 1292 | fsevents: 2.3.2 1293 | dev: true 1294 | 1295 | /run-parallel/1.2.0: 1296 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1297 | dependencies: 1298 | queue-microtask: 1.2.3 1299 | dev: true 1300 | 1301 | /scheduler/0.23.0: 1302 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 1303 | dependencies: 1304 | loose-envify: 1.4.0 1305 | dev: false 1306 | 1307 | /semver/7.5.1: 1308 | resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} 1309 | engines: {node: '>=10'} 1310 | hasBin: true 1311 | dependencies: 1312 | lru-cache: 6.0.0 1313 | dev: true 1314 | 1315 | /shebang-command/2.0.0: 1316 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1317 | engines: {node: '>=8'} 1318 | dependencies: 1319 | shebang-regex: 3.0.0 1320 | dev: true 1321 | 1322 | /shebang-regex/3.0.0: 1323 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1324 | engines: {node: '>=8'} 1325 | dev: true 1326 | 1327 | /slash/3.0.0: 1328 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1329 | engines: {node: '>=8'} 1330 | dev: true 1331 | 1332 | /source-map-js/1.0.2: 1333 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1334 | engines: {node: '>=0.10.0'} 1335 | dev: true 1336 | 1337 | /strip-ansi/6.0.1: 1338 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1339 | engines: {node: '>=8'} 1340 | dependencies: 1341 | ansi-regex: 5.0.1 1342 | dev: true 1343 | 1344 | /strip-json-comments/3.1.1: 1345 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1346 | engines: {node: '>=8'} 1347 | dev: true 1348 | 1349 | /supports-color/7.2.0: 1350 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1351 | engines: {node: '>=8'} 1352 | dependencies: 1353 | has-flag: 4.0.0 1354 | dev: true 1355 | 1356 | /text-table/0.2.0: 1357 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1358 | dev: true 1359 | 1360 | /to-regex-range/5.0.1: 1361 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1362 | engines: {node: '>=8.0'} 1363 | dependencies: 1364 | is-number: 7.0.0 1365 | dev: true 1366 | 1367 | /tslib/1.14.1: 1368 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1369 | dev: true 1370 | 1371 | /tsutils/3.21.0_typescript@5.0.4: 1372 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 1373 | engines: {node: '>= 6'} 1374 | peerDependencies: 1375 | 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' 1376 | dependencies: 1377 | tslib: 1.14.1 1378 | typescript: 5.0.4 1379 | dev: true 1380 | 1381 | /type-check/0.4.0: 1382 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1383 | engines: {node: '>= 0.8.0'} 1384 | dependencies: 1385 | prelude-ls: 1.2.1 1386 | dev: true 1387 | 1388 | /type-fest/0.20.2: 1389 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1390 | engines: {node: '>=10'} 1391 | dev: true 1392 | 1393 | /typescript/5.0.4: 1394 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 1395 | engines: {node: '>=12.20'} 1396 | hasBin: true 1397 | dev: true 1398 | 1399 | /uri-js/4.4.1: 1400 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1401 | dependencies: 1402 | punycode: 2.3.0 1403 | dev: true 1404 | 1405 | /vite/4.3.8: 1406 | resolution: {integrity: sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==} 1407 | engines: {node: ^14.18.0 || >=16.0.0} 1408 | hasBin: true 1409 | peerDependencies: 1410 | '@types/node': '>= 14' 1411 | less: '*' 1412 | sass: '*' 1413 | stylus: '*' 1414 | sugarss: '*' 1415 | terser: ^5.4.0 1416 | peerDependenciesMeta: 1417 | '@types/node': 1418 | optional: true 1419 | less: 1420 | optional: true 1421 | sass: 1422 | optional: true 1423 | stylus: 1424 | optional: true 1425 | sugarss: 1426 | optional: true 1427 | terser: 1428 | optional: true 1429 | dependencies: 1430 | esbuild: 0.17.19 1431 | postcss: 8.4.23 1432 | rollup: 3.22.0 1433 | optionalDependencies: 1434 | fsevents: 2.3.2 1435 | dev: true 1436 | 1437 | /which/2.0.2: 1438 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1439 | engines: {node: '>= 8'} 1440 | hasBin: true 1441 | dependencies: 1442 | isexe: 2.0.0 1443 | dev: true 1444 | 1445 | /word-wrap/1.2.3: 1446 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 1447 | engines: {node: '>=0.10.0'} 1448 | dev: true 1449 | 1450 | /wrappy/1.0.2: 1451 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1452 | dev: true 1453 | 1454 | /yallist/4.0.0: 1455 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1456 | dev: true 1457 | 1458 | /yocto-queue/0.1.0: 1459 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1460 | engines: {node: '>=10'} 1461 | dev: true 1462 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | main { 2 | width: 75%; 3 | display: flex; 4 | flex-direction: column; 5 | align-items: center; 6 | gap: 2.5rem; 7 | top: 50%; 8 | left: 50%; 9 | translate: -50% -50%; 10 | position: absolute; 11 | } 12 | 13 | .hero-top { 14 | display: flex; 15 | align-items: center; 16 | gap: 50px; 17 | } 18 | 19 | .description { 20 | font-size: 1.5rem; 21 | line-height: 2rem; 22 | text-align: center; 23 | width: 100%; 24 | } 25 | 26 | .card-list { 27 | display: grid; 28 | grid-template-columns: repeat(2, minmax(0, 1fr)); 29 | gap: 15px; 30 | } 31 | 32 | .card { 33 | list-style: none; 34 | } 35 | 36 | .card > a { 37 | color: white; 38 | box-sizing: border-box; 39 | height: 100%; 40 | display: flex; 41 | flex-direction: column; 42 | text-decoration: none; 43 | border-radius: 1.5rem; 44 | border: 0.85px solid #313538; 45 | gap: 15px; 46 | padding: 2rem 1.25rem; 47 | } 48 | 49 | .card-top-row { 50 | gap: 15px; 51 | display: flex; 52 | align-items: start; 53 | } 54 | 55 | .card h2 { 56 | font-size: 1.25rem; 57 | line-height: 2rem; 58 | font-weight: 700; 59 | margin: 0; 60 | color: white; 61 | } 62 | 63 | .card p { 64 | text-align: start; 65 | font-size: 16px; 66 | line-height: 1.5rem; 67 | color: #9ca3af; 68 | margin: 0; 69 | } 70 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import reactLogo from './assets/react.svg' 2 | import fleekLogo from './assets/fleekLogo.svg' 3 | import fleekMark from './assets/fleekMark.svg' 4 | import plusIcon from './assets/plus.svg' 5 | import viteLogo from './assets/vite.svg' 6 | 7 | import './App.css' 8 | 9 | function App() { 10 | return ( 11 |
12 |
13 | 14 | 15 | 16 |
17 |

18 | This is a template for creating a React site build it with Vite and deploying it on Fleek. 19 |

20 | 53 |
54 | ) 55 | } 56 | 57 | type CardProps = { 58 | title: string; 59 | body: string; 60 | href: string; 61 | icon: string; 62 | width: number; 63 | } 64 | 65 | function Card({ title, width, body, href, icon }: CardProps) { 66 | return ( 67 |
  • 68 | 69 |
    70 | card-icon 75 |

    76 | {title} 77 |

    78 |
    79 |

    80 | {body} 81 |

    82 |
    83 |
  • 84 | ) 85 | } 86 | 87 | export default App 88 | -------------------------------------------------------------------------------- /src/assets/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #000000; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | 17 | a { 18 | font-weight: 500; 19 | color: #646cff; 20 | text-decoration: inherit; 21 | } 22 | a:hover { 23 | color: #535bf2; 24 | } 25 | 26 | body { 27 | margin: 0; 28 | display: flex; 29 | place-items: center; 30 | min-width: 320px; 31 | min-height: 100vh; 32 | } 33 | 34 | h1 { 35 | font-size: 3.2em; 36 | line-height: 1.1; 37 | } 38 | 39 | button { 40 | border-radius: 8px; 41 | border: 1px solid transparent; 42 | padding: 0.6em 1.2em; 43 | font-size: 1em; 44 | font-weight: 500; 45 | font-family: inherit; 46 | background-color: #1a1a1a; 47 | cursor: pointer; 48 | transition: border-color 0.25s; 49 | } 50 | button:hover { 51 | border-color: #646cff; 52 | } 53 | button:focus, 54 | button:focus-visible { 55 | outline: 4px auto -webkit-focus-ring-color; 56 | } 57 | 58 | @media (prefers-color-scheme: light) { 59 | :root { 60 | color: #213547; 61 | background-color: #ffffff; 62 | } 63 | a:hover { 64 | color: #747bff; 65 | } 66 | button { 67 | background-color: #f9f9f9; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App.tsx' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "module": "ESNext", 6 | "skipLibCheck": true, 7 | 8 | /* Bundler mode */ 9 | "moduleResolution": "bundler", 10 | "allowImportingTsExtensions": true, 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "noEmit": true, 14 | "jsx": "react-jsx", 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true 21 | }, 22 | "include": ["src"], 23 | "references": [{ "path": "./tsconfig.node.json" }] 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": ["vite.config.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react-swc' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | base: "./", 8 | }) 9 | --------------------------------------------------------------------------------