diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..fafd30d --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,22 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + ], + ignorePatterns: ["dist", ".eslintrc.cjs"], + parserOptions: { ecmaVersion: "latest", sourceType: "module" }, + settings: { react: { version: "18.2" } }, + plugins: ["react-refresh"], + rules: { + "react/jsx-no-target-blank": "off", + "react-refresh/only-export-components": [ + "warn", + { allowConstantExport: true }, + ], + "react/prop-types": "off", + }, +}; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 0441f87..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": [ - "eslint:recommended", - "next/core-web-vitals" - ], - "rules": { - "eqeqeq": "error", - "no-unused-expressions": "warn", - "react/button-has-type": "error", - "react/no-danger": "warn", - "react/no-unstable-nested-components": "error", - "react/self-closing-comp": "warn" - } -} \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index d47dbbc..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,9 +0,0 @@ -## Summary - -## Test Plan - -## Issue(s) -Closes # - - -## Future Followup \ No newline at end of file diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml deleted file mode 100644 index e154e66..0000000 --- a/.github/workflows/deploy-preview.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Deploy Preview - -on: - pull_request: - -permissions: - contents: read - pull-requests: write - -jobs: - Site: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: amondnet/vercel-action@v25 - with: - vercel-version: 32.6.1 - github-comment: | - - - - - - - - - - - - - -
NameVenusHacks 2024
PreviewVisit Preview
Commit{{deploymentCommit}}
- github-token: ${{ secrets.GITHUB_TOKEN }} - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_SITE}} diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml deleted file mode 100644 index 3b806c4..0000000 --- a/.github/workflows/deploy-prod.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Deploy Production - -on: - workflow_run: - workflows: - - Run Checks - types: - - completed - branches: - - main - -permissions: - contents: read - pull-requests: write - -jobs: - Site: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: amondnet/vercel-action@v25 - with: - vercel-version: 32.6.1 - github-comment: false - vercel-args: "--prod" - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_SITE}} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 90c3295..c483cde 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,8 +29,8 @@ jobs: with: static_site_generator: next - - name: build nextjs - run: npx next build + - name: build vite + run: npx vite build env: NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES: ${{ secrets.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES }} NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE: ${{ secrets.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE }} @@ -39,7 +39,7 @@ jobs: - name: upload uses: actions/upload-pages-artifact@v3 with: - path: ./out + path: ./dist deploy: environment: diff --git a/.gitignore b/.gitignore index 755d85b..251ce6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,23 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# nextjs/ts -.next -dist/ -next-env.d.ts -*.tsbuildinfo - -# vercel -.vercel - -# dependencies -/node_modules -/.pnp -.pnp.js -.pnp.* - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -*.pem -.env.local -.env.development.local -.env.test.local -.env.production.local -.vs - +# Logs +logs +*.log npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 574f0a7..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,7 +0,0 @@ -echo "!| Starting husky..." - -echo "!| Lint-staged with eslint..." -npx lint-staged -git update-index --again - -echo "!| Husky ran successfully" diff --git a/README.md b/README.md index 342a5bc..3cb030b 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ # VenusHacks Website + Planned in collaboration with [WICS](https://wics.ics.uci.edu/) and [Hack at UCI](https://hack.ics.uci.edu/), VenusHacks is UCI’s largest women-centric hackathon! image ## Mission -Our mission is to empower underrepresented groups by providing an inclusive community to foster growth and creativity in computing. + +Our mission is to empower underrepresented groups by providing an inclusive community to foster growth and creativity in computing. VenusHacks will be open to participants of all experience levels, as we aim to increase diversity in tech through support, exposure, and community. ## Local Development ### Getting Setup + - `git clone https://github.com/wics-uci/venushacks` -- `cd venushacks` -- `pnpm install` +- `cd venushacks` +- `pnpm install` ### Running the Project -- `pnpm dev` -- Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +- `pnpm dev` +- Open [http://localhost:5173](http://localhost:5173) to view it in the browser. diff --git a/index.html b/index.html new file mode 100644 index 0000000..02dd3d2 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + VenusHacks 2024 + + +
+ + + diff --git a/jsconfig.json b/jsconfig.json index c7c07bb..166cb55 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,25 +1,8 @@ { "compilerOptions": { "baseUrl": ".", - "target": "es5", - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], "paths": { - "@/*": ["./src/*"] + "src/*": ["./src/*"] } - }, - "include": ["next-env.d.ts", "**/*.js", "**/*.jsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} \ No newline at end of file + } +} diff --git a/next.config.js b/next.config.js deleted file mode 100644 index df70a81..0000000 --- a/next.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - output: "export", - reactStrictMode: true, - // rewrites: async () => ([]), - // redirects: async () => [], -}; - -module.exports = nextConfig; diff --git a/package.json b/package.json index 69cad4d..6335ab8 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,31 @@ { "name": "venushacks", - "version": "0.1.0", "private": true, - "homepage": "https://www.venushacks.com/", + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, "dependencies": { - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-navigation-menu": "^1.1.4", - "eslint": "^8.57.0", - "lint-staged": "^15.2.2", - "next": "^14.1.1", "react": "^18.2.0", - "react-bootstrap": "^2.10.1", + "react-bootstrap": "^2.10.2", "react-confetti": "^6.1.0", "react-dom": "^18.2.0", "react-flip-numbers": "^3.0.8", - "react-router-dom": "^6.22.1", - "sass": "^1.71.0" - }, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "prepare": "husky" - }, - "lint-staged": { - "*.jsx": [ - "eslint '**/*.{js,jsx}' --fix" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] + "react-router-dom": "^6.23.0", + "sass": "^1.75.0" }, "devDependencies": { - "eslint-config-next": "^14.1.2", - "husky": "^9.0.11", - "tailwindcss": "^3.4.1" + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "vite": "^5.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48a686f..b5b658c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,264 +5,594 @@ settings: excludeLinksFromLockfile: false dependencies: - '@radix-ui/react-accordion': - specifier: ^1.1.2 - version: 1.1.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-navigation-menu': - specifier: ^1.1.4 - version: 1.1.4(react-dom@18.2.0)(react@18.2.0) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - lint-staged: - specifier: ^15.2.2 - version: 15.2.2 - next: - specifier: ^14.1.1 - version: 14.1.1(react-dom@18.2.0)(react@18.2.0)(sass@1.71.1) react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-bootstrap: - specifier: ^2.10.1 - version: 2.10.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^2.10.2 + version: 2.10.2(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) react-confetti: specifier: ^6.1.0 - version: 6.1.0(react@18.2.0) + version: 6.1.0(react@18.3.1) react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) react-flip-numbers: specifier: ^3.0.8 - version: 3.0.8(react-dom@18.2.0)(react-simple-animate@3.5.2)(react@18.2.0) + version: 3.0.8(react-dom@18.3.1)(react-simple-animate@3.5.2)(react@18.3.1) react-router-dom: - specifier: ^6.22.1 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.23.0 + version: 6.23.0(react-dom@18.3.1)(react@18.3.1) sass: - specifier: ^1.71.0 - version: 1.71.1 + specifier: ^1.75.0 + version: 1.75.0 devDependencies: - eslint-config-next: - specifier: ^14.1.2 - version: 14.1.2(eslint@8.57.0)(typescript@4.9.5) - husky: - specifier: ^9.0.11 - version: 9.0.11 - tailwindcss: - specifier: ^3.4.1 - version: 3.4.1 + '@types/react': + specifier: ^18.2.66 + version: 18.3.1 + '@types/react-dom': + specifier: ^18.2.22 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.2.1 + version: 4.2.1(vite@5.2.10) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-plugin-react: + specifier: ^7.34.1 + version: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: + specifier: ^4.6.0 + version: 4.6.2(eslint@8.57.0) + eslint-plugin-react-refresh: + specifier: ^0.4.6 + version: 0.4.6(eslint@8.57.0) + vite: + specifier: ^5.2.0 + version: 5.2.10(sass@1.75.0) packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - /@alloc/quick-lru@5.2.0: - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@babel/runtime@7.23.9: - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.1 - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: - ajv: 6.12.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + dev: true - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + '@babel/types': 7.24.0 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@babel/types': 7.24.0 dev: true - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@next/env@14.1.1: - resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 dev: false - /@next/eslint-plugin-next@14.1.2: - resolution: {integrity: sha512-k9h9NfR1joJI48uwdQd/DuOV1mBgcjlmWaX45eAXCFGT96oc+/6SMjO3s7naVtTXqSKjFAgk2GDlW6Hv41ROXQ==} + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: true + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: - glob: 10.3.10 + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true dev: true + optional: true - /@next/swc-darwin-arm64@14.1.1: - resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==} - engines: {node: '>= 10'} + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-darwin-x64@14.1.1: - resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==} - engines: {node: '>= 10'} + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-linux-arm64-gnu@14.1.1: - resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==} - engines: {node: '>= 10'} + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] - os: [linux] + os: [freebsd] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - /@next/swc-linux-arm64-musl@14.1.1: - resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==} - engines: {node: '>= 10'} + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-linux-x64-gnu@14.1.1: - resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==} - engines: {node: '>= 10'} - cpu: [x64] + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true - /@next/swc-linux-x64-musl@14.1.1: - resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==} - engines: {node: '>= 10'} + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true - /@next/swc-win32-arm64-msvc@14.1.1: - resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==} - engines: {node: '>= 10'} + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-win32-ia32-msvc@14.1.1: - resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==} - engines: {node: '>= 10'} + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-win32-x64-msvc@14.1.1: - resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==} - engines: {node: '>= 10'} + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -270,511 +600,280 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true dev: true - optional: true /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@radix-ui/primitive@1.0.1: - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - dependencies: - '@babel/runtime': 7.23.9 - dev: false - - /@radix-ui/react-accordion@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} + /@react-aria/ssr@3.9.2(react@18.3.1): + resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} + engines: {node: '>= 12'} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@swc/helpers': 0.5.11 + react: 18.3.1 dev: false - /@radix-ui/react-collapsible@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + /@remix-run/router@1.16.0: + resolution: {integrity: sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==} + engines: {node: '>=14.0.0'} dev: false - /@radix-ui/react-collection@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + /@restart/hooks@0.4.16(react@18.3.1): + resolution: {integrity: sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + react: '>=16.8.0' dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + dequal: 2.0.3 + react: 18.3.1 dev: false - /@radix-ui/react-compose-refs@1.0.1(react@18.2.0): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + /@restart/ui@1.6.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-6ndCv3oZ7r9vuP1Ok9KH55TM1/UkdBnP/fSraW0DFDMbPMzWKhVKeFAIEUCRCSdzayjZDcFYK6xbMlipN9dmMA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + react: '>=16.14.0' + react-dom: '>=16.14.0' dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + '@babel/runtime': 7.24.4 + '@popperjs/core': 2.11.8 + '@react-aria/ssr': 3.9.2(react@18.3.1) + '@restart/hooks': 0.4.16(react@18.3.1) + '@types/warning': 3.0.3 + dequal: 2.0.3 + dom-helpers: 5.2.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + uncontrollable: 8.0.4(react@18.3.1) + warning: 4.0.3 dev: false - /@radix-ui/react-context@1.0.1(react@18.2.0): - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-android-arm-eabi@4.17.0: + resolution: {integrity: sha512-nNvLvC2fjC+3+bHYN9uaGF3gcyy7RHGZhtl8TB/kINj9hiOQza8kWJGZh47GRPMrqeseO8U+Z8ElDMCZlWBdHA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-direction@1.0.1(react@18.2.0): - resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-android-arm64@4.17.0: + resolution: {integrity: sha512-+kjt6dvxnyTIAo7oHeYseYhDyZ7xRKTNl/FoQI96PHkJVxoChldJnne/LzYqpqidoK1/0kX0/q+5rrYqjpth6w==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-dismissable-layer@1.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-darwin-arm64@4.17.0: + resolution: {integrity: sha512-Oj6Tp0unMpGTBjvNwbSRv3DopMNLu+mjBzhKTt2zLbDJ/45fB1pltr/rqrO4bE95LzuYwhYn127pop+x/pzf5w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-id@1.0.1(react@18.2.0): - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-darwin-x64@4.17.0: + resolution: {integrity: sha512-3nJx0T+yptxMd+v93rBRxSPTAVCv8szu/fGZDJiKX7kvRe9sENj2ggXjCH/KK1xZEmJOhaNo0c9sGMgGdfkvEw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-navigation-menu@1.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm-gnueabihf@4.17.0: + resolution: {integrity: sha512-Vb2e8p9b2lxxgqyOlBHmp6hJMu/HSU6g//6Tbr7x5V1DlPCHWLOm37nSIVK314f+IHzORyAQSqL7+9tELxX3zQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-presence@1.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm-musleabihf@4.17.0: + resolution: {integrity: sha512-Md60KsmC5ZIaRq/bYYDloklgU+XLEZwS2EXXVcSpiUw+13/ZASvSWQ/P92rQ9YDCL6EIoXxuQ829JkReqdYbGg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-primitive@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-slot': 1.0.2(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm64-gnu@4.17.0: + resolution: {integrity: sha512-zL5rBFtJ+2EGnMRm2TqKjdjgFqlotSU+ZJEN37nV+fiD3I6Gy0dUh3jBWN0wSlcXVDEJYW7YBe+/2j0N9unb2w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-slot@1.0.2(react@18.2.0): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-linux-arm64-musl@4.17.0: + resolution: {integrity: sha512-s2xAyNkJqUdtRVgNK4NK4P9QttS538JuX/kfVQOdZDI5FIKVAUVdLW7qhGfmaySJ1EvN/Bnj9oPm5go9u8navg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-callback-ref@1.0.1(react@18.2.0): - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-linux-powerpc64le-gnu@4.17.0: + resolution: {integrity: sha512-7F99yzVT67B7IUNMjLD9QCFDCyHkyCJMS1dywZrGgVFJao4VJ9szrIEgH67cR+bXQgEaY01ur/WSL6B0jtcLyA==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.17.0: + resolution: {integrity: sha512-leFtyiXisfa3Sg9pgZJwRKITWnrQfhtqDjCamnZhkZuIsk1FXmYwKoTkp6lsCgimIcneFFkHKp/yGLxDesga4g==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.17.0: + resolution: {integrity: sha512-FtOgui6qMJ4jbSXTxElsy/60LEe/3U0rXkkz2G5CJ9rbHPAvjMvI+3qF0A0fwLQ5hW+/ZC6PbnS2KfRW9JkgDQ==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.17.0: + resolution: {integrity: sha512-v6eiam/1w3HUfU/ZjzIDodencqgrSqzlNuNtiwH7PFJHYSo1ezL0/UIzmS2lpSJF1ORNaplXeKHYmmdt81vV2g==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-controllable-state@1.0.1(react@18.2.0): - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-linux-x64-musl@4.17.0: + resolution: {integrity: sha512-OUhkSdpM5ofVlVU2k4CwVubYwiwu1a4jYWPpubzN7Vzao73GoPBowHcCfaRSFRz1SszJ3HIsk3dZYk4kzbqjgw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-escape-keydown@1.0.3(react@18.2.0): - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-win32-arm64-msvc@4.17.0: + resolution: {integrity: sha512-uL7UYO/MNJPGL/yflybI+HI+n6+4vlfZmQZOCb4I+z/zy1wisHT3exh7oNQsnL6Eso0EUTEfgQ/PaGzzXf6XyQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-layout-effect@1.0.1(react@18.2.0): - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-win32-ia32-msvc@4.17.0: + resolution: {integrity: sha512-4WnSgaUiUmXILwFqREdOcqvSj6GD/7FrvSjhaDjmwakX9w4Z2F8JwiSP1AZZbuRkPqzi444UI5FPv33VKOWYFQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-previous@1.0.1(react@18.2.0): - resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-win32-x64-msvc@4.17.0: + resolution: {integrity: sha512-ve+D8t1prRSRnF2S3pyDtTXDlvW1Pngbz76tjgYFQW1jxVSysmQCZfPoDAo4WP+Ano8zeYp85LsArZBI12HfwQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-visually-hidden@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + /@swc/helpers@0.5.11: + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + tslib: 2.6.2 dev: false - /@react-aria/ssr@3.9.2(react@18.2.0): - resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} - engines: {node: '>= 12'} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@swc/helpers': 0.5.6 - react: 18.2.0 - dev: false + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: true - /@remix-run/router@1.15.1: - resolution: {integrity: sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w==} - engines: {node: '>=14.0.0'} - dev: false + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.24.0 + dev: true - /@restart/hooks@0.4.16(react@18.2.0): - resolution: {integrity: sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==} - peerDependencies: - react: '>=16.8.0' + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - dequal: 2.0.3 - react: 18.2.0 - dev: false + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: true - /@restart/ui@1.6.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-eC3puKuWE1SRYbojWHXnvCNHGgf3uzHCb6JOhnF4OXPibOIPEkR1sqDSkL643ydigxwh+ruCa1CmYHlzk7ikKA==} - peerDependencies: - react: '>=16.14.0' - react-dom: '>=16.14.0' + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/runtime': 7.23.9 - '@popperjs/core': 2.11.8 - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@restart/hooks': 0.4.16(react@18.2.0) - '@types/warning': 3.0.3 - dequal: 2.0.3 - dom-helpers: 5.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - uncontrollable: 8.0.4(react@18.2.0) - warning: 4.0.3 - dev: false + '@babel/types': 7.24.0 + dev: true - /@rushstack/eslint-patch@1.7.2: - resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@swc/helpers@0.5.2: - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} - dependencies: - tslib: 2.6.2 - dev: false + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - /@swc/helpers@0.5.6: - resolution: {integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==} + /@types/react-dom@18.3.0: + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} dependencies: - tslib: 2.6.2 - dev: false - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/react': 18.3.1 dev: true - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - dev: false - /@types/react-transition-group@4.4.10: resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: - '@types/react': 18.2.57 + '@types/react': 18.3.1 dev: false - /@types/react@18.2.57: - resolution: {integrity: sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==} + /@types/react@18.3.1: + resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.12 csstype: 3.1.3 - dev: false - - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - dev: false /@types/warning@3.0.3: resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} dev: false - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.4 - eslint: 8.57.0 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - dev: true - - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@vitejs/plugin-react@4.2.1(vite@5.2.10): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.2.10(sass@1.75.0) transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.11.3 + dev: true /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -783,34 +882,25 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - - /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} - engines: {node: '>=14.16'} - dependencies: - type-fest: 3.13.1 - dev: false + dev: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + dev: true - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: @@ -820,17 +910,8 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 dev: true /array-buffer-byte-length@1.0.1: @@ -841,41 +922,27 @@ packages: is-array-buffer: 3.0.4 dev: true - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - dev: true - - /array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 dev: true @@ -885,7 +952,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -895,7 +962,16 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -904,7 +980,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 dev: true @@ -916,23 +992,13 @@ packages: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 dev: true - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true - - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - dependencies: - has-symbols: 1.0.3 - dev: true - /available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -940,22 +1006,12 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - dev: true - - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - dev: true - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} /brace-expansion@1.1.11: @@ -963,11 +1019,6 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 dev: true /braces@3.0.2: @@ -976,12 +1027,16 @@ packages: dependencies: fill-range: 7.0.1 - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true dependencies: - streamsearch: 1.1.0 - dev: false + caniuse-lite: 1.0.30001614 + electron-to-chromium: 1.4.750 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} @@ -991,21 +1046,26 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + /caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} dev: true - /caniuse-lite@1.0.30001588: - resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} - dev: false + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1013,11 +1073,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false + dev: true /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} @@ -1037,50 +1093,34 @@ packages: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} dev: false - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - restore-cursor: 4.0.0 - dev: false - - /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: - slice-ansi: 5.0.0 - string-width: 7.1.0 - dev: false - - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false + color-name: 1.1.3 + dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - dev: false - - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} dev: true /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -1089,30 +1129,36 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true dev: true /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: false - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} dependencies: - ms: 2.1.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true /debug@4.3.4: @@ -1125,9 +1171,11 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} @@ -1150,21 +1198,7 @@ packages: /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true + dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -1178,48 +1212,33 @@ packages: engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 csstype: 3.1.3 dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + /electron-to-chromium@1.4.750: + resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==} dev: true - /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - dev: false - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - - /es-abstract@1.22.4: - resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 es-define-property: 1.0.0 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 @@ -1230,10 +1249,11 @@ packages: has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 + is-data-view: 1.0.1 is-negative-zero: 2.0.3 is-regex: 1.1.4 is-shared-array-buffer: 1.0.3 @@ -1244,21 +1264,17 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 - dev: true - - /es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + which-typed-array: 1.1.15 dev: true /es-define-property@1.0.0: @@ -1273,14 +1289,13 @@ packages: engines: {node: '>= 0.4'} dev: true - /es-iterator-helpers@1.0.17: - resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} dependencies: - asynciterator.prototype: 1.0.0 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 @@ -1291,7 +1306,14 @@ packages: has-symbols: 1.0.3 internal-slot: 1.0.7 iterator.prototype: 1.1.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 + dev: true + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.3: @@ -1300,13 +1322,13 @@ packages: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.1 + hasown: 2.0.2 dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: @@ -1318,190 +1340,94 @@ packages: is-symbol: 1.0.4 dev: true - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - /eslint-config-next@14.1.2(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-g46mlgWmHoWhHuDbaQS8PLNQtBkVkiQMnVLhFcqnPSXN2I+R4Obom3ihCIQuNLbjVUgiFFHqmEwwtDuWv1wYKA==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 14.1.2 - '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-react: 7.33.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - typescript: 4.9.5 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.1 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.2 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - '@babel/runtime': 7.23.9 - aria-query: 5.3.0 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.17 eslint: 8.57.0 - hasown: 2.0.1 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} + /eslint-plugin-react-refresh@0.4.6(eslint@8.57.0): + resolution: {integrity: sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: '>=7' dependencies: eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.57.0): - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 + array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.17 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.11 dev: true /eslint-scope@7.2.2: @@ -1510,10 +1436,12 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} @@ -1555,11 +1483,12 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -1568,76 +1497,56 @@ packages: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 + dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - - /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: false + dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 + dev: true /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 + dev: true /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -1651,6 +1560,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} @@ -1659,9 +1569,11 @@ packages: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 + dev: true /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -1669,16 +1581,9 @@ packages: is-callable: 1.2.7 dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -1697,7 +1602,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 functions-have-names: 1.2.3 dev: true @@ -1705,10 +1610,10 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} - dev: false + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} @@ -1718,14 +1623,9 @@ packages: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 dev: true - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: false - /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -1735,12 +1635,6 @@ packages: get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1752,17 +1646,6 @@ packages: engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 dev: true /glob@7.2.3: @@ -1774,12 +1657,19 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -1788,37 +1678,29 @@ packages: define-properties: 1.2.1 dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -1843,31 +1725,20 @@ packages: has-symbols: 1.0.3 dev: true - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 dev: true - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: false - - /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} - hasBin: true - dev: true - /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + dev: true /immutable@4.3.5: resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -1875,27 +1746,31 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - hasown: 2.0.1 - side-channel: 1.0.5 + hasown: 2.0.2 + side-channel: 1.0.6 dev: true /invariant@2.2.4: @@ -1929,7 +1804,7 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -1947,7 +1822,14 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: @@ -1967,23 +1849,6 @@ packages: call-bind: 1.0.7 dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: false - - /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - dependencies: - get-east-asian-width: 1.2.0 - dev: false - /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -1997,8 +1862,9 @@ packages: dependencies: is-extglob: 2.1.1 - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} dev: true /is-negative-zero@2.0.3: @@ -2020,6 +1886,7 @@ packages: /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -2029,8 +1896,9 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} dev: true /is-shared-array-buffer@1.0.3: @@ -2040,11 +1908,6 @@ packages: call-bind: 1.0.7 dev: true - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2063,11 +1926,12 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} dev: true /is-weakref@1.0.2: @@ -2076,8 +1940,9 @@ packages: call-bind: 1.0.7 dev: true - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -2089,6 +1954,7 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} @@ -2096,24 +1962,10 @@ packages: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.5 + reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2122,47 +1974,46 @@ packages: hasBin: true dependencies: argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true - dependencies: - minimist: 1.2.8 dev: true /jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 - object.values: 1.1.7 + object.values: 1.2.0 dev: true /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 - - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true - - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - dependencies: - language-subtag-registry: 0.3.22 dev: true /levn@0.4.1: @@ -2171,76 +2022,18 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true - - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} - engines: {node: '>=14'} - dev: false - - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /lint-staged@15.2.2: - resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} - engines: {node: '>=18.12.0'} - hasBin: true - dependencies: - chalk: 5.3.0 - commander: 11.1.0 - debug: 4.3.4 - execa: 8.0.1 - lilconfig: 3.0.0 - listr2: 8.0.1 - micromatch: 4.0.5 - pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /listr2@8.0.1: - resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} - engines: {node: '>=18.0.0'} - dependencies: - cli-truncate: 4.0.0 - colorette: 2.0.20 - eventemitter3: 5.0.1 - log-update: 6.0.0 - rfdc: 1.3.1 - wrap-ansi: 9.0.0 - dev: false - /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} - dependencies: - ansi-escapes: 6.2.0 - cli-cursor: 4.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 - dev: false + dev: true /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -2248,148 +2041,44 @@ packages: dependencies: js-tokens: 4.0.0 - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: - yallist: 4.0.0 - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: false - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + yallist: 3.1.1 dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false - /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 dev: true /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - /next@14.1.1(react-dom@18.2.0)(react@18.2.0)(sass@1.71.1): - resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.1.1 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001588 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - sass: 1.71.1 - styled-jsx: 5.1.1(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.1.1 - '@next/swc-darwin-x64': 14.1.1 - '@next/swc-linux-arm64-gnu': 14.1.1 - '@next/swc-linux-arm64-musl': 14.1.1 - '@next/swc-linux-x64-gnu': 14.1.1 - '@next/swc-linux-x64-musl': 14.1.1 - '@next/swc-win32-arm64-msvc': 14.1.1 - '@next/swc-win32-ia32-msvc': 14.1.1 - '@next/swc-win32-x64-msvc': 14.1.1 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: true - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -2409,249 +2098,134 @@ packages: object-keys: 1.1.1 dev: true - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /object.groupby@1.0.2: - resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} - dependencies: - array.prototype.filter: 1.0.3 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-errors: 1.3.0 - dev: true - - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: false - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: false - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false + dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: false - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - /possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} dev: true - /postcss-import@15.1.0(postcss@8.4.35): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.35 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.8 - dev: true - - /postcss-js@4.0.1(postcss@8.4.35): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.35 - dev: true - - /postcss-load-config@4.0.2(postcss@8.4.35): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 3.1.1 - postcss: 8.4.35 - yaml: 2.3.4 - dev: true - - /postcss-nested@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 - dev: true - - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true - - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + dev: true - /prop-types-extra@1.1.1(react@18.2.0): + /prop-types-extra@1.1.1(react@18.3.1): resolution: {integrity: sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==} peerDependencies: react: '>=0.14.0' dependencies: - react: 18.2.0 + react: 18.3.1 react-is: 16.13.1 warning: 4.0.3 dev: false @@ -2666,12 +2240,14 @@ packages: /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + dev: true /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true - /react-bootstrap@2.10.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-J3OpRZIvCTQK+Tg/jOkRUvpYLHMdGeU9KqFUBQrV0d/Qr/3nsINpiOJyZMWnM5SJ3ctZdhPA6eCIKpEJR3Ellg==} + /react-bootstrap@2.10.2(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UvB7mRqQjivdZNxJNEA2yOQRB7L9N43nBnKc33K47+cH90/ujmnMwatTCwQLu83gLhrzAl8fsa6Lqig/KLghaA==} peerDependencies: '@types/react': '>=16.14.8' react: '>=16.14.0' @@ -2680,52 +2256,53 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@restart/hooks': 0.4.16(react@18.2.0) - '@restart/ui': 1.6.6(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.24.4 + '@restart/hooks': 0.4.16(react@18.3.1) + '@restart/ui': 1.6.8(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 '@types/react-transition-group': 4.4.10 classnames: 2.5.1 dom-helpers: 5.2.1 invariant: 2.2.4 prop-types: 15.8.1 - prop-types-extra: 1.1.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - uncontrollable: 7.2.1(react@18.2.0) + prop-types-extra: 1.1.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) + uncontrollable: 7.2.1(react@18.3.1) warning: 4.0.3 dev: false - /react-confetti@6.1.0(react@18.2.0): + /react-confetti@6.1.0(react@18.3.1): resolution: {integrity: sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==} engines: {node: '>=10.18'} peerDependencies: react: ^16.3.0 || ^17.0.1 || ^18.0.0 dependencies: - react: 18.2.0 + react: 18.3.1 tween-functions: 1.2.0 dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react-flip-numbers@3.0.8(react-dom@18.2.0)(react-simple-animate@3.5.2)(react@18.2.0): + /react-flip-numbers@3.0.8(react-dom@18.3.1)(react-simple-animate@3.5.2)(react@18.3.1): resolution: {integrity: sha512-iEh4WScZFiGYkIWw3ATA352+XVWBsiKLg97CQHGXvpBetJFYazaYWMqv/mR2fGHdoDLA/2uES74e2wdEgy69BQ==} peerDependencies: react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 react-simple-animate: ^3.0.1 dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-simple-animate: 3.5.2(react-dom@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-simple-animate: 3.5.2(react-dom@18.3.1) dev: false /react-is@16.13.1: @@ -2735,77 +2312,76 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false - /react-router-dom@6.22.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw==} + /react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + dev: true + + /react-router-dom@6.23.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-router: 6.22.1(react@18.2.0) + '@remix-run/router': 1.16.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.23.0(react@18.3.1) dev: false - /react-router@6.22.1(react@18.2.0): - resolution: {integrity: sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ==} + /react-router@6.23.0(react@18.3.1): + resolution: {integrity: sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 + '@remix-run/router': 1.16.0 + react: 18.3.1 dev: false - /react-simple-animate@3.5.2(react-dom@18.2.0): + /react-simple-animate@3.5.2(react-dom@18.3.1): resolution: {integrity: sha512-xLE65euP920QMTOmv5haPlml+hmOPDkbIr5WeF7ADIXWBYt5kW/vwpNfWg8EKMab8aeDxIZ6QjffVh8v2dUyhg==} peerDependencies: react-dom: ^16.8.0 || ^17 || ^18 dependencies: - react-dom: 18.2.0(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) dev: false - /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): + /react-transition-group@4.4.5(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - dev: true - /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - /reflect.getprototypeof@1.0.5: - resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.3 @@ -2814,6 +2390,7 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: false /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} @@ -2828,18 +2405,6 @@ packages: /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 dev: true /resolve@2.0.0-next.5: @@ -2851,35 +2416,52 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false + dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 + dev: true + + /rollup@4.17.0: + resolution: {integrity: sha512-wZJSn0WMtWrxhYKQRt5Z6GIXlziOoMDFmbHmRfL3v+sBTAshx2DBq1AfMArB7eIjF63r4ocn2ZTAyUptg/7kmQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.17.0 + '@rollup/rollup-android-arm64': 4.17.0 + '@rollup/rollup-darwin-arm64': 4.17.0 + '@rollup/rollup-darwin-x64': 4.17.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.0 + '@rollup/rollup-linux-arm-musleabihf': 4.17.0 + '@rollup/rollup-linux-arm64-gnu': 4.17.0 + '@rollup/rollup-linux-arm64-musl': 4.17.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.0 + '@rollup/rollup-linux-riscv64-gnu': 4.17.0 + '@rollup/rollup-linux-s390x-gnu': 4.17.0 + '@rollup/rollup-linux-x64-gnu': 4.17.0 + '@rollup/rollup-linux-x64-musl': 4.17.0 + '@rollup/rollup-win32-arm64-msvc': 4.17.0 + '@rollup/rollup-win32-ia32-msvc': 4.17.0 + '@rollup/rollup-win32-x64-msvc': 4.17.0 + fsevents: 2.3.3 + dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 @@ -2897,18 +2479,17 @@ packages: is-regex: 1.1.4 dev: true - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.75.0: + resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.6.0 immutable: 4.3.5 - source-map-js: 1.0.2 - dev: false + source-map-js: 1.2.0 - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false @@ -2918,16 +2499,8 @@ packages: hasBin: true dev: true - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 @@ -2953,13 +2526,15 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true - /side-channel@1.0.5: - resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -2968,113 +2543,53 @@ packages: object-inspect: 1.13.1 dev: true - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - dev: false - - /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: false - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - - /string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} - engines: {node: '>=18'} - dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 - strip-ansi: 7.1.0 - dev: false - - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 - side-channel: 1.0.5 + side-channel: 1.0.6 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true /strip-ansi@6.0.1: @@ -3082,56 +2597,18 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} dev: true - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false - /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + dev: true - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - client-only: 0.0.1 - react: 18.2.0 - dev: false - - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 10.3.10 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 + has-flag: 3.0.0 dev: true /supports-color@7.2.0: @@ -3139,62 +2616,20 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true - /tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} - engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.35 - postcss-import: 15.1.0(postcss@8.4.35) - postcss-js: 4.0.1(postcss@8.4.35) - postcss-load-config: 4.0.2(postcss@8.4.35) - postcss-nested: 6.0.1(postcss@8.4.35) - postcss-selector-parser: 6.0.15 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node - dev: true - - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 dev: true - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} dev: true /to-regex-range@5.0.1: @@ -3203,37 +2638,10 @@ packages: dependencies: is-number: 7.0.0 - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - 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' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - dev: true - /tween-functions@1.2.0: resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} dev: false @@ -3243,15 +2651,12 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - - /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - dev: false + dev: true /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} @@ -3285,8 +2690,8 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.5: - resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -3297,12 +2702,6 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -3312,33 +2711,77 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /uncontrollable@7.2.1(react@18.2.0): + /uncontrollable@7.2.1(react@18.3.1): resolution: {integrity: sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==} peerDependencies: react: '>=15.0.0' dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.57 + '@babel/runtime': 7.24.4 + '@types/react': 18.3.1 invariant: 2.2.4 - react: 18.2.0 + react: 18.3.1 react-lifecycles-compat: 3.0.4 dev: false - /uncontrollable@8.0.4(react@18.2.0): + /uncontrollable@8.0.4(react@18.3.1): resolution: {integrity: sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==} peerDependencies: react: '>=16.14.0' dependencies: - react: 18.2.0 + react: 18.3.1 dev: false + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + /vite@5.2.10(sass@1.75.0): + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.0 + sass: 1.75.0 + optionalDependencies: + fsevents: 2.3.3 dev: true /warning@4.0.3: @@ -3371,21 +2814,22 @@ packages: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.14 + which-collection: 1.0.2 + which-typed-array: 1.1.15 dev: true - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 dev: true - /which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 @@ -3401,45 +2845,22 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} dev: true - /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - dependencies: - ansi-styles: 6.2.1 - string-width: 7.1.0 - strip-ansi: 7.1.0 - dev: false - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true diff --git a/src/assets/images/VH_shiba_inu.png b/public/assets/images/VH_shiba_inu.png similarity index 100% rename from src/assets/images/VH_shiba_inu.png rename to public/assets/images/VH_shiba_inu.png diff --git a/src/assets/images/astronaut-float.png b/public/assets/images/astronaut-float.png similarity index 100% rename from src/assets/images/astronaut-float.png rename to public/assets/images/astronaut-float.png diff --git a/src/assets/images/astronaut.png b/public/assets/images/astronaut.png similarity index 100% rename from src/assets/images/astronaut.png rename to public/assets/images/astronaut.png diff --git a/src/assets/images/astronaut_solid.png b/public/assets/images/astronaut_solid.png similarity index 100% rename from src/assets/images/astronaut_solid.png rename to public/assets/images/astronaut_solid.png diff --git a/src/assets/images/big-planet.png b/public/assets/images/big-planet.png similarity index 100% rename from src/assets/images/big-planet.png rename to public/assets/images/big-planet.png diff --git a/src/assets/images/constellation1.png b/public/assets/images/constellation1.png similarity index 100% rename from src/assets/images/constellation1.png rename to public/assets/images/constellation1.png diff --git a/src/assets/images/constellation2.png b/public/assets/images/constellation2.png similarity index 100% rename from src/assets/images/constellation2.png rename to public/assets/images/constellation2.png diff --git a/src/assets/images/constellation3.png b/public/assets/images/constellation3.png similarity index 100% rename from src/assets/images/constellation3.png rename to public/assets/images/constellation3.png diff --git a/src/assets/images/constellation4.png b/public/assets/images/constellation4.png similarity index 100% rename from src/assets/images/constellation4.png rename to public/assets/images/constellation4.png diff --git a/src/assets/images/hat.png b/public/assets/images/hat.png similarity index 100% rename from src/assets/images/hat.png rename to public/assets/images/hat.png diff --git a/src/assets/images/icon.png b/public/assets/images/icon.png similarity index 100% rename from src/assets/images/icon.png rename to public/assets/images/icon.png diff --git a/src/assets/images/laptop.png b/public/assets/images/laptop.png similarity index 100% rename from src/assets/images/laptop.png rename to public/assets/images/laptop.png diff --git a/src/assets/images/mathworks-flyer.pdf b/public/assets/images/mathworks-flyer.pdf similarity index 100% rename from src/assets/images/mathworks-flyer.pdf rename to public/assets/images/mathworks-flyer.pdf diff --git a/src/assets/images/new-laptop.png b/public/assets/images/new-laptop.png similarity index 100% rename from src/assets/images/new-laptop.png rename to public/assets/images/new-laptop.png diff --git a/src/assets/images/old-organizer-photos/aasha.jpeg b/public/assets/images/old-organizer-photos/aasha.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/aasha.jpeg rename to public/assets/images/old-organizer-photos/aasha.jpeg diff --git a/src/assets/images/old-organizer-photos/alan.jpeg b/public/assets/images/old-organizer-photos/alan.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/alan.jpeg rename to public/assets/images/old-organizer-photos/alan.jpeg diff --git a/src/assets/images/old-organizer-photos/ameya.jpeg b/public/assets/images/old-organizer-photos/ameya.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/ameya.jpeg rename to public/assets/images/old-organizer-photos/ameya.jpeg diff --git a/src/assets/images/old-organizer-photos/angela.jpeg b/public/assets/images/old-organizer-photos/angela.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/angela.jpeg rename to public/assets/images/old-organizer-photos/angela.jpeg diff --git a/src/assets/images/old-organizer-photos/chase.jpeg b/public/assets/images/old-organizer-photos/chase.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/chase.jpeg rename to public/assets/images/old-organizer-photos/chase.jpeg diff --git a/src/assets/images/old-organizer-photos/chloe.jpeg b/public/assets/images/old-organizer-photos/chloe.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/chloe.jpeg rename to public/assets/images/old-organizer-photos/chloe.jpeg diff --git a/src/assets/images/old-organizer-photos/duong.jpeg b/public/assets/images/old-organizer-photos/duong.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/duong.jpeg rename to public/assets/images/old-organizer-photos/duong.jpeg diff --git a/src/assets/images/old-organizer-photos/elise.jpeg b/public/assets/images/old-organizer-photos/elise.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/elise.jpeg rename to public/assets/images/old-organizer-photos/elise.jpeg diff --git a/src/assets/images/old-organizer-photos/ellise.jpeg b/public/assets/images/old-organizer-photos/ellise.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/ellise.jpeg rename to public/assets/images/old-organizer-photos/ellise.jpeg diff --git a/src/assets/images/old-organizer-photos/emily.jpeg b/public/assets/images/old-organizer-photos/emily.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/emily.jpeg rename to public/assets/images/old-organizer-photos/emily.jpeg diff --git a/src/assets/images/old-organizer-photos/grace.jpeg b/public/assets/images/old-organizer-photos/grace.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/grace.jpeg rename to public/assets/images/old-organizer-photos/grace.jpeg diff --git a/src/assets/images/old-organizer-photos/joseph.jpeg b/public/assets/images/old-organizer-photos/joseph.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/joseph.jpeg rename to public/assets/images/old-organizer-photos/joseph.jpeg diff --git a/src/assets/images/old-organizer-photos/julianna.jpeg b/public/assets/images/old-organizer-photos/julianna.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/julianna.jpeg rename to public/assets/images/old-organizer-photos/julianna.jpeg diff --git a/src/assets/images/old-organizer-photos/khushi.jpeg b/public/assets/images/old-organizer-photos/khushi.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/khushi.jpeg rename to public/assets/images/old-organizer-photos/khushi.jpeg diff --git a/src/assets/images/old-organizer-photos/kingsley.jpeg b/public/assets/images/old-organizer-photos/kingsley.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/kingsley.jpeg rename to public/assets/images/old-organizer-photos/kingsley.jpeg diff --git a/src/assets/images/old-organizer-photos/megha.jpeg b/public/assets/images/old-organizer-photos/megha.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/megha.jpeg rename to public/assets/images/old-organizer-photos/megha.jpeg diff --git a/src/assets/images/old-organizer-photos/nathan.jpeg b/public/assets/images/old-organizer-photos/nathan.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/nathan.jpeg rename to public/assets/images/old-organizer-photos/nathan.jpeg diff --git a/src/assets/images/old-organizer-photos/nicole.jpeg b/public/assets/images/old-organizer-photos/nicole.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/nicole.jpeg rename to public/assets/images/old-organizer-photos/nicole.jpeg diff --git a/src/assets/images/old-organizer-photos/olivia.jpeg b/public/assets/images/old-organizer-photos/olivia.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/olivia.jpeg rename to public/assets/images/old-organizer-photos/olivia.jpeg diff --git a/src/assets/images/old-organizer-photos/parsa.jpeg b/public/assets/images/old-organizer-photos/parsa.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/parsa.jpeg rename to public/assets/images/old-organizer-photos/parsa.jpeg diff --git a/src/assets/images/old-organizer-photos/philip.jpeg b/public/assets/images/old-organizer-photos/philip.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/philip.jpeg rename to public/assets/images/old-organizer-photos/philip.jpeg diff --git a/src/assets/images/old-organizer-photos/riley.jpeg b/public/assets/images/old-organizer-photos/riley.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/riley.jpeg rename to public/assets/images/old-organizer-photos/riley.jpeg diff --git a/src/assets/images/old-organizer-photos/rochelle.jpeg b/public/assets/images/old-organizer-photos/rochelle.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/rochelle.jpeg rename to public/assets/images/old-organizer-photos/rochelle.jpeg diff --git a/src/assets/images/old-organizer-photos/rong.jpeg b/public/assets/images/old-organizer-photos/rong.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/rong.jpeg rename to public/assets/images/old-organizer-photos/rong.jpeg diff --git a/src/assets/images/old-organizer-photos/sanjana.jpeg b/public/assets/images/old-organizer-photos/sanjana.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/sanjana.jpeg rename to public/assets/images/old-organizer-photos/sanjana.jpeg diff --git a/src/assets/images/old-organizer-photos/shalini.jpeg b/public/assets/images/old-organizer-photos/shalini.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/shalini.jpeg rename to public/assets/images/old-organizer-photos/shalini.jpeg diff --git a/src/assets/images/old-organizer-photos/sydney.jpeg b/public/assets/images/old-organizer-photos/sydney.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/sydney.jpeg rename to public/assets/images/old-organizer-photos/sydney.jpeg diff --git a/src/assets/images/old-organizer-photos/william.jpeg b/public/assets/images/old-organizer-photos/william.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/william.jpeg rename to public/assets/images/old-organizer-photos/william.jpeg diff --git a/src/assets/images/old-organizer-photos/zoya.jpeg b/public/assets/images/old-organizer-photos/zoya.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/zoya.jpeg rename to public/assets/images/old-organizer-photos/zoya.jpeg diff --git a/src/assets/images/organizer-photos/alan.jpg b/public/assets/images/organizer-photos/alan.jpg similarity index 100% rename from src/assets/images/organizer-photos/alan.jpg rename to public/assets/images/organizer-photos/alan.jpg diff --git a/src/assets/images/organizer-photos/alicia.jpg b/public/assets/images/organizer-photos/alicia.jpg similarity index 100% rename from src/assets/images/organizer-photos/alicia.jpg rename to public/assets/images/organizer-photos/alicia.jpg diff --git a/src/assets/images/organizer-photos/alisa.jpg b/public/assets/images/organizer-photos/alisa.jpg similarity index 100% rename from src/assets/images/organizer-photos/alisa.jpg rename to public/assets/images/organizer-photos/alisa.jpg diff --git a/src/assets/images/organizer-photos/araam.jpg b/public/assets/images/organizer-photos/araam.jpg similarity index 100% rename from src/assets/images/organizer-photos/araam.jpg rename to public/assets/images/organizer-photos/araam.jpg diff --git a/src/assets/images/organizer-photos/audrey.jpg b/public/assets/images/organizer-photos/audrey.jpg similarity index 100% rename from src/assets/images/organizer-photos/audrey.jpg rename to public/assets/images/organizer-photos/audrey.jpg diff --git a/src/assets/images/organizer-photos/avent.jpg b/public/assets/images/organizer-photos/avent.jpg similarity index 100% rename from src/assets/images/organizer-photos/avent.jpg rename to public/assets/images/organizer-photos/avent.jpg diff --git a/src/assets/images/organizer-photos/brian.jpg b/public/assets/images/organizer-photos/brian.jpg similarity index 100% rename from src/assets/images/organizer-photos/brian.jpg rename to public/assets/images/organizer-photos/brian.jpg diff --git a/src/assets/images/organizer-photos/caroline.jpg b/public/assets/images/organizer-photos/caroline.jpg similarity index 100% rename from src/assets/images/organizer-photos/caroline.jpg rename to public/assets/images/organizer-photos/caroline.jpg diff --git a/src/assets/images/organizer-photos/cheryl.jpg b/public/assets/images/organizer-photos/cheryl.jpg similarity index 100% rename from src/assets/images/organizer-photos/cheryl.jpg rename to public/assets/images/organizer-photos/cheryl.jpg diff --git a/src/assets/images/organizer-photos/chloe.jpg b/public/assets/images/organizer-photos/chloe.jpg similarity index 100% rename from src/assets/images/organizer-photos/chloe.jpg rename to public/assets/images/organizer-photos/chloe.jpg diff --git a/src/assets/images/organizer-photos/cinta.jpg b/public/assets/images/organizer-photos/cinta.jpg similarity index 100% rename from src/assets/images/organizer-photos/cinta.jpg rename to public/assets/images/organizer-photos/cinta.jpg diff --git a/src/assets/images/organizer-photos/crystal.jpg b/public/assets/images/organizer-photos/crystal.jpg similarity index 100% rename from src/assets/images/organizer-photos/crystal.jpg rename to public/assets/images/organizer-photos/crystal.jpg diff --git a/src/assets/images/organizer-photos/grace.jpg b/public/assets/images/organizer-photos/grace.jpg similarity index 100% rename from src/assets/images/organizer-photos/grace.jpg rename to public/assets/images/organizer-photos/grace.jpg diff --git a/src/assets/images/organizer-photos/graceW.jpg b/public/assets/images/organizer-photos/graceW.jpg similarity index 100% rename from src/assets/images/organizer-photos/graceW.jpg rename to public/assets/images/organizer-photos/graceW.jpg diff --git a/src/assets/images/organizer-photos/hang.jpg b/public/assets/images/organizer-photos/hang.jpg similarity index 100% rename from src/assets/images/organizer-photos/hang.jpg rename to public/assets/images/organizer-photos/hang.jpg diff --git a/src/assets/images/organizer-photos/jefferey.jpg b/public/assets/images/organizer-photos/jefferey.jpg similarity index 100% rename from src/assets/images/organizer-photos/jefferey.jpg rename to public/assets/images/organizer-photos/jefferey.jpg diff --git a/src/assets/images/organizer-photos/jenny.jpg b/public/assets/images/organizer-photos/jenny.jpg similarity index 100% rename from src/assets/images/organizer-photos/jenny.jpg rename to public/assets/images/organizer-photos/jenny.jpg diff --git a/src/assets/images/organizer-photos/kirby.jpg b/public/assets/images/organizer-photos/kirby.jpg similarity index 100% rename from src/assets/images/organizer-photos/kirby.jpg rename to public/assets/images/organizer-photos/kirby.jpg diff --git a/src/assets/images/organizer-photos/kristen.jpg b/public/assets/images/organizer-photos/kristen.jpg similarity index 100% rename from src/assets/images/organizer-photos/kristen.jpg rename to public/assets/images/organizer-photos/kristen.jpg diff --git a/src/assets/images/organizer-photos/mason.jpg b/public/assets/images/organizer-photos/mason.jpg similarity index 100% rename from src/assets/images/organizer-photos/mason.jpg rename to public/assets/images/organizer-photos/mason.jpg diff --git a/src/assets/images/organizer-photos/mignon.jpg b/public/assets/images/organizer-photos/mignon.jpg similarity index 100% rename from src/assets/images/organizer-photos/mignon.jpg rename to public/assets/images/organizer-photos/mignon.jpg diff --git a/src/assets/images/organizer-photos/mirelle.jpg b/public/assets/images/organizer-photos/mirelle.jpg similarity index 100% rename from src/assets/images/organizer-photos/mirelle.jpg rename to public/assets/images/organizer-photos/mirelle.jpg diff --git a/src/assets/images/organizer-photos/nathan.jpg b/public/assets/images/organizer-photos/nathan.jpg similarity index 100% rename from src/assets/images/organizer-photos/nathan.jpg rename to public/assets/images/organizer-photos/nathan.jpg diff --git a/src/assets/images/organizer-photos/nathanC.jpg b/public/assets/images/organizer-photos/nathanC.jpg similarity index 100% rename from src/assets/images/organizer-photos/nathanC.jpg rename to public/assets/images/organizer-photos/nathanC.jpg diff --git a/src/assets/images/organizer-photos/nicole.jpg b/public/assets/images/organizer-photos/nicole.jpg similarity index 100% rename from src/assets/images/organizer-photos/nicole.jpg rename to public/assets/images/organizer-photos/nicole.jpg diff --git a/src/assets/images/organizer-photos/philip.jpg b/public/assets/images/organizer-photos/philip.jpg similarity index 100% rename from src/assets/images/organizer-photos/philip.jpg rename to public/assets/images/organizer-photos/philip.jpg diff --git a/src/assets/images/organizer-photos/randy.jpg b/public/assets/images/organizer-photos/randy.jpg similarity index 100% rename from src/assets/images/organizer-photos/randy.jpg rename to public/assets/images/organizer-photos/randy.jpg diff --git a/src/assets/images/organizer-photos/riley.jpg b/public/assets/images/organizer-photos/riley.jpg similarity index 100% rename from src/assets/images/organizer-photos/riley.jpg rename to public/assets/images/organizer-photos/riley.jpg diff --git a/src/assets/images/organizer-photos/rochelle.jpg b/public/assets/images/organizer-photos/rochelle.jpg similarity index 100% rename from src/assets/images/organizer-photos/rochelle.jpg rename to public/assets/images/organizer-photos/rochelle.jpg diff --git a/src/assets/images/organizer-photos/rosalind.jpg b/public/assets/images/organizer-photos/rosalind.jpg similarity index 100% rename from src/assets/images/organizer-photos/rosalind.jpg rename to public/assets/images/organizer-photos/rosalind.jpg diff --git a/src/assets/images/organizer-photos/ruslan.jpg b/public/assets/images/organizer-photos/ruslan.jpg similarity index 100% rename from src/assets/images/organizer-photos/ruslan.jpg rename to public/assets/images/organizer-photos/ruslan.jpg diff --git a/src/assets/images/organizer-photos/ryan.jpg b/public/assets/images/organizer-photos/ryan.jpg similarity index 100% rename from src/assets/images/organizer-photos/ryan.jpg rename to public/assets/images/organizer-photos/ryan.jpg diff --git a/src/assets/images/organizer-photos/sam.jpg b/public/assets/images/organizer-photos/sam.jpg similarity index 100% rename from src/assets/images/organizer-photos/sam.jpg rename to public/assets/images/organizer-photos/sam.jpg diff --git a/src/assets/images/organizer-photos/shreshta.jpg b/public/assets/images/organizer-photos/shreshta.jpg similarity index 100% rename from src/assets/images/organizer-photos/shreshta.jpg rename to public/assets/images/organizer-photos/shreshta.jpg diff --git a/src/assets/images/organizer-photos/taylor.jpg b/public/assets/images/organizer-photos/taylor.jpg similarity index 100% rename from src/assets/images/organizer-photos/taylor.jpg rename to public/assets/images/organizer-photos/taylor.jpg diff --git a/src/assets/images/partners/acm.png b/public/assets/images/partners/acm.png similarity index 100% rename from src/assets/images/partners/acm.png rename to public/assets/images/partners/acm.png diff --git a/src/assets/images/partners/ai.png b/public/assets/images/partners/ai.png similarity index 100% rename from src/assets/images/partners/ai.png rename to public/assets/images/partners/ai.png diff --git a/src/assets/images/partners/ctc.png b/public/assets/images/partners/ctc.png similarity index 100% rename from src/assets/images/partners/ctc.png rename to public/assets/images/partners/ctc.png diff --git a/src/assets/images/partners/design.png b/public/assets/images/partners/design.png similarity index 100% rename from src/assets/images/partners/design.png rename to public/assets/images/partners/design.png diff --git a/src/assets/images/partners/googlecloud.png b/public/assets/images/partners/googlecloud.png similarity index 100% rename from src/assets/images/partners/googlecloud.png rename to public/assets/images/partners/googlecloud.png diff --git a/src/assets/images/partners/hack.png b/public/assets/images/partners/hack.png similarity index 100% rename from src/assets/images/partners/hack.png rename to public/assets/images/partners/hack.png diff --git a/src/assets/images/partners/icssc.png b/public/assets/images/partners/icssc.png similarity index 100% rename from src/assets/images/partners/icssc.png rename to public/assets/images/partners/icssc.png diff --git a/src/assets/images/partners/vgdc.jpeg b/public/assets/images/partners/vgdc.jpeg similarity index 100% rename from src/assets/images/partners/vgdc.jpeg rename to public/assets/images/partners/vgdc.jpeg diff --git a/src/assets/images/partners/wics.png b/public/assets/images/partners/wics.png similarity index 100% rename from src/assets/images/partners/wics.png rename to public/assets/images/partners/wics.png diff --git a/src/assets/images/past-partners/codepath.png b/public/assets/images/past-partners/codepath.png similarity index 100% rename from src/assets/images/past-partners/codepath.png rename to public/assets/images/past-partners/codepath.png diff --git a/src/assets/images/past-partners/design.png b/public/assets/images/past-partners/design.png similarity index 100% rename from src/assets/images/past-partners/design.png rename to public/assets/images/past-partners/design.png diff --git a/src/assets/images/past-partners/maiss.png b/public/assets/images/past-partners/maiss.png similarity index 100% rename from src/assets/images/past-partners/maiss.png rename to public/assets/images/past-partners/maiss.png diff --git a/src/assets/images/past-partners/mlh.png b/public/assets/images/past-partners/mlh.png similarity index 100% rename from src/assets/images/past-partners/mlh.png rename to public/assets/images/past-partners/mlh.png diff --git a/src/assets/images/past-partners/swe.jpg b/public/assets/images/past-partners/swe.jpg similarity index 100% rename from src/assets/images/past-partners/swe.jpg rename to public/assets/images/past-partners/swe.jpg diff --git a/src/assets/images/past-partners/wicys.png b/public/assets/images/past-partners/wicys.png similarity index 100% rename from src/assets/images/past-partners/wicys.png rename to public/assets/images/past-partners/wicys.png diff --git a/src/assets/images/past-sponsors/assemblyai.png b/public/assets/images/past-sponsors/assemblyai.png similarity index 100% rename from src/assets/images/past-sponsors/assemblyai.png rename to public/assets/images/past-sponsors/assemblyai.png diff --git a/src/assets/images/past-sponsors/balsamiq.png b/public/assets/images/past-sponsors/balsamiq.png similarity index 100% rename from src/assets/images/past-sponsors/balsamiq.png rename to public/assets/images/past-sponsors/balsamiq.png diff --git a/src/assets/images/past-sponsors/blackberry.png b/public/assets/images/past-sponsors/blackberry.png similarity index 100% rename from src/assets/images/past-sponsors/blackberry.png rename to public/assets/images/past-sponsors/blackberry.png diff --git a/src/assets/images/past-sponsors/corelogic.jpg b/public/assets/images/past-sponsors/corelogic.jpg similarity index 100% rename from src/assets/images/past-sponsors/corelogic.jpg rename to public/assets/images/past-sponsors/corelogic.jpg diff --git a/src/assets/images/past-sponsors/crowdstrike.png b/public/assets/images/past-sponsors/crowdstrike.png similarity index 100% rename from src/assets/images/past-sponsors/crowdstrike.png rename to public/assets/images/past-sponsors/crowdstrike.png diff --git a/src/assets/images/past-sponsors/disney.png b/public/assets/images/past-sponsors/disney.png similarity index 100% rename from src/assets/images/past-sponsors/disney.png rename to public/assets/images/past-sponsors/disney.png diff --git a/src/assets/images/past-sponsors/google_cloud.png b/public/assets/images/past-sponsors/google_cloud.png similarity index 100% rename from src/assets/images/past-sponsors/google_cloud.png rename to public/assets/images/past-sponsors/google_cloud.png diff --git a/src/assets/images/past-sponsors/linode.png b/public/assets/images/past-sponsors/linode.png similarity index 100% rename from src/assets/images/past-sponsors/linode.png rename to public/assets/images/past-sponsors/linode.png diff --git a/src/assets/images/past-sponsors/matlab.png b/public/assets/images/past-sponsors/matlab.png similarity index 100% rename from src/assets/images/past-sponsors/matlab.png rename to public/assets/images/past-sponsors/matlab.png diff --git a/src/assets/images/past-sponsors/oai.png b/public/assets/images/past-sponsors/oai.png similarity index 100% rename from src/assets/images/past-sponsors/oai.png rename to public/assets/images/past-sponsors/oai.png diff --git a/src/assets/images/past-sponsors/pimco.JPG b/public/assets/images/past-sponsors/pimco.JPG similarity index 100% rename from src/assets/images/past-sponsors/pimco.JPG rename to public/assets/images/past-sponsors/pimco.JPG diff --git a/src/assets/images/past-sponsors/postman.png b/public/assets/images/past-sponsors/postman.png similarity index 100% rename from src/assets/images/past-sponsors/postman.png rename to public/assets/images/past-sponsors/postman.png diff --git a/src/assets/images/past-sponsors/properdata.png b/public/assets/images/past-sponsors/properdata.png similarity index 100% rename from src/assets/images/past-sponsors/properdata.png rename to public/assets/images/past-sponsors/properdata.png diff --git a/src/assets/images/past-sponsors/robinhood.png b/public/assets/images/past-sponsors/robinhood.png similarity index 100% rename from src/assets/images/past-sponsors/robinhood.png rename to public/assets/images/past-sponsors/robinhood.png diff --git a/src/assets/images/past-sponsors/slalom.png b/public/assets/images/past-sponsors/slalom.png similarity index 100% rename from src/assets/images/past-sponsors/slalom.png rename to public/assets/images/past-sponsors/slalom.png diff --git a/src/assets/images/past-sponsors/ucibren.png b/public/assets/images/past-sponsors/ucibren.png similarity index 100% rename from src/assets/images/past-sponsors/ucibren.png rename to public/assets/images/past-sponsors/ucibren.png diff --git a/src/assets/images/past-sponsors/uciinformatics.png b/public/assets/images/past-sponsors/uciinformatics.png similarity index 100% rename from src/assets/images/past-sponsors/uciinformatics.png rename to public/assets/images/past-sponsors/uciinformatics.png diff --git a/src/assets/images/past-sponsors/wayup.png b/public/assets/images/past-sponsors/wayup.png similarity index 100% rename from src/assets/images/past-sponsors/wayup.png rename to public/assets/images/past-sponsors/wayup.png diff --git a/src/assets/images/past-sponsors/zillow.png b/public/assets/images/past-sponsors/zillow.png similarity index 100% rename from src/assets/images/past-sponsors/zillow.png rename to public/assets/images/past-sponsors/zillow.png diff --git a/src/assets/images/past-sponsors/zybooks.png b/public/assets/images/past-sponsors/zybooks.png similarity index 100% rename from src/assets/images/past-sponsors/zybooks.png rename to public/assets/images/past-sponsors/zybooks.png diff --git a/src/assets/images/periwinkleplanet.png b/public/assets/images/periwinkleplanet.png similarity index 100% rename from src/assets/images/periwinkleplanet.png rename to public/assets/images/periwinkleplanet.png diff --git a/src/assets/images/pinkplanet.png b/public/assets/images/pinkplanet.png similarity index 100% rename from src/assets/images/pinkplanet.png rename to public/assets/images/pinkplanet.png diff --git a/src/assets/images/speaker-photos/alyssa_darjuan.jpeg b/public/assets/images/speaker-photos/alyssa_darjuan.jpeg similarity index 100% rename from src/assets/images/speaker-photos/alyssa_darjuan.jpeg rename to public/assets/images/speaker-photos/alyssa_darjuan.jpeg diff --git a/src/assets/images/speaker-photos/dayana_alvarez.jpeg b/public/assets/images/speaker-photos/dayana_alvarez.jpeg similarity index 100% rename from src/assets/images/speaker-photos/dayana_alvarez.jpeg rename to public/assets/images/speaker-photos/dayana_alvarez.jpeg diff --git a/src/assets/images/speaker-photos/janet_chavez_erazo.jpeg b/public/assets/images/speaker-photos/janet_chavez_erazo.jpeg similarity index 100% rename from src/assets/images/speaker-photos/janet_chavez_erazo.jpeg rename to public/assets/images/speaker-photos/janet_chavez_erazo.jpeg diff --git a/src/assets/images/speaker-photos/rupa_prasad.jpeg b/public/assets/images/speaker-photos/rupa_prasad.jpeg similarity index 100% rename from src/assets/images/speaker-photos/rupa_prasad.jpeg rename to public/assets/images/speaker-photos/rupa_prasad.jpeg diff --git a/src/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg b/public/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg similarity index 100% rename from src/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg rename to public/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg diff --git a/src/assets/images/speaker-photos/tara_elsey.jpeg b/public/assets/images/speaker-photos/tara_elsey.jpeg similarity index 100% rename from src/assets/images/speaker-photos/tara_elsey.jpeg rename to public/assets/images/speaker-photos/tara_elsey.jpeg diff --git a/src/assets/images/speaker-photos/thomas_andriola.jpeg b/public/assets/images/speaker-photos/thomas_andriola.jpeg similarity index 100% rename from src/assets/images/speaker-photos/thomas_andriola.jpeg rename to public/assets/images/speaker-photos/thomas_andriola.jpeg diff --git a/src/assets/images/speaker-photos/valentyna_yurtyn.jpeg b/public/assets/images/speaker-photos/valentyna_yurtyn.jpeg similarity index 100% rename from src/assets/images/speaker-photos/valentyna_yurtyn.jpeg rename to public/assets/images/speaker-photos/valentyna_yurtyn.jpeg diff --git a/src/assets/images/sponsors/antrepreneurcenter.png b/public/assets/images/sponsors/antrepreneurcenter.png similarity index 100% rename from src/assets/images/sponsors/antrepreneurcenter.png rename to public/assets/images/sponsors/antrepreneurcenter.png diff --git a/src/assets/images/sponsors/corelogic.png b/public/assets/images/sponsors/corelogic.png similarity index 100% rename from src/assets/images/sponsors/corelogic.png rename to public/assets/images/sponsors/corelogic.png diff --git a/src/assets/images/sponsors/costar.png b/public/assets/images/sponsors/costar.png similarity index 100% rename from src/assets/images/sponsors/costar.png rename to public/assets/images/sponsors/costar.png diff --git a/src/assets/images/sponsors/coxenterprises.png b/public/assets/images/sponsors/coxenterprises.png similarity index 100% rename from src/assets/images/sponsors/coxenterprises.png rename to public/assets/images/sponsors/coxenterprises.png diff --git a/src/assets/images/sponsors/odit.png b/public/assets/images/sponsors/odit.png similarity index 100% rename from src/assets/images/sponsors/odit.png rename to public/assets/images/sponsors/odit.png diff --git a/src/assets/images/stars-background.svg b/public/assets/images/stars-background.svg similarity index 100% rename from src/assets/images/stars-background.svg rename to public/assets/images/stars-background.svg diff --git a/src/assets/images/stars.svg b/public/assets/images/stars.svg similarity index 100% rename from src/assets/images/stars.svg rename to public/assets/images/stars.svg diff --git a/public/assets/images/titles/vh-about.svg b/public/assets/images/titles/vh-about.svg new file mode 100644 index 0000000..f50fa61 --- /dev/null +++ b/public/assets/images/titles/vh-about.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/assets/images/titles/vh-faq.svg b/public/assets/images/titles/vh-faq.svg new file mode 100644 index 0000000..0817100 --- /dev/null +++ b/public/assets/images/titles/vh-faq.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/titles/vh-info2022.png b/public/assets/images/titles/vh-info2022.png similarity index 100% rename from src/assets/images/titles/vh-info2022.png rename to public/assets/images/titles/vh-info2022.png diff --git a/src/assets/images/titles/vh-meet-the-team.png b/public/assets/images/titles/vh-meet-the-team.png similarity index 100% rename from src/assets/images/titles/vh-meet-the-team.png rename to public/assets/images/titles/vh-meet-the-team.png diff --git a/src/assets/images/titles/vh-partners.png b/public/assets/images/titles/vh-partners.png similarity index 100% rename from src/assets/images/titles/vh-partners.png rename to public/assets/images/titles/vh-partners.png diff --git a/src/assets/images/titles/vh-past-partners.png b/public/assets/images/titles/vh-past-partners.png similarity index 100% rename from src/assets/images/titles/vh-past-partners.png rename to public/assets/images/titles/vh-past-partners.png diff --git a/src/assets/images/titles/vh-past-sponsors.png b/public/assets/images/titles/vh-past-sponsors.png similarity index 100% rename from src/assets/images/titles/vh-past-sponsors.png rename to public/assets/images/titles/vh-past-sponsors.png diff --git a/src/assets/images/titles/vh-speakers.png b/public/assets/images/titles/vh-speakers.png similarity index 100% rename from src/assets/images/titles/vh-speakers.png rename to public/assets/images/titles/vh-speakers.png diff --git a/src/assets/images/titles/vh-sponsors.png b/public/assets/images/titles/vh-sponsors.png similarity index 100% rename from src/assets/images/titles/vh-sponsors.png rename to public/assets/images/titles/vh-sponsors.png diff --git a/src/assets/images/titles/vh-title-launch.svg b/public/assets/images/titles/vh-title-launch.svg similarity index 100% rename from src/assets/images/titles/vh-title-launch.svg rename to public/assets/images/titles/vh-title-launch.svg diff --git a/src/assets/images/titles/vh-title.png b/public/assets/images/titles/vh-title.png similarity index 100% rename from src/assets/images/titles/vh-title.png rename to public/assets/images/titles/vh-title.png diff --git a/src/assets/images/titles/vh-worded-logo.png b/public/assets/images/titles/vh-worded-logo.png similarity index 100% rename from src/assets/images/titles/vh-worded-logo.png rename to public/assets/images/titles/vh-worded-logo.png diff --git a/src/assets/images/vh-astronaut-float.png b/public/assets/images/vh-astronaut-float.png similarity index 100% rename from src/assets/images/vh-astronaut-float.png rename to public/assets/images/vh-astronaut-float.png diff --git a/src/assets/images/vh-astronaut.png b/public/assets/images/vh-astronaut.png similarity index 100% rename from src/assets/images/vh-astronaut.png rename to public/assets/images/vh-astronaut.png diff --git a/src/assets/images/vh-big-dipper.png b/public/assets/images/vh-big-dipper.png similarity index 100% rename from src/assets/images/vh-big-dipper.png rename to public/assets/images/vh-big-dipper.png diff --git a/src/assets/images/vh-boba.png b/public/assets/images/vh-boba.png similarity index 100% rename from src/assets/images/vh-boba.png rename to public/assets/images/vh-boba.png diff --git a/src/assets/images/vh-cassiopeia.png b/public/assets/images/vh-cassiopeia.png similarity index 100% rename from src/assets/images/vh-cassiopeia.png rename to public/assets/images/vh-cassiopeia.png diff --git a/src/assets/images/vh-cat.png b/public/assets/images/vh-cat.png similarity index 100% rename from src/assets/images/vh-cat.png rename to public/assets/images/vh-cat.png diff --git a/src/assets/images/vh-laptop.png b/public/assets/images/vh-laptop.png similarity index 100% rename from src/assets/images/vh-laptop.png rename to public/assets/images/vh-laptop.png diff --git a/src/assets/images/vh-pegasus.png b/public/assets/images/vh-pegasus.png similarity index 100% rename from src/assets/images/vh-pegasus.png rename to public/assets/images/vh-pegasus.png diff --git a/src/assets/images/vh-periwinkle-planet.png b/public/assets/images/vh-periwinkle-planet.png similarity index 100% rename from src/assets/images/vh-periwinkle-planet.png rename to public/assets/images/vh-periwinkle-planet.png diff --git a/src/assets/images/vh-planet.png b/public/assets/images/vh-planet.png similarity index 100% rename from src/assets/images/vh-planet.png rename to public/assets/images/vh-planet.png diff --git a/src/app/favicon.ico b/public/favicon.ico similarity index 100% rename from src/app/favicon.ico rename to public/favicon.ico diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..cdb2577 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,26 @@ +// import { BrowserRouter, Routes, Route } from "react-router-dom"; +import { createBrowserRouter, RouterProvider } from "react-router-dom"; + +import { Home, Schedule, Resources, Workshops, NotFound } from "src/app/views"; + +// import { Nav } from "src/app/components"; + +import "./App.css"; + +const router = createBrowserRouter([ + { + path: "/", + element: , + errorElement: , + }, +]); + +function App() { + return ( +
+ +
+ ); +} + +export default App; diff --git a/src/app/(main)/(home)/page.jsx b/src/app/(main)/(home)/page.jsx deleted file mode 100644 index 90834f9..0000000 --- a/src/app/(main)/(home)/page.jsx +++ /dev/null @@ -1,52 +0,0 @@ -"use client"; - -import Image from "next/image"; - -import { comfortaa } from "@/app/fonts"; - -import { VenusButton } from "@/app/components"; - -import vhTitle from "@/assets/images/titles/vh-title-launch.svg"; -import "./Home.scss"; - -const VH_DATE = "May 24 - 26, 2024"; -// const VH_DATE = "Coming Soon!"; - -const Home = () => { - return ( -
- {/* HERO **********************/} -
-
- {/* These assets are a background of a div instead of imgs to prevent - them from being able to be saved to camera roll on iOS */} -
-
-
-
-
- -
- VenusHacks Title Logo -

- {VH_DATE} -

-

UC Irvine's largest women-centric hackathon

-

Apps are now open!

- - - -
-
-
- ); -}; - -export default Home; diff --git a/src/app/(main)/layout.jsx b/src/app/(main)/layout.jsx deleted file mode 100644 index ccd8baf..0000000 --- a/src/app/(main)/layout.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import "@/app/globals.css"; - -const Layout = ({ children }) => { - return ( - <> - {children} - - ); -}; - -export default Layout; diff --git a/src/app/(main)/resources/Resources.scss b/src/app/(main)/resources/Resources.scss deleted file mode 100644 index 2225a9e..0000000 --- a/src/app/(main)/resources/Resources.scss +++ /dev/null @@ -1,108 +0,0 @@ -@import "../vh-styles.scss"; - -.starter-packs { - min-height: 100vh; - width: 100vw; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: white; - - .starter-packs-instructions { - min-height: calc(100vh - 114px); - width: 60vw; - text-align: left; - display: flex; - flex-direction: column; - padding-top: 4rem; - padding-bottom: 4rem; - - p { - font-size: 1.4rem; - } - - a { - text-decoration: underline; - } - } - - .starter-pack-card { - margin: 3rem auto; - width: 80vw; - min-height: 10rem; - border-radius: 25px; - background-color: #42384473; - color: white; - display: flex; - align-items: center; - justify-content: center; - padding: 3rem; - z-index: 10; - display: flex; - flex-direction: row; - min-height: auto; - opacity: 0.8; - - @media screen and (max-width: $break-medium) { - flex-direction: column; - } - - p { - font-size: 1.4rem; - } - - .starter-pack-card-information { - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: flex-start; - width: 60%; - height: 100%; - - @media screen and (max-width: $break-medium) { - align-items: center; - width: 90%; - } - } - - .starter-pack-card-links { - display: flex; - flex-direction: column; - width: 40%; - margin-top: 1rem; - - @media screen and (max-width: $break-medium) { - width: 90%; - h4 { - font-size: 1em; - } - } - - a { - width: 100%; - margin-bottom: 1rem; - - div { - border: 3px solid $pink; - width: 100%; - padding: 1rem; - border-radius: 1rem; - border-collapse: separate; - display: inline-block; - } - - h4 { - margin-bottom: 0; - } - } - } - } - - h2 { - margin-top: 2em; - } -} diff --git a/src/app/(main)/resources/page.jsx b/src/app/(main)/resources/page.jsx deleted file mode 100644 index 3031bb1..0000000 --- a/src/app/(main)/resources/page.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import { redirect } from "next/navigation"; -// import { Tooltip, Footer } from "@/app/components"; -// import { starterPackData } from "@/assets/data/resources-info"; - -import "./Resources.scss"; - -// function Resources() { -// return ( -//
-//

Resources

-// {starterPackData.map(function (starterPack) { -// return ( -//
-//
-//

{starterPack.name}

-//

{starterPack.description}

-//
-//
-// {starterPack.packs.map(function (pack) { -// return ( -// -// -//
-//

{pack.name}

-//
-//
-//
-// ); -// })} -//
-//
-// ); -// })} -//
-//
-// ); -// } - -const Resources = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES ? redirect("/") :

Resources

; - -export default Resources; diff --git a/src/app/(main)/schedule/Schedule.scss b/src/app/(main)/schedule/Schedule.scss deleted file mode 100644 index 778662a..0000000 --- a/src/app/(main)/schedule/Schedule.scss +++ /dev/null @@ -1,212 +0,0 @@ -@import "../vh-styles.scss"; - -.Schedule { - min-height: 100vh; - width: 100vw; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: white; - - h1 { - font-weight: 600; - } - - .stripes { - width: 100vw; - height: 80vh; - transform-origin: 0; - // background-image: url('./../../../assets/images/background.png'); - background-size: cover; - position: absolute; - - .div { - position: absolute; - } - } - - .inner0 { - background-image: linear-gradient(to left, $leftGradient, $rightOffGradient); - grid-area: 5 / 5 / 5 / 6; - } - - .inner1 { - background-image: linear-gradient(to right, $rightOffGradient, $leftGradient); - grid-area: 1 / 1 / 1 / 4; - } - - .inner2 { - background-image: linear-gradient(to left, $leftGradient, $rightOffGradient); - grid-area: 2 / 3 / 2 / 6; - } - - .inner3 { - background-image: linear-gradient(to right, $leftGradient, $rightOffGradient); - grid-area: 5 / 1 / 5 / 3; - } - - #intro { - height: 90vh; - position: relative; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - text-align: left; - color: white; - - .schedule-nav { - position: absolute; - top: 0; - right: 0; - display: flex; - justify-content: flex-end; - - a { - margin-right: 0 !important; - text-decoration: none; - display: flex; - align-items: center; - - h5 { - margin-bottom: 0; - } - } - } - - .schedule-button { - margin: 2em; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1); - } - - .title-info { - display: flex; - flex-direction: row; - width: 60vw; - - @media screen and (max-width: $break-medium) { - flex-direction: column; - align-items: center; - text-align: center; - - button { - align-self: center; - } - - img { - margin-right: 0 !important; - } - - h1 { - font-size: 60px; - } - } - - img { - width: 250px; - height: 250px; - margin-right: 2em; - } - - div { - display: flex; - flex-direction: column; - justify-content: center; - - button { - width: 100px; - } - } - - h1 { - margin-bottom: .1em !important; - } - } - } - - #schedule-nav { - width: 100vh; - position: relative; - } - - #schedule-block { - position: relative; - display: flex; - align-items: center; - flex-direction: column; - padding-bottom: 100px; - - .schedule-hacking-ends-in { - margin-bottom: 30px; - color: $pink; - - @media screen and (max-width: $break-medium) { - font-size: 20px; - } - } - - .schedule-countdown { - margin-top: 10px; - margin-bottom: 30px; - - & > section > span { - font-size: 16px; - margin-left: 2px; - } - } - - .schedule-header { - margin-top: 100px; - height: 15vh; - width: 100vw; - display: flex; - justify-content: center; - align-items: center; - color: white; - text-align: left; - - .hat-left { - width: 40px; - height: 40px; - } - - & > div { - width: 40vw; - display: grid; - grid-template-columns: 33% 33% 20%; - text-align: center; - - @media screen and (max-width: 800px) { - width: 80vw; - - h3 { - font-size: 25px; - } - } - - div { - display: flex; - justify-content: center; - align-items: center; - } - } - } - } - - #credits { - background-color: white; - height: 15vh; - margin-top: 10vh; - display: flex; - justify-content: center; - align-items: center; - - p { - margin: 0; - } - } -} diff --git a/src/app/(main)/schedule/page.jsx b/src/app/(main)/schedule/page.jsx deleted file mode 100644 index 16fd674..0000000 --- a/src/app/(main)/schedule/page.jsx +++ /dev/null @@ -1,38 +0,0 @@ -"use client"; - -import { redirect } from "next/navigation"; -// import { -// Countdown, -// FloatingLaptop, -// Footer, -// ScheduleCard, -// } from "@/app/components"; - -import "./Schedule.scss"; - -// const HACKING_DEADLINE = "28 May 2023 09:00:00 PDT"; - -// const Schedule = () => ( -//
-//
-//
-// -//

Schedule

-// -//
-//

-// All times in PDT. Hacking ends in: -//

-//
-// -//
-//

See you next year!

-// -//
-//
-//
-// ); - -const Schedule = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE ? redirect("/") :

Schedule

; - -export default Schedule; diff --git a/src/app/(main)/workshops/Workshops.scss b/src/app/(main)/workshops/Workshops.scss deleted file mode 100644 index 9c47ff3..0000000 --- a/src/app/(main)/workshops/Workshops.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import "../../(main)/vh-styles.scss"; - -.workshops { - min-height: 100vh; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - flex-direction: column; - - h2 { - margin-top: 2em; - } -} diff --git a/src/app/(main)/workshops/page.jsx b/src/app/(main)/workshops/page.jsx deleted file mode 100644 index c7faf26..0000000 --- a/src/app/(main)/workshops/page.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import { redirect } from "next/navigation"; -// import { WorkshopCard, Footer } from "@/app/components"; -// import { workshopsData } from "@/assets/data/workshops-info"; - -import "./Workshops.scss"; - -// const Workshops = () => { -// return ( -//
-//

Workshops

-//
-// For time and location info, check the{" "} -// Schedule page! -//
-// {workshopsData.map((workshop) => WorkshopCard(workshop))} -//
-//
-// ); -// }; - -const Workshops = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_WORKSHOPS ? redirect("/") :

Workshops

; - -export default Workshops; diff --git a/src/app/components/countdown/Countdown.jsx b/src/app/components/countdown/Countdown.jsx index 34e77ba..d7621a5 100644 --- a/src/app/components/countdown/Countdown.jsx +++ b/src/app/components/countdown/Countdown.jsx @@ -3,7 +3,12 @@ import Confetti from "react-confetti"; import FlipNumbers from "react-flip-numbers"; const Countdown = ({ date }) => { - const [winDim, setWinDim] = useState({ height: 0, width: 0 }); + const getWinDims = () => { + const { innerWidth: width, innerHeight: height } = window; + return { width, height }; + }; + + const [winDim, setWinDim] = useState(getWinDims()); const [timer, setTimer] = useState("00:00:00"); const [hasTimerInit, setHasTimerInit] = useState(false); const ref = useRef(null); @@ -42,8 +47,7 @@ const Countdown = ({ date }) => { }, [date]); useEffect(() => { - const { innerWidth: width, innerHeight: height } = window; - const handleResize = () => setWinDim({ width, height }); + const handleResize = () => setWinDim(getWinDims()); window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); diff --git a/src/app/components/faqs/FAQs.js b/src/app/components/faqs/FAQs.js deleted file mode 100644 index 0bd052a..0000000 --- a/src/app/components/faqs/FAQs.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react"; -import faq_data from "./FAQs.json"; -import { Card, Accordion } from "react-bootstrap"; -import "./FAQs.scss"; - -const SingleFAQ = ({ index, data }) => ( - - - {data.question} - - - - - -); - -export default class FAQs extends React.Component { - render() { - var leftFAQs = faq_data.filter(function (faq, index) { - return index % 2 === 0; - }); - - var rightFAQs = faq_data.filter(function (faq, index) { - return index % 2 !== 0; - }); - - return ( -
- {/* Two accordions, one faq on each side can be open at a time */} -
- - {leftFAQs.map((faq, i) => ( - - ))} - - - {rightFAQs.map((faq, i) => ( - - ))} - -
- - {/* One accordion, one faq can be open at a time */} -
- - {faq_data.map((faq, i) => ( - - ))} - -
-
- ); - } -} diff --git a/src/app/components/faqs/FAQs.json b/src/app/components/faqs/FAQs.json index 9a4157c..3f57fb9 100644 --- a/src/app/components/faqs/FAQs.json +++ b/src/app/components/faqs/FAQs.json @@ -7,44 +7,48 @@ "question": "Who can participate?", "answer": "We hope this event inspires and highlights high school, undergraduate, and graduate students ages 18 or older who identify as women, gender minorities, or allies interested in technology. There are also opportunities to participate as mentors and volunteers to support!" }, + { + "question": "What if I have no experience?", + "answer": "Perfect! We welcome hackers of all experience levels and backgrounds. We will be providing resources and workshops to help new hackers get started on projects and learn new technologies. There will also be mentors at the event to help guide you!" + }, { "question": "Can high schoolers attend?", "answer": "Yes! However, you must be at least 18 years old at the time of the hackathon to attend." }, { - "question": "Will transportation to the event or overnight accommodations be provided?", - "answer": "No, all attendees (UCI and non-UCI students) are responsible for their own transportation to UC Irvine and overnight stay between event days." + "question": "Will the hackathon be in-person or online?", + "answer": "VenusHacks 2024 will be fully in-person! Hackers should expect to be available in-person all 3 event days from Friday night to Sunday morning." }, { - "question": "What do I need? (What can/should I bring?)", - "answer": "An open mind, valid photo ID, laptop, charger, and anything else you would need to hack! We also encourage bringing a refillable water bottle and any items that might come in handy during the hacking experience (e.g., for inspiration or comfort)." + "question": "Will transportation or overnight accommodations be provided?", + "answer": "No, all attendees (UCI and non-UCI students) are responsible for their own transportation to UC Irvine and overnight stay between event days." }, { - "question": "What if I have no experience?", - "answer": "Perfect! We welcome hackers of all experience levels and backgrounds. We will be providing resources and workshops to help new hackers get started on projects and learn new technologies. There will also be mentors at the event to help guide you!" + "question": "What do I need to bring?", + "answer": "Bring a valid photo ID, laptop, charger, and anything else you would need to hack! We also encourage bringing a refillable water bottle to help stay hydrated." }, { "question": "Do I sign up as an individual or as a team?", - "answer": "Individual. We will be accepting applicants on an individual basis. Those accepted can form teams before the hackathon (i.e. via our Slack channel) or during our team formation event at the start of the hackathon. " + "answer": "Applications are submitted individually. Those accepted can form teams before the hackathon (i.e. via our Slack channel) or during our team formation event at the start of the hackathon." }, { - "question": "Can I come with a project pre-built or will I have to build from scratch?", - "answer": "You will be building your project from scratch. Participants that start working on their projects before the hacking period begins will be immediately disqualified from the competition. However, feel free to come up with ideas of what you want to build before the hackathon!" + "question": "Can I come with a project pre-built, or will I have to build it from scratch?", + "answer": "You will be building your project from scratch. Participants who start working on their projects before the hacking period begins will be immediately disqualified from the competition. However, feel free to brainstorm ideas of what you want to build before the hackathon!" }, { - "question": "Will the hackathon be in-person or online?", - "answer": "VenusHacks 2023 will be fully in-person! Hackers should expect to be available in-person all 3 event days from Friday night to Sunday morning." + "question": "How many people can be on a team?", + "answer": "Up to 4 hackers can be on a team. Participants are free to form smaller teams or compete individually, but it is recommended to find other students to collaborate with!" }, { - "question": "How many people can be on a team?", - "answer": "Up to 4 hackers can be on a team." + "question": "Will food be provided?", + "answer": "Yes! Meals and snacks will be provided throughout the hackathon for all participants." }, { - "question": "When will applications open?", - "answer": "Applications for VenusHacks 2023 are now open! You can apply as a hacker (venushacks.com/apply) or as a volunteer (venushacks.com/volunteer)." + "question": "When will applications close?", + "answer": "Applications will close Friday, May 3rd, 2024 at 11:59 PM!" }, { - "question": "How do I get hyped?", - "answer": "Follow our Facebook page: @venushacksUCI and our Instagram: @venushacks_uci for important updates!" + "question": "When will the hackathon begin?", + "answer": "The hackathon will take place from Friday, May 24th to Sunday, May 26th!" } -] \ No newline at end of file +] diff --git a/src/app/components/faqs/FAQs.jsx b/src/app/components/faqs/FAQs.jsx new file mode 100644 index 0000000..89924b8 --- /dev/null +++ b/src/app/components/faqs/FAQs.jsx @@ -0,0 +1,45 @@ +import { Accordion } from "react-bootstrap"; + +import SingleFAQ from "./SingleFAQ"; +import faq_data from "./FAQs.json"; + +import "./FAQs.scss"; + +export default function FAQs() { + const leftFAQs = faq_data.filter(function (faq, index) { + return index % 2 === 0; + }); + + const rightFAQs = faq_data.filter(function (faq, index) { + return index % 2 !== 0; + }); + + return ( +
+ {/* Two accordions, one faq on each side can be open at a time */} +
+ + {leftFAQs.map((faq, i) => ( + + ))} + + + {rightFAQs.map((faq, i) => ( + + ))} + +
+ + {/* One accordion, one faq can be open at a time */} +
+
+ + {faq_data.map((faq, i) => ( + + ))} + +
+
+
+ ); +} diff --git a/src/app/components/faqs/FAQs.scss b/src/app/components/faqs/FAQs.scss index 29cfc2b..4d283ee 100644 --- a/src/app/components/faqs/FAQs.scss +++ b/src/app/components/faqs/FAQs.scss @@ -1,65 +1,37 @@ -@import "globals/vh-styles.scss"; +// @import "../../../globals/vh-styles.scss"; #faq-accordion-wrapper { - width: 80vw; - text-align: left; + width: 80vw; + text-align: left; - #faq-accordion-grid { - display: grid; - grid-template-columns: 1fr 1fr; - grid-column-gap: 20px; + #faq-accordion-grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-column-gap: 20px; - @media screen and (max-width: 830px) { - display: none; - } - } + @media screen and (max-width: 830px) { + display: none; + } + } - #faq-accordion-mobile { - display: none; + #faq-accordion-mobile { + display: none; - @media screen and (max-width: 830px) { - display: block; - } - } + @media screen and (max-width: 830px) { + display: block; + } + } } // BOOTSTRAP ACCORDION STYLING -.accordion { - text-align: left; -} -.accordion>.card .card-header, .card-body { - background: none; -} -.accordion>.card { - border: none; - background: none; - border-bottom: solid 1px white !important; - border-radius: 0 !important; -} -div.card-header { - text-align: left; - font-size: 1.4em; - border: none; - font-weight: 500; - padding: 15px 0; - transition: 0.3s; - @media screen and (max-width: $break-medium) { - font-size: 17px; - padding: 10px 0; - } -} -div.card-body { - text-align: left; -} -div.card-header:hover { - cursor: pointer; - color: $pink; -} -div.card-body { - font-size: 1.2em; - padding: 0 0 10px; - @media screen and (max-width: $break-medium) { - font-size: 15px; - } +.accordion { + text-align: left; + --bs-accordion-color: #322660; + --bs-accordion-active-color: #322660; + --bs-accordion-btn-color: #322660; + --bs-accordion-bg: none; + --bs-accordion-border-color: none; + --bs-accordion-active-bg: none; + --bs-accordion-btn-focus-box-shadow: none; } diff --git a/src/app/components/faqs/SingleFAQ.jsx b/src/app/components/faqs/SingleFAQ.jsx new file mode 100644 index 0000000..7d56331 --- /dev/null +++ b/src/app/components/faqs/SingleFAQ.jsx @@ -0,0 +1,10 @@ +import { Accordion } from "react-bootstrap"; + +const SingleFAQ = ({ index, data }) => ( + + {data.question} + {data.answer} + +); + +export default SingleFAQ; diff --git a/src/app/components/floating-laptop/FloatingLaptop.js b/src/app/components/floating-laptop/FloatingLaptop.jsx similarity index 51% rename from src/app/components/floating-laptop/FloatingLaptop.js rename to src/app/components/floating-laptop/FloatingLaptop.jsx index de5b48d..34b995b 100644 --- a/src/app/components/floating-laptop/FloatingLaptop.js +++ b/src/app/components/floating-laptop/FloatingLaptop.jsx @@ -1,6 +1,4 @@ -import Image from "next/image"; - -import laptop from "@/assets/images/vh-laptop.png"; +import laptop from "/assets/images/vh-laptop.png"; import "./FloatingLaptop.scss"; // TODO Redo this animation natively or in Framer Motion @@ -22,32 +20,28 @@ import "./FloatingLaptop.scss"; // }) const FloatingLaptop = () => { - // const image = ({height, degree}) => ( - // floating laptop `translateY(${h - 10}px) rotate(-50deg)`), - // transformOrigin: 'top center', - // }} - // /> - // ); + // const image = ({height, degree}) => ( + // floating laptop `translateY(${h - 10}px) rotate(-50deg)`), + // transformOrigin: 'top center', + // }} + // /> + // ); - return ( - // - // {image} - // - Floating Laptop - ); + return ( + // + // {image} + // + Floating Laptop + ); }; export default FloatingLaptop; diff --git a/src/app/components/floating-laptop/FloatingLaptop.scss b/src/app/components/floating-laptop/FloatingLaptop.scss index 7b74f9a..5078fe0 100644 --- a/src/app/components/floating-laptop/FloatingLaptop.scss +++ b/src/app/components/floating-laptop/FloatingLaptop.scss @@ -1,11 +1,11 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -.floating-laptop { - width: 60px; - margin-right: 45px; - height: 60px; +.floating-hat { + width: 60px; + margin-right: 45px; + height: 60px; - @media screen and (max-width: $break-small) { - display: none; - } + @media screen and (max-width: $break-small) { + display: none; + } } diff --git a/src/app/components/footer/Footer.js b/src/app/components/footer/Footer.js deleted file mode 100644 index bc3b841..0000000 --- a/src/app/components/footer/Footer.js +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react"; -import "./Footer.scss"; - -function Footer() { - return ( - - ); -} - -export default Footer; diff --git a/src/app/components/footer/Footer.jsx b/src/app/components/footer/Footer.jsx new file mode 100644 index 0000000..81b1ad7 --- /dev/null +++ b/src/app/components/footer/Footer.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import './Footer.scss'; + +function Footer() { + return ( + + ) +} + +export default Footer; \ No newline at end of file diff --git a/src/app/components/footer/Footer.scss b/src/app/components/footer/Footer.scss index 7d0576d..d35b37b 100644 --- a/src/app/components/footer/Footer.scss +++ b/src/app/components/footer/Footer.scss @@ -1,21 +1,21 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; #footer { - width: 100vw; - height: 125px; - background-color: #382a77; + width: 100vw; + height: 125px; + background-color: #382a77; - font-size: 35px; - display: flex; - justify-content: center; - align-items: center; + font-size: 35px; + display: flex; + justify-content: center; + align-items: center; - a { - color: $fontColor; - margin: 0 15px; - } + a { + color: $fontColor; + margin: 0 15px; + } - a:hover { - color: $pink; - } + a:hover { + color: $pink; + } } diff --git a/src/app/components/meet-team/team.js b/src/app/components/meet-team/team.js deleted file mode 100755 index 236526d..0000000 --- a/src/app/components/meet-team/team.js +++ /dev/null @@ -1,61 +0,0 @@ -import React from "react"; -import "./team.scss"; - -export default class Team extends React.Component { - render() { - let organizers = [ - { photo: "alan", name: "Alan Chang" }, - { photo: "alicia", name: "Alicia Chuang" }, - { photo: "alisa", name: "Alisa Lu" }, - { photo: "araam", name: "Araam Abutaha" }, - { photo: "audrey", name: "Audrey Lam" }, - { photo: "avent", name: "Avent Chiu" }, - { photo: "brian", name: "Brian Lin" }, - { photo: "caroline", name: "Caroline Wang" }, - { photo: "cheryl", name: "Cheryl Chen" }, - { photo: "chloe", name: "Chloe Cheng" }, - { photo: "cinta", name: "Cinta Adhiningrat" }, - { photo: "crystal", name: "Crystal Lai" }, - { photo: "grace", name: "Grace Manning" }, - { photo: "graceW", name: "Grace Wang" }, - { photo: "hang", name: "Hang Cao" }, - { photo: "jefferey", name: "Jefferey Lee Chea" }, - { photo: "jenny", name: "Jenny Liu" }, - { photo: "kirby", name: "Kirby Ammari" }, - { photo: "kristen", name: "Kristen Yee" }, - { photo: "mason", name: "Mason Wong" }, - { photo: "mignon", name: "Mignon April Lee" }, - { photo: "mirelle", name: "Mirelle George" }, - { photo: "nathanC", name: "Nathan Choi" }, - { photo: "nathan", name: "Nathan Huey" }, - { photo: "nicole", name: "Nicole Nguyen" }, - { photo: "philip", name: "Philip Truong" }, - { photo: "randy", name: "Randy Huynh" }, - { photo: "riley", name: "Riley Wong" }, - { photo: "rochelle", name: "Rochelle Nixon" }, - { photo: "rosalind", name: "Rosalind Guo" }, - { photo: "ruslan", name: "Ruslan Manoharan" }, - { photo: "ryan", name: "Ryan Eurich" }, - { photo: "sam", name: "Sam Der" }, - { photo: "shreshta", name: "Shreshta Kumar" }, - { photo: "taylor", name: "Taylor Quach" }, - ]; - - const images = organizers.map((organizer, i) => ( -
-
- {organizer.photo (e.currentTarget.src = require('assets/images/organizer-photos-funny/'+organizer.photo+'-funny.jpeg'))} - //onMouseOut={e => (e.currentTarget.src = require('assets/images/organizer-photos/'+organizer.photo+'.jpeg'))} - /> -
-

{organizer.name}

-
- )); - return
{images}
; - } -} diff --git a/src/app/components/meet-team/team.jsx b/src/app/components/meet-team/team.jsx new file mode 100755 index 0000000..743542c --- /dev/null +++ b/src/app/components/meet-team/team.jsx @@ -0,0 +1,65 @@ +import React from "react"; +import './team.scss'; + + +export default class Team extends React.Component { + render() { + let organizers = [ + {photo: "alan", name: "Alan Chang"}, + {photo: "alicia", name: "Alicia Chuang"}, + {photo: "alisa", name: "Alisa Lu"}, + {photo: "araam", name: "Araam Abutaha"}, + {photo: "audrey", name: "Audrey Lam"}, + {photo: "avent", name: "Avent Chiu"}, + {photo: "brian", name: "Brian Lin"}, + {photo: "caroline", name: "Caroline Wang"}, + {photo: "cheryl", name: "Cheryl Chen"}, + {photo: "chloe", name: "Chloe Cheng"}, + {photo: "cinta", name: "Cinta Adhiningrat"}, + {photo: "crystal", name: "Crystal Lai"}, + {photo: "grace", name: "Grace Manning"}, + {photo: "graceW", name: "Grace Wang"}, + {photo: "hang", name: "Hang Cao"}, + {photo: "jefferey", name: "Jefferey Lee Chea"}, + {photo: "jenny", name: "Jenny Liu"}, + {photo: "kirby", name: "Kirby Ammari"}, + {photo: "kristen", name: "Kristen Yee"}, + {photo: "mason", name: "Mason Wong"}, + {photo: "mignon", name: "Mignon April Lee"}, + {photo: "mirelle", name: "Mirelle George"}, + {photo: "nathanC", name: "Nathan Choi"}, + {photo: "nathan", name: "Nathan Huey"}, + {photo: "nicole", name: "Nicole Nguyen"}, + {photo: "philip", name: "Philip Truong"}, + {photo: "randy", name: "Randy Huynh"}, + {photo: "riley", name: "Riley Wong"}, + {photo: "rochelle", name: "Rochelle Nixon"}, + {photo: "rosalind", name: "Rosalind Guo"}, + {photo: "ruslan", name: "Ruslan Manoharan"}, + {photo: "ryan", name: "Ryan Eurich"}, + {photo: "sam", name: "Sam Der"}, + {photo: "shreshta", name: "Shreshta Kumar"}, + {photo: "taylor", name: "Taylor Quach"} + ]; + + const images = organizers.map((organizer, i) => +
+
+ {organizer.photo (e.currentTarget.src = require('assets/images/organizer-photos-funny/'+organizer.photo+'-funny.jpeg'))} + //onMouseOut={e => (e.currentTarget.src = require('assets/images/organizer-photos/'+organizer.photo+'.jpeg'))} + /> +
+

{organizer.name}

+
+ ); + return ( +
+ {images} +
+ + ); + } +} diff --git a/src/app/components/meet-team/team.scss b/src/app/components/meet-team/team.scss index 863c37b..8adfabd 100755 --- a/src/app/components/meet-team/team.scss +++ b/src/app/components/meet-team/team.scss @@ -1,37 +1,36 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -#organizer-photos{ - padding: 10px 50px 175px; - margin-bottom: 25px; +#organizer-photos { + padding: 10px 50px 175px; + margin-bottom: 25px; - @media screen and (max-width: $break-small) { - padding: 0 0 175px 0; - } + @media screen and (max-width: $break-small) { + padding: 0 0 175px 0; + } - .organizer-img-wrapper { - width: 200px; - height: 200px; - margin: 15px; + .organizer-img-wrapper { + width: 200px; + height: 200px; + margin: 15px; - @media screen and (max-width: 560px) { - width: 120px; - height: 120px; - margin: 14px 20px; - } - } + @media screen and (max-width: 560px) { + width: 120px; + height: 120px; + margin: 14px 20px; + } + } - .organizer-img-wrapper img { - width: 100%; - height: 100%; - object-fit: cover; - border-radius: 50%; - } - - p { - @media screen and (max-width: $break-medium) { - font-size: 15px; - margin-bottom: 0; - } - } + .organizer-img-wrapper img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 50%; + } + p { + @media screen and (max-width: $break-medium) { + font-size: 15px; + margin-bottom: 0; + } + } } diff --git a/src/app/components/nav/Nav.js b/src/app/components/nav/Nav.js deleted file mode 100644 index f6a6be7..0000000 --- a/src/app/components/nav/Nav.js +++ /dev/null @@ -1,58 +0,0 @@ -import React, { useState } from "react"; -import { Link } from "react-router-dom"; -import { Button } from "react-bootstrap"; - -import "./Nav.scss"; - -function Nav() { - const [showDropMenu, setShowDropMenu] = useState(false); - - const toggleDropDownMenu = () => { - setShowDropMenu(!showDropMenu); - }; - - // hideDropDownMenu is the onclick function for the nav - // If the menu is shown and the user clicks somewhere on - // the screen, the menu will be hidden. - const hideDropDownMenu = () => { - if (showDropMenu) { - setShowDropMenu(false); - } - }; - - return ( -
- -
- -

Home

- - -

Schedule

- - -

Resources

- - -

Workshops

- - -

Incident Form

- - -

Devpost

- -
-
- ); -} - -export default Nav; diff --git a/src/app/components/nav/Nav.jsx b/src/app/components/nav/Nav.jsx new file mode 100644 index 0000000..5ca2cd6 --- /dev/null +++ b/src/app/components/nav/Nav.jsx @@ -0,0 +1,58 @@ +import { useState } from "react"; +import { Link } from "react-router-dom"; +import { Button } from "react-bootstrap"; + +import "./Nav.scss"; + +function Nav() { + const [showDropMenu, setShowDropMenu] = useState(false); + + const toggleDropDownMenu = () => { + setShowDropMenu(!showDropMenu); + }; + + // hideDropDownMenu is the onclick function for the nav + // If the menu is shown and the user clicks somewhere on + // the screen, the menu will be hidden. + const hideDropDownMenu = () => { + if (showDropMenu) { + setShowDropMenu(false); + } + }; + + return ( +
+ +
+ +

Home

+ + +

Schedule

+ + +

Resources

+ + +

Workshops

+ + +

Incident Form

+ + +

Devpost

+ +
+
+ ); +} + +export default Nav; diff --git a/src/app/components/nav/Nav.scss b/src/app/components/nav/Nav.scss index 22b5644..4475bfd 100644 --- a/src/app/components/nav/Nav.scss +++ b/src/app/components/nav/Nav.scss @@ -1,102 +1,102 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; .nav { - width: 100vw; - height: 100px; - display: flex; - justify-content: flex-end; - position: fixed; - z-index: 100000; - background-image: linear-gradient(#292053, rgba(18,32,66,0)); - top: 0; - transition: all .2s ease; + width: 100vw; + height: 100px; + display: flex; + justify-content: flex-end; + position: fixed; + z-index: 100000; + background-image: linear-gradient(#292053, rgba(18, 32, 66, 0)); + top: 0; + transition: all 0.2s ease; - .menu-button { - display: none; - left: 30px; - top: 30px; - position: absolute; - background-color: #fff; - border-color: #fff; - color: rgb(153, 166, 229); - border-radius: 10px; - font-size: 1.5em; - } + .menu-button { + display: none; + left: 30px; + top: 30px; + position: absolute; + background-color: #fff; + border-color: #fff; + color: rgb(153, 166, 229); + border-radius: 10px; + font-size: 1.5em; + } - a { - text-decoration: none; - } + a { + text-decoration: none; + } - p { - color: white; - font-size: 20px; - margin-right: 30px; - margin-bottom: 0px; - line-height: 38px; - width: 100%; - } + p { + color: white; + font-size: 20px; + margin-right: 30px; + margin-bottom: 0px; + line-height: 38px; + width: 100%; + } - p:hover { - cursor: pointer; - } + p:hover { + cursor: pointer; + } - .nav-container { - margin-right: 30px; - margin-top: 30px; - display: flex; - flex-direction: row; - transition: all .2s ease; + .nav-container { + margin-right: 30px; + margin-top: 30px; + display: flex; + flex-direction: row; + transition: all 0.2s ease; - img { - height: 40px; - width: 40px; - } - } + img { + height: 40px; + width: 40px; + } + } - .nav-right { - margin-right: 30px; - margin-top: 30px; - display: flex; - flex-direction: row; - } + .nav-right { + margin-right: 30px; + margin-top: 30px; + display: flex; + flex-direction: row; + } - #mlh-trust-badge { - display:block; - max-width:100px; - min-width:60px; - position:fixed; - right:30px; - top:0; - width:10%; - z-index:10000; + #mlh-trust-badge { + display: block; + max-width: 100px; + min-width: 60px; + position: fixed; + right: 30px; + top: 0; + width: 10%; + z-index: 10000; - img { - width: 100%; - } - } + img { + width: 100%; + } + } - @media screen and (max-width: $break-small) { - .menu-button { - display: block; - } + @media screen and (max-width: $break-small) { + .menu-button { + display: block; + } - .nav-container { - display: none; + .nav-container { + display: none; - margin-left: 0; - width: 100%; - flex-direction: column; - align-items: center; - } + margin-left: 0; + width: 100%; + flex-direction: column; + align-items: center; + } - .show { - display: flex; - } - } + .show { + display: flex; + } + } } .show-menu { - display: flex; - height: 100%; - justify-content: center; + display: flex; + height: 100%; + justify-content: center; } diff --git a/src/app/components/schedule-card/ScheduleCard.js b/src/app/components/schedule-card/ScheduleCard.js deleted file mode 100644 index 41e46da..0000000 --- a/src/app/components/schedule-card/ScheduleCard.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import "./ScheduleCard.scss"; - -import { scheduleData } from "@/assets/data/schedule-info"; - -const Event = ({ name, description, time, tooltip }) => ( -
-
-
{name}
-
-

{description}

- {tooltip && ( - {tooltip} - )} -
-
-
-
{time}
-
-
-); - -const ScheduleCard = () => { - const { friSchedule, satSchedule, sunSchedule } = scheduleData; - - return ( -
-
-
-

Friday

-
-
-
- {friSchedule.map((event, index) => ( - - ))} -
-
-
-
-

Saturday

-
-
-
- {satSchedule.map((event, index) => ( - - ))} -
-
-
-
-

Sunday

-
-
-
- {sunSchedule.map((event, index) => ( - - ))} -
-
-
- ); -}; - -export default ScheduleCard; diff --git a/src/app/components/schedule-card/ScheduleCard.jsx b/src/app/components/schedule-card/ScheduleCard.jsx new file mode 100644 index 0000000..8ea8c60 --- /dev/null +++ b/src/app/components/schedule-card/ScheduleCard.jsx @@ -0,0 +1,64 @@ +import "./ScheduleCard.scss"; + +import { scheduleData } from "../../data/schedule-info"; + +const Event = ({ name, description, time, tooltip }) => ( +
+
+
{name}
+
+

{description}

+ {tooltip && ( + {tooltip} + )} +
+
+
+
{time}
+
+
+); + +const ScheduleCard = () => { + const { friSchedule, satSchedule, sunSchedule } = scheduleData; + + return ( +
+
+
+

Friday

+
+
+
+ {friSchedule.map((event, index) => ( + + ))} +
+
+
+
+

Saturday

+
+
+
+ {satSchedule.map((event, index) => ( + + ))} +
+
+
+
+

Sunday

+
+
+
+ {sunSchedule.map((event, index) => ( + + ))} +
+
+
+ ); +}; + +export default ScheduleCard; diff --git a/src/app/components/schedule-card/ScheduleCard.scss b/src/app/components/schedule-card/ScheduleCard.scss index 22b8015..65322ff 100644 --- a/src/app/components/schedule-card/ScheduleCard.scss +++ b/src/app/components/schedule-card/ScheduleCard.scss @@ -1,127 +1,122 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; //style={{ 'text-decoration': 'none' }} .schedule-card { - border-radius: 20px; - z-index: 50; - width: 75vw; - background-color: #42384473; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); - color: #F6D4D4; - grid-template-columns: 49% 2% 49%; - grid-auto-flow: column; - - @media screen and (max-width: 800px) { - display: flex; - flex-direction: column; - width: 85vw; - } - - .schedule-card-divider-horizontal { - display: flex; - align-items: center; - justify-content: center; - - @media screen and (max-width: 800px) { - display: none; - } - - div { - height: 4px; - width: 15%; - border-radius: 5px; - background-color: #F6D4D4; - margin-bottom: 40px; - } - - - } - - .schedule-card-tooltip { - position: relative; - } - - .schedule-card-tooltip .schedule-card-tooltiptext { - visibility: hidden; - width: 400px; - background-color: #f6d4d4dc; - color: black; - z-index: 1; - top: 100%; - text-align: center; - border-radius: 6px; - padding: 10px; - position: absolute; - } - - .schedule-card-tooltip .schedule-card-description { - margin-top: 2px; - font-size: 18px; - } - - .schedule-card-tooltip .schedule-card-tooltiptext::after { - content: ""; - position: absolute; - bottom: 100%; - left: 10%; - margin-left: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent #f6d4d4dc transparent; - } - - .schedule-card-tooltip:hover .schedule-card-tooltiptext { - visibility: visible; - opacity: 1; - } - - .schedule-card-section { - - .schedule-card-time-slot { - color: #CD8AD8; - width: 100%; - // height: 60px; - display: flex; - justify-content: space-between; - text-align: left; - margin-bottom: 20px !important; - - div { - height: 100%; - } - - @media screen and (max-width: 450px) { - h5 { - font-size: 16px !important; - } - - p { - font-size: 12px; - } - } - - h5 { - font-size: 21px; - margin-bottom: 0; - } - - p { - color: white; - margin-bottom: 0; - } - } - - .schedule-card-location { - - a { - text-decoration: none; - } - - } - - & > div { - margin: 30px; - } - } + border-radius: 20px; + z-index: 50; + width: 75vw; + background-color: #42384473; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); + color: #f6d4d4; + grid-template-columns: 49% 2% 49%; + grid-auto-flow: column; + + @media screen and (max-width: 800px) { + display: flex; + flex-direction: column; + width: 85vw; + } + + .schedule-card-divider-horizontal { + display: flex; + align-items: center; + justify-content: center; + + @media screen and (max-width: 800px) { + display: none; + } + + div { + height: 4px; + width: 15%; + border-radius: 5px; + background-color: #f6d4d4; + margin-bottom: 40px; + } + } + + .schedule-card-tooltip { + position: relative; + } + + .schedule-card-tooltip .schedule-card-tooltiptext { + visibility: hidden; + width: 400px; + background-color: #f6d4d4dc; + color: black; + z-index: 1; + top: 100%; + text-align: center; + border-radius: 6px; + padding: 10px; + position: absolute; + } + + .schedule-card-tooltip .schedule-card-description { + margin-top: 2px; + font-size: 18px; + } + + .schedule-card-tooltip .schedule-card-tooltiptext::after { + content: ""; + position: absolute; + bottom: 100%; + left: 10%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: transparent transparent #f6d4d4dc transparent; + } + + .schedule-card-tooltip:hover .schedule-card-tooltiptext { + visibility: visible; + opacity: 1; + } + + .schedule-card-section { + .schedule-card-time-slot { + color: #cd8ad8; + width: 100%; + // height: 60px; + display: flex; + justify-content: space-between; + text-align: left; + margin-bottom: 20px !important; + + div { + height: 100%; + } + + @media screen and (max-width: 450px) { + h5 { + font-size: 16px !important; + } + + p { + font-size: 12px; + } + } + + h5 { + font-size: 21px; + margin-bottom: 0; + } + + p { + color: white; + margin-bottom: 0; + } + } + + .schedule-card-location { + a { + text-decoration: none; + } + } + + & > div { + margin: 30px; + } + } } diff --git a/src/app/components/speakers/speakers.js b/src/app/components/speakers/speakers.js deleted file mode 100644 index 92798ac..0000000 --- a/src/app/components/speakers/speakers.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { speakersData } from "assets/data/speakers-info.js"; -import "./speakers.scss"; - -const Speaker = (name, title, photo) => ( -
- {name -
-

{name}

-

{title}

-
-
-); - -const renderSpeakers = (speakers) => ( -
- {speakers.map((speaker) => - Speaker(speaker.name, speaker.title, speaker.photo) - )} -
-); - -const Speakers = () => { - return ( -
-

Opening Speakers

- {renderSpeakers(speakersData.opening)} -

Closing Speakers

- {renderSpeakers(speakersData.closing)} -

Panelists

- {renderSpeakers(speakersData.panelists)} -
- ); -}; - -export default Speakers; diff --git a/src/app/components/speakers/speakers.jsx b/src/app/components/speakers/speakers.jsx new file mode 100644 index 0000000..a73c747 --- /dev/null +++ b/src/app/components/speakers/speakers.jsx @@ -0,0 +1,47 @@ + +import React from 'react'; +import { speakersData } from "assets/data/speakers-info.js"; +import './speakers.scss' + +const Speaker = (name, title, photo, index) => { + return ( +
+ {name +
+

{name}

+

{title}

+
+
+ ); +} + +const renderSpeakers = (speakers) => { + return ( +
+ {speakers.map((speaker, index) => + Speaker(speaker.name, speaker.title, speaker.photo, index) + )} +
+ ) +} + +export default class Speakers extends React.Component { + render() { + return ( +
+

Opening Speakers

+ {renderSpeakers(speakersData.opening)} +

Closing Speakers

+ {renderSpeakers(speakersData.closing)} +

Panelists

+ {renderSpeakers(speakersData.panelists)} +
+ ) + } +} + +//

Keynote

+// {renderSpeakers(speakersData.keynotes)} diff --git a/src/app/components/speakers/speakers.scss b/src/app/components/speakers/speakers.scss index 9440911..cd6cc7f 100644 --- a/src/app/components/speakers/speakers.scss +++ b/src/app/components/speakers/speakers.scss @@ -1,31 +1,31 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -.speaker-photos{ - margin: 10px 60px 40px; - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; +.speaker-photos { + margin: 10px 60px 40px; + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; - .speaker-img-wrapper { - padding: 1em; - flex-basis: 25%; + .speaker-img-wrapper { + padding: 1em; + flex-basis: 25%; - img { - height: 200px; - width: 200px; - margin-bottom: 20px; - object-fit: cover; - border-radius: 50%; - } - } + img { + height: 200px; + width: 200px; + margin-bottom: 20px; + object-fit: cover; + border-radius: 50%; + } + } - @media screen and (max-width: $break-medium) { - h4 { - font-size: 18px; - } + @media screen and (max-width: $break-medium) { + h4 { + font-size: 18px; + } - p { - font-size: 15px; - } - } + p { + font-size: 15px; + } + } } diff --git a/src/app/components/tooltip/tooltip.js b/src/app/components/tooltip/tooltip.jsx similarity index 96% rename from src/app/components/tooltip/tooltip.js rename to src/app/components/tooltip/tooltip.jsx index 092d56d..a3a0cb9 100644 --- a/src/app/components/tooltip/tooltip.js +++ b/src/app/components/tooltip/tooltip.jsx @@ -4,7 +4,7 @@ import "./tooltip.scss"; // Taken from: // https://dev.to/vtrpldn/how-to-make-an-extremely-reusable-tooltip-component-with-react-and-nothing-else-3pnk -const Tooltip = (props) => { +const Tooltip = props => { let timeout; const [active, setActive] = useState(false); diff --git a/src/app/components/venus-button/venusButton.js b/src/app/components/venus-button/venusButton.js deleted file mode 100644 index a3a747d..0000000 --- a/src/app/components/venus-button/venusButton.js +++ /dev/null @@ -1,23 +0,0 @@ -import { Button } from "react-bootstrap"; - -/** - * - * @param {string} url url of respective application - * @param {string} text apply as {text} - * @returns button of that redirects to the url - */ - -const VenusButton = ({ url, text }) => { - return ( - - ); -}; - -export default VenusButton; diff --git a/src/app/components/venus-button/venusButton.jsx b/src/app/components/venus-button/venusButton.jsx new file mode 100644 index 0000000..6974b86 --- /dev/null +++ b/src/app/components/venus-button/venusButton.jsx @@ -0,0 +1,23 @@ +import { Button } from 'react-bootstrap'; + +/** + * + * @param {string} url url of respective application + * @param {string} text apply as {text} + * @returns button of that redirects to the url + */ + +const VenusButton = ({ url, text }) => { + return ( + + ) +} + +export default VenusButton; \ No newline at end of file diff --git a/src/app/components/workshop-card/workshop-card.js b/src/app/components/workshop-card/workshop-card.js deleted file mode 100644 index ef4985b..0000000 --- a/src/app/components/workshop-card/workshop-card.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react"; -import "./workshop-card.scss"; - -const renderButtons = (buttons) => { - console.log(buttons); - return buttons.map((button) => { - const { link, description } = button; - return link ? ( - - {description} - - ) : ( -

{description}

- ); - }); -}; - -function WorkshopCard(workshop) { - const { title, description, prereqs, recap, host } = workshop; - - return ( -
-
-
-

{title}

-
- Hosted by{" "} - - {host.name} - -
-
-
- {recap && - renderButtons( - Object.entries(recap).map((pair) => { - const [key, val] = pair; - return { description: key, link: val }; - }), - )} -
-
- {description} - {prereqs && ( -
-
Prequisites:
- {renderButtons(prereqs)} -
- )} -
- ); -} - -export default WorkshopCard; diff --git a/src/app/components/workshop-card/workshop-card.jsx b/src/app/components/workshop-card/workshop-card.jsx new file mode 100644 index 0000000..19cb2f6 --- /dev/null +++ b/src/app/components/workshop-card/workshop-card.jsx @@ -0,0 +1,54 @@ +import React from "react"; +import "./workshop-card.scss"; + +const renderButtons = (buttons) => { + console.log(buttons); + return buttons.map((button) => { + const { link, description } = button; + return link ? ( + + {description} + + ) : ( +

{description}

+ ); + }); +}; + +function WorkshopCard(workshop) { + const { title, description, prereqs, recap, host } = workshop; + + return ( +
+
+
+

{title}

+
+ Hosted by{" "} + + {host.name} + +
+
+
+ {recap && + renderButtons( + Object.entries(recap).map((pair) => { + const [key, val] = pair; + return { description: key, link: val }; + }) + )} +
+
+ {description} + {prereqs && ( +
+
Prequisites:
+ {renderButtons(prereqs)} +
+ )} +
+ ); +} + +export default WorkshopCard; diff --git a/src/app/components/workshop-card/workshop-card.scss b/src/app/components/workshop-card/workshop-card.scss index e0c39f8..72ef407 100644 --- a/src/app/components/workshop-card/workshop-card.scss +++ b/src/app/components/workshop-card/workshop-card.scss @@ -1,62 +1,62 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; .workshop-card { - border-radius: 20px; - padding: 20px; - width: 85vw; - margin: 20px auto; - background-color: #42384473; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); - color: #F6D4D4; - text-align: left; - - .workshop-card-header { - display: flex; - justify-content: space-between; - - .right { - text-align: right; - } - - h4 { - color: white; - margin-bottom: 0; - } - } - - .pink-buttons { - a { - display: inline-flex; - font-size: 14px; - border: 1px; - border-style: solid; - border-radius: 25px; - border-color: #F6D4D4; - width:fit-content; - margin: 5px; - padding: 8px; - text-decoration: none; - } - - p { - display: inline-flex; - font-size: 14px; - font-weight: bold; - border: 1px; - border-style: solid; - border-radius: 25px; - border-color: #F6D4D4; - width:fit-content; - margin: 5px; - padding: 8px; - } - } - - .workshop-card-prereqs { - margin-top: 0.75em; - - h5 { - color: white; - } - } + border-radius: 20px; + padding: 20px; + width: 85vw; + margin: 20px auto; + background-color: #42384473; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); + color: #f6d4d4; + text-align: left; + + .workshop-card-header { + display: flex; + justify-content: space-between; + + .right { + text-align: right; + } + + h4 { + color: white; + margin-bottom: 0; + } + } + + .pink-buttons { + a { + display: inline-flex; + font-size: 14px; + border: 1px; + border-style: solid; + border-radius: 25px; + border-color: #f6d4d4; + width: fit-content; + margin: 5px; + padding: 8px; + text-decoration: none; + } + + p { + display: inline-flex; + font-size: 14px; + font-weight: bold; + border: 1px; + border-style: solid; + border-radius: 25px; + border-color: #f6d4d4; + width: fit-content; + margin: 5px; + padding: 8px; + } + } + + .workshop-card-prereqs { + margin-top: 0.75em; + + h5 { + color: white; + } + } } diff --git a/src/assets/data/resources-info.js b/src/app/data/resources-info.js similarity index 100% rename from src/assets/data/resources-info.js rename to src/app/data/resources-info.js diff --git a/src/assets/data/schedule-info.js b/src/app/data/schedule-info.js similarity index 100% rename from src/assets/data/schedule-info.js rename to src/app/data/schedule-info.js diff --git a/src/assets/data/speakers-info.js b/src/app/data/speakers-info.js similarity index 100% rename from src/assets/data/speakers-info.js rename to src/app/data/speakers-info.js diff --git a/src/assets/data/workshops-info.js b/src/app/data/workshops-info.js similarity index 100% rename from src/assets/data/workshops-info.js rename to src/app/data/workshops-info.js diff --git a/src/app/fonts.jsx b/src/app/fonts.jsx deleted file mode 100644 index 587014e..0000000 --- a/src/app/fonts.jsx +++ /dev/null @@ -1,7 +0,0 @@ -/* VH 2024 Fonts: Comfortaa (300-700) + Varela Round (400) */ -import { Comfortaa, Varela_Round } from "next/font/google"; - -const comfortaa = Comfortaa({ subsets: ["latin"], variable: "--font-comfortaa" }); -const varela = Varela_Round({ subsets: ["latin"], variable: "--font-varela-round", weight: "400" }); - -module.exports = { comfortaa, varela }; diff --git a/src/app/layout.jsx b/src/app/layout.jsx deleted file mode 100644 index 1cafb21..0000000 --- a/src/app/layout.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import { varela } from "./fonts"; - -export const metadata = { - title: { - default: "VenusHacks", - template: "%s | VenusHacks", - }, - description: "UC Irvine's women-centric hackathon", - openGraph: { - title: "VenusHacks", - description: "UC Irvine's women-centric hackathon", - url: "https://venushacks.com", - siteName: "VenusHacks", - locale: "en_US", - type: "website", - }, -}; - -export const viewport = { - themeColor: "#000000", - width: "device-width", - initialScale: 1, -}; - -const RootLayout = ({ children }) => ( - - {children} - -); - -export default RootLayout; diff --git a/src/app/manifest.json b/src/app/manifest.json deleted file mode 100644 index e969b36..0000000 --- a/src/app/manifest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "VenusHacks", - "short_name": "VenusHacks", - "description": "UC Irvine's women-centric hackathon", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/src/app/not-found.jsx b/src/app/not-found.jsx deleted file mode 100644 index ed89ae0..0000000 --- a/src/app/not-found.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import "./globals.css"; -import styles from "./not-found.module.css"; - -const NotFound = () => ( -
-
-

404

-

Not Found

- Just empty space over here. -
-
-); - -export default NotFound; diff --git a/src/app/not-found.module.css b/src/app/not-found.module.css deleted file mode 100644 index 36eb566..0000000 --- a/src/app/not-found.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.not-found { - min-height: 100vh; - width: 100vw; - background-color: #000; - /* background-image: url("../assets/images/stars-background.svg"); */ - background-attachment: fixed; - background-size: 100% auto; - display: flex; - flex-direction: column; - justify-content: center; -} - -.not-found-message { - flex-grow: 1; - display: flex; - flex-direction: column; - justify-content: center; -} diff --git a/src/app/robots.txt b/src/app/robots.txt deleted file mode 100644 index f6e6d1d..0000000 --- a/src/app/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Allow: / diff --git a/src/app/views/home/Home.jsx b/src/app/views/home/Home.jsx new file mode 100644 index 0000000..702eb72 --- /dev/null +++ b/src/app/views/home/Home.jsx @@ -0,0 +1,96 @@ +import FAQs from "src/app/components/faqs/FAQs"; +import { VenusButton } from "src/app/components"; + +import vhTitle from "/assets/images/titles/vh-title-launch.svg"; +import about_title from "/assets/images/titles/vh-about.svg"; +import faq_title from "/assets/images/titles/vh-faq.svg"; + +import "./Home.scss"; + +const VH_DATE = "May 24 - 26, 2024"; +const CONTACT_EMAIL = "contact@venushacks.com"; +// const CORPORATE_EMAIL = 'sponsorships@venushacks.com'; + +const Home = () => { + return ( +
+ {/* HERO **********************/} +
+
+ {/* These assets are a background of a div instead of imgs to prevent + them from being able to be saved to camera roll on iOS */} +
+
+
+
+
+ +
+ VenusHacks Title Logo +

{VH_DATE}

+

UC Irvine's largest women-centric hackathon

+

Apps are now open!

+ + + +
+
+
+ About +
+

+ VenusHacks is UCI’s largest women-centric hackathon, an annual event + empowering women, gender minorities, and other underrepresented + groups in tech. Hosted by  + + WICS + {" "} + and  + + Hack at UCI + + , the hackathon is open to participants of all experience + levels with a mission to increase diversity in the tech industry by + providing an inclusive community where students can receive the + support to grow and express their creativity in computing. +

+

+ This year, VenusHacks will take place fully in-person in Spring + 2024! Join us as we welcome high school (18+), undergraduate, and + graduate students to participate in our 36-hour (non-overnight) + event that includes workshops, networking, fun activities, free food + and swag, and lots of coding! Happy hacking! +

+
+
+
+ FAQ + +

+ Additional logistic questions? Contact us at  + + {CONTACT_EMAIL} + + . +

+
+
+ ); +}; + +export default Home; diff --git a/src/app/(main)/(home)/Home.scss b/src/app/views/home/Home.scss similarity index 93% rename from src/app/(main)/(home)/Home.scss rename to src/app/views/home/Home.scss index b5506a9..4c1f6d9 100644 --- a/src/app/(main)/(home)/Home.scss +++ b/src/app/views/home/Home.scss @@ -1,11 +1,11 @@ -@import "../vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -$boba: "./../../../assets/images/vh-boba.png"; -$astronaut: "./../../../assets/images/vh-astronaut.png"; -$laptop: "./../../../assets/images/vh-laptop.png"; -$shiba: "./../../../assets/images/VH_shiba_inu.png"; -$planet: "./../../../assets/images/vh-planet.png"; -$stars_background: "./../../../assets/images/stars.svg"; +$boba: "/assets/images/vh-boba.png"; +$astronaut: "/assets/images/vh-astronaut.png"; +$laptop: "/assets/images/vh-laptop.png"; +$shiba: "/assets/images/VH_shiba_inu.png"; +$planet: "/assets/images/vh-planet.png"; +$stars_background: "/assets/images/stars.svg"; body { overflow-x: hidden; @@ -198,6 +198,7 @@ body { } #tagline { + font-family: "Varela", sans-serif; font-size: 22px; color: $darkPurple; margin-bottom: 0.5rem; @@ -207,9 +208,9 @@ body { } #apps { + font-family: "Varela", sans-serif; font-size: 24px; color: $darkPurple; - margin-bottom: 1.5rem; @media screen and (max-width: $break-medium) { font-size: 18px; } @@ -218,6 +219,7 @@ body { .venus-btn { color: $darkBlackBackground; padding: 12px 24px; + font-family: "Varela", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 0.25px; @@ -271,7 +273,7 @@ body { margin: 20px auto 30px; @media screen and (max-width: $break-medium) { - height: 35vw; + height: 15vw; max-height: 100px; margin: 20px auto; } @@ -280,6 +282,9 @@ body { #about-text-container { width: 60vw; max-width: 1500px; + color: $darkPurple; + font-family: "Varela", sans-serif; + font-weight: 700; @media screen and (max-width: $break-medium) { width: 80vw; @@ -309,9 +314,11 @@ body { display: flex; align-items: center; flex-direction: column; + font-family: "Varela", sans-serif; + color: $darkPurple; .section-title { - height: 110px; + height: 140px; @media screen and (max-width: $break-medium) { height: 25vw; max-height: 150px; diff --git a/src/app/views/index.js b/src/app/views/index.js new file mode 100644 index 0000000..0a08933 --- /dev/null +++ b/src/app/views/index.js @@ -0,0 +1,5 @@ +export { default as Home } from "./home/Home"; +export { default as Schedule } from "./schedule/Schedule"; +export { default as Resources } from "./resources/Resources"; +export { default as Workshops } from "./workshops/Workshops"; +export { default as NotFound } from "./not-found/NotFound"; diff --git a/src/app/views/not-found/NotFound.jsx b/src/app/views/not-found/NotFound.jsx new file mode 100644 index 0000000..e9c858d --- /dev/null +++ b/src/app/views/not-found/NotFound.jsx @@ -0,0 +1,18 @@ +import { Footer } from "src/app/components"; + +import "./NotFound.scss"; + +function NotFound() { + return ( +
+
+

404

+ Not Found + Just empty space over here. +
+ {/*
*/} +
+ ); +} + +export default NotFound; diff --git a/src/app/views/not-found/NotFound.scss b/src/app/views/not-found/NotFound.scss new file mode 100644 index 0000000..1725ed7 --- /dev/null +++ b/src/app/views/not-found/NotFound.scss @@ -0,0 +1,19 @@ +.not-found { + background-image: url("/assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + flex-direction: column; + justify-content: center; + + .not-found-message { + flex-grow: 1; + display: flex; + flex-direction: column; + justify-content: center; + + h1 { + margin-bottom: 0.5rem; + } + } +} diff --git a/src/app/views/resources/Resources.jsx b/src/app/views/resources/Resources.jsx new file mode 100644 index 0000000..00fb940 --- /dev/null +++ b/src/app/views/resources/Resources.jsx @@ -0,0 +1,45 @@ +import { Tooltip, Footer } from "src/app/components"; +import { starterPackData } from "src/app/data/resources-info"; + +import "./Resources.scss"; + +function Resources() { + return ( +
+

Resources

+ {starterPackData.map(function (starterPack) { + return ( +
+
+

{starterPack.name}

+

{starterPack.description}

+
+
+ {starterPack.packs.map(function (pack) { + return ( + + +
+

{pack.name}

+
+
+
+ ); + })} +
+
+ ); + })} +
+
+ ); +} + +// const Resources = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES ? redirect("/") :

Resources

; + +export default Resources; diff --git a/src/app/views/resources/Resources.scss b/src/app/views/resources/Resources.scss new file mode 100644 index 0000000..b613da5 --- /dev/null +++ b/src/app/views/resources/Resources.scss @@ -0,0 +1,108 @@ +@import "../../../globals/vh-styles.scss"; + +.starter-packs { + min-height: 100vh; + width: 100vw; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: white; + + .starter-packs-instructions { + min-height: calc(100vh - 114px); + width: 60vw; + text-align: left; + display: flex; + flex-direction: column; + padding-top: 4rem; + padding-bottom: 4rem; + + p { + font-size: 1.4rem; + } + + a { + text-decoration: underline; + } + } + + .starter-pack-card { + margin: 3rem auto; + width: 80vw; + min-height: 10rem; + border-radius: 25px; + background-color: #42384473; + color: white; + display: flex; + align-items: center; + justify-content: center; + padding: 3rem; + z-index: 10; + display: flex; + flex-direction: row; + min-height: auto; + opacity: 0.8; + + @media screen and (max-width: $break-medium) { + flex-direction: column; + } + + p { + font-size: 1.4rem; + } + + .starter-pack-card-information { + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + width: 60%; + height: 100%; + + @media screen and (max-width: $break-medium) { + align-items: center; + width: 90%; + } + } + + .starter-pack-card-links { + display: flex; + flex-direction: column; + width: 40%; + margin-top: 1rem; + + @media screen and (max-width: $break-medium) { + width: 90%; + h4 { + font-size: 1em; + } + } + + a { + width: 100%; + margin-bottom: 1rem; + + div { + border: 3px solid $pink; + width: 100%; + padding: 1rem; + border-radius: 1rem; + border-collapse: separate; + display: inline-block; + } + + h4 { + margin-bottom: 0; + } + } + } + } + + h2 { + margin-top: 2em; + } +} diff --git a/src/app/views/schedule/Schedule.jsx b/src/app/views/schedule/Schedule.jsx new file mode 100644 index 0000000..667f6e2 --- /dev/null +++ b/src/app/views/schedule/Schedule.jsx @@ -0,0 +1,35 @@ +import { + Countdown, + FloatingLaptop, + Footer, + ScheduleCard, +} from "src/app/components"; + +import "./Schedule.scss"; + +const HACKING_DEADLINE = "28 May 2023 09:00:00 PDT"; + +const Schedule = () => ( +
+
+
+ +

Schedule

+ +
+

+ All times in PDT. Hacking ends in: +

+
+ +
+

See you next year!

+ +
+
+
+); + +// const Schedule = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE ? redirect("/") :

Schedule

; + +export default Schedule; diff --git a/src/app/views/schedule/Schedule.scss b/src/app/views/schedule/Schedule.scss new file mode 100644 index 0000000..532e3ac --- /dev/null +++ b/src/app/views/schedule/Schedule.scss @@ -0,0 +1,228 @@ +@import "../../../globals/vh-styles.scss"; + +.Schedule { + min-height: 100vh; + width: 100vw; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: white; + + h1 { + font-weight: 600; + } + + .stripes { + width: 100vw; + height: 80vh; + transform-origin: 0; + // background-image: url('./../../../assets/images/background.png'); + background-size: cover; + position: absolute; + + .div { + position: absolute; + } + } + + .inner0 { + background-image: linear-gradient( + to left, + $leftGradient, + $rightOffGradient + ); + grid-area: 5 / 5 / 5 / 6; + } + + .inner1 { + background-image: linear-gradient( + to right, + $rightOffGradient, + $leftGradient + ); + grid-area: 1 / 1 / 1 / 4; + } + + .inner2 { + background-image: linear-gradient( + to left, + $leftGradient, + $rightOffGradient + ); + grid-area: 2 / 3 / 2 / 6; + } + + .inner3 { + background-image: linear-gradient( + to right, + $leftGradient, + $rightOffGradient + ); + grid-area: 5 / 1 / 5 / 3; + } + + #intro { + height: 90vh; + position: relative; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + text-align: left; + color: white; + + .schedule-nav { + position: absolute; + top: 0; + right: 0; + display: flex; + justify-content: flex-end; + + a { + margin-right: 0 !important; + text-decoration: none; + display: flex; + align-items: center; + + h5 { + margin-bottom: 0; + } + } + } + + .schedule-button { + margin: 2em; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1); + } + + .title-info { + display: flex; + flex-direction: row; + width: 60vw; + + @media screen and (max-width: $break-medium) { + flex-direction: column; + align-items: center; + text-align: center; + + button { + align-self: center; + } + + img { + margin-right: 0 !important; + } + + h1 { + font-size: 60px; + } + } + + img { + width: 250px; + height: 250px; + margin-right: 2em; + } + + div { + display: flex; + flex-direction: column; + justify-content: center; + + button { + width: 100px; + } + } + + h1 { + margin-bottom: 0.1em !important; + } + } + } + + #schedule-nav { + width: 100vh; + position: relative; + } + + #schedule-block { + position: relative; + display: flex; + align-items: center; + flex-direction: column; + padding-bottom: 100px; + + .schedule-hacking-ends-in { + margin-bottom: 30px; + color: $pink; + + @media screen and (max-width: $break-medium) { + font-size: 20px; + } + } + + .schedule-countdown { + margin-top: 10px; + margin-bottom: 30px; + + & > section > span { + font-size: 16px; + margin-left: 2px; + } + } + + .schedule-header { + margin-top: 100px; + height: 15vh; + width: 100vw; + display: flex; + justify-content: center; + align-items: center; + color: white; + text-align: left; + + .hat-left { + width: 40px; + height: 40px; + } + + & > div { + width: 40vw; + display: grid; + grid-template-columns: 33% 33% 20%; + text-align: center; + + @media screen and (max-width: 800px) { + width: 80vw; + + h3 { + font-size: 25px; + } + } + + div { + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + #credits { + background-color: white; + height: 15vh; + margin-top: 10vh; + display: flex; + justify-content: center; + align-items: center; + + p { + margin: 0; + } + } +} diff --git a/src/app/views/workshops/Workshops.jsx b/src/app/views/workshops/Workshops.jsx new file mode 100644 index 0000000..caeecd4 --- /dev/null +++ b/src/app/views/workshops/Workshops.jsx @@ -0,0 +1,24 @@ +import { Link } from "react-router-dom"; + +import "./Workshops.scss"; + +// import { WorkshopCard, Footer } from "./app/components"; +import { WorkshopCard, Footer } from "../../components"; +// import { workshopsData } from "./assets/data/workshops-info.js"; +import { workshopsData } from "../../data/workshops-info.js"; + +function Workshops() { + return ( +
+

Workshops

+
+ For time and location info, check the{" "} + Schedule page! +
+ {workshopsData.map((workshop) => WorkshopCard(workshop))} +
+
+ ); +} + +export default Workshops; diff --git a/src/app/views/workshops/Workshops.scss b/src/app/views/workshops/Workshops.scss new file mode 100644 index 0000000..716b540 --- /dev/null +++ b/src/app/views/workshops/Workshops.scss @@ -0,0 +1,14 @@ +@import "../../../globals/vh-styles.scss"; + +.workshops { + min-height: 100vh; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + flex-direction: column; + + h2 { + margin-top: 2em; + } +} diff --git a/src/assets/images/titles/vh-about.png b/src/assets/images/titles/vh-about.png deleted file mode 100644 index 4e567d2..0000000 Binary files a/src/assets/images/titles/vh-about.png and /dev/null differ diff --git a/src/assets/images/titles/vh-faq.png b/src/assets/images/titles/vh-faq.png deleted file mode 100644 index 5dbce8f..0000000 Binary files a/src/assets/images/titles/vh-faq.png and /dev/null differ diff --git a/src/app/(main)/vh-styles.scss b/src/globals/vh-styles.scss similarity index 80% rename from src/app/(main)/vh-styles.scss rename to src/globals/vh-styles.scss index b164a88..1eef983 100644 --- a/src/app/(main)/vh-styles.scss +++ b/src/globals/vh-styles.scss @@ -6,8 +6,7 @@ When graphics gives us their style guidelines we can look here. **/ -// VH 2023 Font: Nunito Bold (font-weight 700, 400+500 also included) -@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Varela&display=swap"); // PX Sizing for Media queries $break-small: 500px; @@ -19,7 +18,7 @@ $fontColor: white; $errorColor: #a31e1e; $vhFont: Nunito, sans-serif; -// VH 2023 Backgrounds +// VH 2024 Backgrounds $gradientBackground: linear-gradient(#a8acf9, #ffc999); $darkBlueBackground: #322660; $darkBlackBackground: #070024; diff --git a/src/app/globals.css b/src/index.css similarity index 83% rename from src/app/globals.css rename to src/index.css index 65a2214..5bed0c3 100644 --- a/src/app/globals.css +++ b/src/index.css @@ -1,6 +1,5 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +/* VH 2024 Fonts */ +@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap"); /* VH 2024 Colors */ :root { @@ -17,6 +16,7 @@ } body { + font-family: "Comfortaa", sans-serif; min-height: 100vh; width: 100vw; margin: 0; @@ -76,12 +76,12 @@ button { } a { - color: var(--color-pink); + color: var(--color-background-upper-gradient); font-weight: 500; text-decoration: underline; transition: 0.3s; } a:hover { - color: var(--color-purple); + color: var(--color-vh-tertiary); } diff --git a/src/main.jsx b/src/main.jsx new file mode 100644 index 0000000..54b39dd --- /dev/null +++ b/src/main.jsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + , +) diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 1848f01..0000000 --- a/tailwind.config.js +++ /dev/null @@ -1,26 +0,0 @@ -import defaultTheme from "tailwindcss/defaultTheme"; - -const config = { - content: [ - "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", - "./src/components/**/*.{js,ts,jsx,tsx,mdx}", - "./src/app/**/*.{js,ts,jsx,tsx,mdx}", - ], - theme: { - extend: { - backgroundImage: {}, - fontFamily: { - header: ["Comfortaa"], - body: ["Varela Round"], - sans: ["Varela Round"], - } - }, - screens: { - ...defaultTheme.screens, - xs: "350px", - }, - }, - plugins: [], -}; - -export default config; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..4fa2e0e --- /dev/null +++ b/vite.config.js @@ -0,0 +1,13 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + src: "/src", + }, + }, + base: "/", +});