diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..44a16bb --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +NEXT_PUBLIC_BASE_URL= diff --git a/package-lock.json b/package-lock.json index e31dea5..812d487 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,20 +9,13 @@ "version": "0.1.0", "dependencies": { "axios": "^1.6.8", - "framer-motion": "^11.1.9", "next": "14.2.3", "react": "^18", "react-cookie": "^7.1.4", "react-dom": "^18", - "react-hook-form": "^7.51.4", - "react-icons": "^5.2.1", - "react-markdown": "^9.0.1", - "react-query": "^3.39.3", - "react-toastify": "^10.0.5", - "remark-gfm": "^4.0.0" + "react-toastify": "^10.0.5" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.13", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", @@ -51,17 +44,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/runtime": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", - "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -454,68 +436,11 @@ "tslib": "^2.4.0" } }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz", - "integrity": "sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==", - "dev": true, - "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, - "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", @@ -531,19 +456,6 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" - }, "node_modules/@types/node": { "version": "20.12.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", @@ -582,11 +494,6 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, - "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz", @@ -805,7 +712,8 @@ "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/acorn": { "version": "8.11.3", @@ -1077,27 +985,11 @@ "proxy-from-env": "^1.1.0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "engines": { - "node": ">=0.6" - } + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/binary-extensions": { "version": "2.3.0", @@ -1115,6 +1007,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1132,21 +1025,6 @@ "node": ">=8" } }, - "node_modules/broadcast-channel": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", - "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "detect-node": "^2.1.0", - "js-sha3": "0.8.0", - "microseconds": "0.2.0", - "nano-time": "1.0.0", - "oblivious-set": "1.0.0", - "rimraf": "3.0.2", - "unload": "2.2.0" - } - }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -1214,15 +1092,6 @@ } ] }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1239,42 +1108,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -1353,15 +1186,6 @@ "node": ">= 0.8" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -1374,7 +1198,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/cookie": { "version": "0.6.0", @@ -1470,6 +1295,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -1482,18 +1308,6 @@ } } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1542,31 +1356,6 @@ "node": ">=0.4.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -2051,15 +1840,6 @@ "node": ">=4.0" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2069,11 +1849,6 @@ "node": ">=0.10.0" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2252,34 +2027,11 @@ "node": ">= 6" } }, - "node_modules/framer-motion": { - "version": "11.1.9", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.1.9.tgz", - "integrity": "sha512-flECDIPV4QDNcOrDafVFiIazp8X01HFpzc01eDKJsdNH/wrATcYydJSH9JbPWMS8UD5lZlw+J1sK8LG2kICgqw==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "@emotion/is-prop-valid": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/is-prop-valid": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -2580,44 +2332,6 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", - "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -2626,15 +2340,6 @@ "react-is": "^16.7.0" } }, - "node_modules/html-url-attributes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", - "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -2673,6 +2378,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2681,12 +2387,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inline-style-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", - "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { "version": "1.0.7", @@ -2702,28 +2404,6 @@ "node": ">= 0.4" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -2849,15 +2529,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2915,15 +2586,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -2981,17 +2643,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -3172,11 +2823,6 @@ "jiti": "bin/jiti.js" } }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3279,33 +2925,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3326,880 +2951,57 @@ "node": "14 || >=16.14" } }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/match-sorter": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz", - "integrity": "sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==", - "dependencies": { - "@babel/runtime": "^7.23.8", - "remove-accents": "0.5.0" + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.6" } }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "mime-db": "1.52.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" + "brace-expansion": "^1.1.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", - "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", - "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", - "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", - "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/microseconds": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", - "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "engines": { + "node": "*" } }, "node_modules/minipass": { @@ -4214,7 +3016,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/mz": { "version": "2.7.0", @@ -4227,14 +3030,6 @@ "thenify-all": "^1.0.0" } }, - "node_modules/nano-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", - "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", - "dependencies": { - "big-integer": "^1.6.16" - } - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -4463,15 +3258,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/oblivious-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", - "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { "wrappy": "1" } @@ -4535,30 +3326,6 @@ "node": ">=6" } }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4572,6 +3339,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4856,15 +3624,6 @@ "react-is": "^16.13.1" } }, - "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -4935,84 +3694,11 @@ "react": "^18.3.1" } }, - "node_modules/react-hook-form": { - "version": "7.51.4", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.4.tgz", - "integrity": "sha512-V14i8SEkh+V1gs6YtD0hdHYnoL4tp/HX/A45wWQN15CYr9bFRmmRdYStSO5L65lCCZRF+kYiSKhm9alqbcdiVA==", - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/react-hook-form" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18" - } - }, - "node_modules/react-icons": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz", - "integrity": "sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==", - "peerDependencies": { - "react": "*" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/react-markdown": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", - "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "html-url-attributes": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "unified": "^11.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=18", - "react": ">=18" - } - }, - "node_modules/react-query": { - "version": "3.39.3", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", - "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "broadcast-channel": "^3.4.1", - "match-sorter": "^6.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, "node_modules/react-toastify": { "version": "10.0.5", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.5.tgz", @@ -5067,11 +3753,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -5090,73 +3771,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", - "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-accents": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", - "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -5197,6 +3811,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -5211,6 +3826,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5419,15 +4035,6 @@ "node": ">=0.10.0" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -5576,19 +4183,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -5626,14 +4220,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/style-to-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", - "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", - "dependencies": { - "inline-style-parser": "0.2.3" - } - }, "node_modules/styled-jsx": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", @@ -5794,24 +4380,6 @@ "node": ">=8.0" } }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -5966,100 +4534,6 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universal-cookie": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-7.1.4.tgz", @@ -6069,15 +4543,6 @@ "cookie": "^0.6.0" } }, - "node_modules/unload": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", - "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "detect-node": "^2.0.4" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -6093,33 +4558,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6320,7 +4758,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/yallist": { "version": "4.0.0", @@ -6351,15 +4790,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } } } diff --git a/package.json b/package.json index 749e8e7..67a676a 100644 --- a/package.json +++ b/package.json @@ -10,20 +10,13 @@ }, "dependencies": { "axios": "^1.6.8", - "framer-motion": "^11.1.9", "next": "14.2.3", "react": "^18", "react-cookie": "^7.1.4", "react-dom": "^18", - "react-hook-form": "^7.51.4", - "react-icons": "^5.2.1", - "react-markdown": "^9.0.1", - "react-query": "^3.39.3", - "react-toastify": "^10.0.5", - "remark-gfm": "^4.0.0" + "react-toastify": "^10.0.5" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.13", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", diff --git a/public/CheckIcon.svg b/public/CheckIcon.svg deleted file mode 100644 index 0e25ca1..0000000 --- a/public/CheckIcon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/CheckSubIcon.svg b/public/CheckSubIcon.svg deleted file mode 100644 index 5412143..0000000 --- a/public/CheckSubIcon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/CheckedIcon.svg b/public/CheckedIcon.svg deleted file mode 100644 index 6031262..0000000 --- a/public/CheckedIcon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/DropDown.svg b/public/DropDown.svg deleted file mode 100644 index 5b8a622..0000000 --- a/public/DropDown.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/ExclamationMark.svg b/public/ExclamationMark.svg deleted file mode 100644 index 81a9a2b..0000000 --- a/public/ExclamationMark.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/public/RightArrowIcon.svg b/public/RightArrowIcon.svg deleted file mode 100644 index 420748b..0000000 --- a/public/RightArrowIcon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/logo.png b/public/logo.png deleted file mode 100644 index 9d2146d..0000000 Binary files a/public/logo.png and /dev/null differ diff --git a/public/sign/positionCircle.png b/public/sign/positionCircle.png deleted file mode 100644 index 628452d..0000000 Binary files a/public/sign/positionCircle.png and /dev/null differ diff --git a/public/sign/positionClose.png b/public/sign/positionClose.png deleted file mode 100644 index f537849..0000000 Binary files a/public/sign/positionClose.png and /dev/null differ diff --git a/public/sign/positionColorCircle.png b/public/sign/positionColorCircle.png deleted file mode 100644 index 39e8cfb..0000000 Binary files a/public/sign/positionColorCircle.png and /dev/null differ diff --git a/public/sign/termsDetail.png b/public/sign/termsDetail.png deleted file mode 100644 index f20850a..0000000 Binary files a/public/sign/termsDetail.png and /dev/null differ diff --git a/public/sign/termsNotCheck.png b/public/sign/termsNotCheck.png deleted file mode 100644 index b312350..0000000 Binary files a/public/sign/termsNotCheck.png and /dev/null differ diff --git a/public/termsCheck.png b/public/termsCheck.png deleted file mode 100644 index 887a6a5..0000000 Binary files a/public/termsCheck.png and /dev/null differ diff --git a/src/api/auth/auth.post.api.ts b/src/api/auth/auth.post.api.ts index f78d4f0..17be0b4 100644 --- a/src/api/auth/auth.post.api.ts +++ b/src/api/auth/auth.post.api.ts @@ -1,5 +1,4 @@ // import { ICommon } from '../types/common'; -import { basicResponse } from '@/models/response'; import { postRequest } from '../request'; import { ISignIn, @@ -11,7 +10,6 @@ import { IPhoneAuth } from '../types/auth'; - /* 회원가입 */ export const signup = async ({ @@ -51,22 +49,22 @@ export const signin = async ({ memberEmail, memberPassword }: ISignIn) => { /* 이메일 인증 요청 */ export const emailauthrequest = async ({ emailAddress }: IEmail) => { - const response = await postRequest(`auth/email`, { + const response = await postRequest('auth/email', { emailAddress }); - return response as basicResponse | null; + return response; }; /* 이메일 코드 검증 */ export const emailauthverify = async ({ emailAddress, code }: IEmailAuth) => { - const response = await postRequest(`auth/email/verify`, { + const response = await postRequest('auth/email/verify', { emailAddress, code }); - return response as basicResponse | null; + return response; }; /* 휴대전화 번호 인증 요청*/ @@ -76,7 +74,7 @@ export const phoneauthrequest = async ({ phoneNumber }: IPhoneNumber) => { phoneNumber }); - return response as basicResponse | null; + return response; }; /* 휴대전화 번호 코드 검증*/ @@ -87,7 +85,7 @@ export const phoneauthverify = async ({ phoneNumber, code }: IPhoneAuth) => { code }); - return response as basicResponse | null; + return response; }; /* 로그아웃*/ diff --git a/src/api/types/auth.ts b/src/api/types/auth.ts index 9af83d6..9834860 100644 --- a/src/api/types/auth.ts +++ b/src/api/types/auth.ts @@ -49,11 +49,6 @@ export interface IEmailAuth extends IEmail { code: number; } -export interface IEmailAuth2 { - emailAddress: string; - code: number; -} - export interface ITokenRefresh { // 아직 타입 안들어옴 } diff --git a/src/components/findpassword/ChangePasswordDone.tsx b/src/components/findpassword/ChangePasswordDone.tsx deleted file mode 100644 index 2c5d3bb..0000000 --- a/src/components/findpassword/ChangePasswordDone.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import MainContainer from '../shared/MainContainer'; -import { useRouter } from 'next/router'; - -const ChangePasswordDone = () => { - const router = useRouter(); - return ( - -
-
-
- -
-
- -
-
-
-
- 비밀번호 재설정이
- 완료되었습니다. -
-
-
-
- -
-
- ); -}; - -export default ChangePasswordDone; diff --git a/src/components/findpassword/EmailCertification.tsx b/src/components/findpassword/EmailCertification.tsx deleted file mode 100644 index ed9b0db..0000000 --- a/src/components/findpassword/EmailCertification.tsx +++ /dev/null @@ -1,250 +0,0 @@ -import React, { ChangeEvent, Dispatch, useEffect, useRef, useState } from 'react'; -import ToBack from '../shared/sign/ToBack'; -import { SignupBtnStatus } from '@/models/signupBtnStatus'; -import { motion } from 'framer-motion'; -import { useMutation } from 'react-query'; -import { invertSecond } from '@/utils/invertSecond'; -import { emailauthrequest, emailauthverify } from '@/api/auth/auth.post.api'; - -interface EmailCertificationProps { - setStep: Dispatch>; -} - -const EmailCertification = ({ setStep }: EmailCertificationProps) => { - const [userEmail, setUserEmail] = useState(''); - const [emailValid, setEmailValid] = useState(false); - const [btnStatus, setBtnStatus] = useState('FIRST'); - const [isRequest, setIsRequest] = useState(false); - const [validNumber, setValidNumber] = useState(''); - const [validTime, setValidTime] = useState(300); - const [isError, setIsError] = useState(false); - const [emailError, setEmailError] = useState(false); - const inputRef = useRef(null); - const startRef = useRef(null); - - const { mutateAsync: emailRequest } = useMutation((email: string) => { - return emailauthrequest({ emailAddress: email }); - }); - - const { mutateAsync: emailVerify } = useMutation( - ({ emailAddress, code }: { emailAddress: string; code: number }) => { - return emailauthverify({ emailAddress, code }); - } - ); - - const handleEmailChange = (e: ChangeEvent) => { - setUserEmail(e.target.value); - const emailRegEx = - /^[A-Za-z0-9]([-_.]?[A-Za-z0-9])*@[A-Za-z0-9]([-_.]?[A-Za-z0-9])*\.[A-Za-z]{2,3}$/; - const isValid = emailRegEx.test(e.target.value); - setEmailValid(isValid); - }; - - const handleValidNumberChange = (e: ChangeEvent) => { - const regex = e.target.value.replace(/[^0-9]/g, ''); - setValidNumber(regex); - }; - - useEffect(() => { - startRef.current?.focus(); - }, []); - - useEffect(() => { - if (emailValid) { - setBtnStatus('SECOND'); - } else { - setBtnStatus('FIRST'); - } - }, [emailValid]); - - useEffect(() => { - if (isRequest) { - inputRef.current?.focus(); - } - }, [isRequest]); - - useEffect(() => { - let timeoutId: NodeJS.Timeout; - if (isError || emailError) { - timeoutId = setTimeout(() => { - setIsError(false); - setEmailError(false); - }, 4000); - } - return () => clearTimeout(timeoutId); - }, [isError, emailError]); - - useEffect(() => { - let intervalId: NodeJS.Timeout; - - if (isRequest && validTime > 0) { - intervalId = setInterval(() => { - setValidTime((prevTime) => prevTime - 1); - }, 1000); - } - - return () => clearInterval(intervalId); - }, [isRequest, validTime]); - - const handleClick = async () => { - if (btnStatus == 'SECOND') { - const { status } = (await emailRequest(userEmail)) as { status: string }; - if (status == 'SUCCESS') { - setIsRequest(true); - setBtnStatus('THIRD'); - } - if (status == 'FAIL') { - setUserEmail(''); - setEmailError(true); - return; - } - } - if (btnStatus == 'THIRD') { - if (validNumber.length != 6) { - setValidNumber(''); - setIsError(true); - inputRef.current?.focus(); - return; - } - const { status } = (await emailVerify({ - emailAddress: userEmail, - code: Number(validNumber) - })) as { status: string }; - - if (status == 'SUCCESS') { - setStep((prev) => prev + 1); - } - if (status == 'FAIL') { - setValidNumber(''); - setIsError(true); - inputRef.current?.focus(); - return; - } - } - }; - - return ( -
- - - -
- 가입한 이메일을
- 입력해주세요. -
-
- - -
-
- -
-
-
-
- -
- -
-
- {emailError ? ( -
-
- *등록되지 않은 이메일입니다. -
-
- ) : ( - '' - )} - - - {isRequest && ( - <> -
- {isError ? ( -
-
- *올바르지 않은 코드입니다. -
-
- ) : ( -
- )} -
-
- -
-
- {invertSecond(validTime)} -
-
-
-
-
-
- -
-
-
- 이메일로 발송된 코드를 입력해주세요. -
-
- - )} -
- ); -}; - -export default EmailCertification; \ No newline at end of file diff --git a/src/components/findpassword/NewPasswordForm.tsx b/src/components/findpassword/NewPasswordForm.tsx deleted file mode 100644 index 48af19b..0000000 --- a/src/components/findpassword/NewPasswordForm.tsx +++ /dev/null @@ -1,148 +0,0 @@ -import React, { ChangeEvent, Dispatch, useState } from 'react'; - -const NewPasswordForm = ({ - setStep -}: { - setStep: Dispatch>; -}) => { - const [newPassword, setNewPassword] = useState(''); - const [checkPassword, setCheckPassword] = useState(''); - const [validBtn, setValidBtn] = useState(false); - const [error, setError] = useState(false); - const [secondError, setSecondError] = useState(false); - - const handleNewPassword = (e: ChangeEvent) => { - setError(false); - const newPasswordValue = e.target.value; - setNewPassword(newPasswordValue); - setValidBtn( - newPasswordValue === checkPassword && newPasswordValue != '' && checkPassword != '' - ); - }; - - const handleCheckPassword = (e: ChangeEvent) => { - setSecondError(false); - const checkPasswordValue = e.target.value; - setCheckPassword(checkPasswordValue); - setValidBtn( - newPassword === checkPasswordValue && checkPasswordValue != '' && newPassword != '' - ); - }; - - const checkValidPassword = () => { - const passwordRegex = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,16}$/; - if (!passwordRegex.test(newPassword)) { - setError(true); - } else { - setError(false); - } - }; - - const checkValidNewPassword = () => { - if (newPassword != checkPassword) { - setSecondError(true); - } - }; - - const handleButtonClick = () => { - //todo : 비밀번호 변경 요청 api 필요 - setStep((prev) => prev + 1); - }; - - return ( - <> -
-
-
- -
-
- {error ? ( -
- 비밀번호 형식을 확인해주세요. -
- ) : ( - '' - )} -
- -
-
-
- -
-
-
-
-
-
- -
-
-
- *영문 (대문자 포함), 숫자, 특수문자 중 2가지 이상 조합 8~16자리 -
-
- -
-
- -
-
- {secondError ? ( -
- 일치하지 않습니다. -
- ) : ( - '' - )} -
- -
-
-
- -
-
-
-
-
- -
- - ); -}; - -export default NewPasswordForm; diff --git a/src/components/findpassword/SetNewPasswod.tsx b/src/components/findpassword/SetNewPasswod.tsx deleted file mode 100644 index 836f034..0000000 --- a/src/components/findpassword/SetNewPasswod.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React, { Dispatch } from 'react'; -import ToBack from '../shared/sign/ToBack'; -import NewPasswordForm from './NewPasswordForm'; - -const SetNewPassword = ({ - setStep -}: { - setStep: Dispatch>; -}) => { - return ( -
- -
- 새로 사용할
- 비밀번호를 설정해주세요. -
- -
- ); -}; - -export default SetNewPassword; diff --git a/src/components/shared/MainContainer.tsx b/src/components/shared/MainContainer.tsx deleted file mode 100644 index 92e83fd..0000000 --- a/src/components/shared/MainContainer.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React, { ReactNode } from 'react'; - -const MainContainer = ({ children }: { children: ReactNode }) => { - return
{children}
; -}; - -export default MainContainer; diff --git a/src/components/shared/sign/SignInButton.tsx b/src/components/shared/sign/SignInButton.tsx deleted file mode 100644 index b7a605c..0000000 --- a/src/components/shared/sign/SignInButton.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { useRouter } from 'next/router'; -import React from 'react'; - -const SignInButton = () => { - const router = useRouter(); - return ( - - ); -}; - -export default SignInButton; diff --git a/src/components/shared/sign/SignUpButton.tsx b/src/components/shared/sign/SignUpButton.tsx deleted file mode 100644 index 091b596..0000000 --- a/src/components/shared/sign/SignUpButton.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { useRouter } from 'next/router'; -import React from 'react'; - -const SignUpButton = () => { - const router = useRouter(); - return ( - - ); -}; - -export default SignUpButton; diff --git a/src/components/shared/sign/ToBack.tsx b/src/components/shared/sign/ToBack.tsx deleted file mode 100644 index d692e8b..0000000 --- a/src/components/shared/sign/ToBack.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import Link from 'next/link'; -import React from 'react'; -import { IoIosArrowRoundBack } from 'react-icons/io'; - -const ToBack = () => { - return ( -
- - - -
- ); -}; - -export default ToBack; diff --git a/src/components/signin/SigninForm.tsx b/src/components/signin/SigninForm.tsx deleted file mode 100644 index 76698bf..0000000 --- a/src/components/signin/SigninForm.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { useForm } from 'react-hook-form'; - -interface SigninType { - email: string; - password: string; -} - -const SigninForm = () => { - const [isError, setIsError] = useState(false); - const { - register, - handleSubmit, - formState: { errors } - } = useForm(); - - const FormSubmit = async (data: SigninType) => { - //todo : signin 처리 - console.log(data); - setIsError(true); - }; - - useEffect(() => { - let timeoutId: NodeJS.Timeout; - if (isError) { - timeoutId = setTimeout(() => { - setIsError(false); - }, 5000); - } - return () => clearTimeout(timeoutId); - }, [isError]); - - return ( -
FormSubmit(data))} - className="max-w-[361px] mx-auto"> -
- -
-
- -
-
-
- -
-
-
- {errors?.email ? ( -
- {errors.email.type === 'required' - ? '필수 입력사항입니다.' - : errors.email.message} -
- ) : ( -
- )} - -
- -
-
- -
-
-
- -
-
-
- {errors?.password ? ( -
- {errors.password.type === 'required' - ? '필수 입력사항입니다.' - : errors.password.message} -
- ) : ( -
- )} - - {isError ? ( -
- *등록되지 않은 계정이거나 비밀번호가 올바르지 않습니다. -
- 입력하신 내용을 다시 확인해주세요. -
- ) : ( -
- )} - - - - ); -}; - -export default SigninForm; diff --git a/src/components/signup/EmailVerification.tsx b/src/components/signup/EmailVerification.tsx deleted file mode 100644 index af9fd5b..0000000 --- a/src/components/signup/EmailVerification.tsx +++ /dev/null @@ -1,310 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import React, { ChangeEvent, useEffect, useRef, useState } from 'react'; -import ToBack from '../shared/sign/ToBack'; -import { useMutation } from 'react-query'; -import { motion } from 'framer-motion'; -import { emailauthrequest, emailauthverify } from 'src/api/auth/auth.post.api'; -import Image from 'next/image'; -import PasswordVerification from './PasswordVerification'; - -const EmailVerification = () => { - const [userName, setUserName] = useState(''); - const [userEmail, setUserEmail] = useState(''); - const [emailValid, setEmailValid] = useState(false); - const [validNumber, setValidNumber] = useState(''); - const [validTime, setValidTime] = useState(300); - const [isError, setIsError] = useState(false); - const [showVerification, setShowVerification] = useState(false); - const startRef = useRef(null); - const [isInvalidCode, setIsInvalidCode] = useState(false); - const [isPartnerShip, setIsPartnerShip] = useState(false); - const [timerExpired, setTimerExpired] = useState(false); - const [isEmailConfirmed, setIsEmailConfirmed] = useState(false); - - const { mutateAsync: emailRequest } = useMutation((email: string) => { - return emailauthrequest({ emailAddress: email }); - }); - - const { mutateAsync: emailVerify } = useMutation( - ({ emailAddress, code }: { emailAddress: string; code: number }) => { - return emailauthverify({ emailAddress, code }); - } - ); - - const handleNameChange = (e: ChangeEvent) => { - setUserName(e.target.value); - }; - - const handleEmailChange = (e: ChangeEvent) => { - setUserEmail(e.target.value); - const emailRegEx = - /^[A-Za-z0-9]([-_.]?[A-Za-z0-9])*@[A-Za-z0-9]([-_.]?[A-Za-z0-9])*\.[A-Za-z]{2,3}$/; - const isValid = emailRegEx.test(e.target.value); - setEmailValid(isValid); - setIsPartnerShip(false); - }; - - const handleValidNumberChange = async (e: ChangeEvent) => { - const regex = e.target.value.replace(/[^0-9]/g, ''); - setValidNumber(regex); - - if (regex.length === 6) { - try { - const { status } = (await emailVerify({ - emailAddress: userEmail, - code: Number(regex) - })) as unknown as { status: string }; - - if (status === 'SUCCESS') { - console.log('인증 성공'); - console.log(status); - setIsEmailConfirmed(true); - } - } catch (error: any) { - console.error(error); - const errorResponse = error.response.data; - const errorCode = errorResponse.errorCode; - console.log('인증 실패 - 에러 코드:', errorCode); - - if (errorCode === '1-005') { - setIsInvalidCode(true); - } - } - } - }; - - const handleRetryClick = async () => { - try { - await emailRequest(userEmail); - setShowVerification(true); - setValidTime(300); - setTimerExpired(false); - } catch (error: any) { - if (error.response.data.errorCode === '1-003') { - setIsPartnerShip(true); - } - setIsError(true); - } - }; - - useEffect(() => { - startRef.current?.focus(); - }, []); - - useEffect(() => { - if (isError) { - const timeoutId = setTimeout(() => { - setIsError(false); - }, 4000); - return () => clearTimeout(timeoutId); - } - }, [isError]); - - useEffect(() => { - let intervalId: NodeJS.Timeout; - if (validTime > 0) { - intervalId = setInterval(() => { - setValidTime((prevTime) => { - if (prevTime === 1) { - setTimerExpired(true); - } - return prevTime - 1; - }); - }, 1000); - } - return () => clearInterval(intervalId); - }, [validTime]); - - return ( -
- {!isEmailConfirmed && ( - <> - - -
- 제휴 기업이라면,
- 사내 이메일을 인증해주세요. -
-
- -
-
- -
-
-
-
- -
-
-
- - -
-
-
- -
-
- {userEmail && !emailValid && ( -
- *이메일 형식에 맞지 않습니다. -
- )} - {isPartnerShip && !timerExpired && ( -
- 계약되지 않은 회사입니다. -
- )} -
-
-
- -
-
- -
-
-
-
- ExclamationMark Logo -
본인 인증, 예약 확인, 약관 변경 안내 등을 위해 사용됩니다.
사내 이메일로 정확하게 입력해주세요.
-
- - {showVerification && ( - -
-
-
- -
-
- {isInvalidCode && !timerExpired && ( -
- 올바르지 않은 코드입니다. -
- )} - {timerExpired && ( -
- 인증 시간이 초과되었습니다. -
- )} -
-
-
- -
-
- {Math.floor(validTime / 60)}:{validTime % 60 < 10 ? `0${validTime % 60}` : validTime % 60} -
-
-
-
- ExclamationMark Logo -
이메일로 발송된 코드를 입력해주세요.
-
- - )} - - )} - {isEmailConfirmed && ( - - )} -
- ); -}; - -export default EmailVerification; - diff --git a/src/components/signup/JobPosition.tsx b/src/components/signup/JobPosition.tsx deleted file mode 100644 index 19cd6d6..0000000 --- a/src/components/signup/JobPosition.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/* eslint-disable no-unused-vars */ -import React, { useState } from 'react'; -import JobPositionItem from './JobPositionItem'; -import { jobPosition as allPostion } from '@/constant/jobPosition'; -import { motion } from 'framer-motion'; - -const JobPosition = ({ setSelectedJob, setShowJobPosition }: { setSelectedJob: (job: string) => void; setShowJobPosition: (show: boolean) => void; }) => { - //todo : 이미 선택된 직무를 다시 변경 할 수 있으니까 초기 직무선택값을 받아야함 - const [selectPosition, setSelectPosition] = useState(null); - - const handleClick = (title: string) => { - setSelectPosition(title); - setSelectedJob(title); - }; - - const handleSubmit = () => { - //todo : 선택한 직무 넘기기 - const res = allPostion?.find((item) => item.title === selectPosition); - console.log(res?.description); - setShowJobPosition(false); - - }; - - return ( -
-
-
- 직무선택 -
-
{ - handleSubmit() - }} - className="w-[18px] h-[18px] absolute top-[25px] right-[16px] cursor-pointer"> - -
-
- -
    - {allPostion?.map((position, i) => ( - - - - ))} -
- {selectPosition == null ? ( -
- -
- ) : ( -
- -
- )} -
- ); -}; - -export default JobPosition; diff --git a/src/components/signup/JobPositionItem.tsx b/src/components/signup/JobPositionItem.tsx deleted file mode 100644 index 089bd10..0000000 --- a/src/components/signup/JobPositionItem.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/* eslint-disable no-unused-vars */ -import React from 'react'; - -interface JobPositionItemProps { - title: string; - handleClick: (title: string) => void; - selectPosition: string | null; -} - -const JobPositionItem = ({ - title, - handleClick, - selectPosition -}: JobPositionItemProps) => { - return ( -
handleClick(title)}> -
-
- {title} -
-
- {title == selectPosition ? ( - - ) : ( - - )} -
-
-
- ); -}; - -export default JobPositionItem; diff --git a/src/components/signup/PasswordVerification.tsx b/src/components/signup/PasswordVerification.tsx deleted file mode 100644 index 1bf8fb8..0000000 --- a/src/components/signup/PasswordVerification.tsx +++ /dev/null @@ -1,318 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -import React, { useEffect, useState } from 'react'; -import ToBack from '../shared/sign/ToBack'; -import { motion } from 'framer-motion'; -import Image from 'next/image'; -import JobPosition from './JobPosition'; - -const PasswordVerification = ({ userName, userEmail }: { userName: string; userEmail: string; }) => { - const [password, setPassword] = useState(''); - const [passwordError, setPasswordError] = useState(''); - const [showJobPosition, setShowJobPosition] = useState(false); - const [selectedJob, setSelectedJob] = useState(null); - const [allAgreed, setAllAgreed] = useState(false); - const [nextButtonDisabled, setNextButtonDisabled] = useState(true); - const [termsCheckIcon, setTermsCheckIcon] = useState(false); - const [serviceTermsCheckIcon, setServiceTermsCheckIcon] = useState(false); - const [privacyTermsCheckIcon, setPrivacyTermsCheckIcon] = useState(false); - const [marketingTermsCheckIcon, setMarketingTermsCheckIcon] = useState(false); - - useEffect(() => { - checkFormValidity(); - }, [passwordError, selectedJob, allAgreed, termsCheckIcon, serviceTermsCheckIcon, privacyTermsCheckIcon, marketingTermsCheckIcon]); - - const handlePasswordChange = (e: React.ChangeEvent) => { - const newPassword = e.target.value; - setPassword(newPassword); - validatePassword(newPassword); - }; - - const validatePassword = (value: string) => { - const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,16}$/; - if (!regex.test(value)) { - setPasswordError('패스워드를 다시 정해주세요.'); - } else { - setPasswordError(''); - } - }; - - const handleJobPositionClick = () => { - setShowJobPosition(true); - }; - - const checkFormValidity = () => { - if (passwordError === '' && selectedJob && serviceTermsCheckIcon && privacyTermsCheckIcon) { - setNextButtonDisabled(false); - } else { - setNextButtonDisabled(true); - } - }; - - const handleServiceTermsCheck = () => { - const newServiceTermsCheckIcon = !serviceTermsCheckIcon; - setServiceTermsCheckIcon(newServiceTermsCheckIcon); - updateAllAgreedIcon(); - if (newServiceTermsCheckIcon && privacyTermsCheckIcon && marketingTermsCheckIcon) { - setAllAgreed(true); - } - else { - setAllAgreed(false); - } - }; - - const handlePrivacyTermsCheck = () => { - const newPrivacyTermsCheckIcon = !privacyTermsCheckIcon; - setPrivacyTermsCheckIcon(newPrivacyTermsCheckIcon); - updateAllAgreedIcon(); - if (serviceTermsCheckIcon && newPrivacyTermsCheckIcon && marketingTermsCheckIcon) { - setAllAgreed(true); - } - else { - setAllAgreed(false); - } - }; - - const handleMarketingTermsCheck = () => { - const newMarketingTermsCheckIcon = !marketingTermsCheckIcon; - setMarketingTermsCheckIcon(newMarketingTermsCheckIcon); - updateAllAgreedIcon(); - if (serviceTermsCheckIcon && privacyTermsCheckIcon && newMarketingTermsCheckIcon) { - setAllAgreed(true); - } - else { - setAllAgreed(false); - } - }; - - const updateAllAgreedIcon = () => { - if (allAgreed) { - setTermsCheckIcon(true); - } else { - setTermsCheckIcon(false); - } - }; - - const handleAllAgreed = () => { - const newAllAgreed = !allAgreed; - setAllAgreed(newAllAgreed); - setServiceTermsCheckIcon(newAllAgreed); - setPrivacyTermsCheckIcon(newAllAgreed); - setMarketingTermsCheckIcon(newAllAgreed); - checkFormValidity(); - }; - - const handleNextButtonClick = () => { - // todo - }; - - return ( -
- {!showJobPosition && ( - <> -
- 회원가입을 위한
정보를 입력해주세요. -
-
-
-
- -
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
확인완료
-
-
-
-
-
- ExclamationMark Logo -
본인 인증, 예약 확인, 약관 변경 안내 등을 위해 사용됩니다.
사내 이메일로 정확하게 입력해주세요.
-
-
-
- -
- {passwordError && ( -
- {passwordError} -
- )} -
-
-
- -
-
-
-
- ExclamationMark Logo -
*영문 (대문자 포함), 숫자, 특수문자 중 2가지 이상 조합 8~16자리
-
-
-
- -
-
-
-
- -
- DropDown Logo -
-
-
- {allAgreed ? ( - - ) : ( - - )} - - - - - - -
- - )} - {showJobPosition && ( - - - - )} -
- ); -}; - -export default PasswordVerification; \ No newline at end of file diff --git a/src/components/signup/PhoneCertification.tsx b/src/components/signup/PhoneCertification.tsx deleted file mode 100644 index e672a34..0000000 --- a/src/components/signup/PhoneCertification.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import React, { ChangeEvent, useEffect, useRef, useState } from 'react'; -import ToBack from '../shared/sign/ToBack'; -import { SignupBtnStatus } from '@/models/signupBtnStatus'; -import { motion } from 'framer-motion'; -import { invertSecond } from '@/utils/invertSecond'; -import { useMutation } from 'react-query'; -import { phoneauthrequest, phoneauthverify } from '@/api/auth/auth.post.api'; -import EmailVerification from './EmailVerification'; - -const PhoneCertification = () => { - const [phoneNumber, setPhoneNumber] = useState(''); - const [btnStatus, setBtnStatus] = useState('FIRST'); - const [isRequest, setIsRequest] = useState(false); - const [validNumber, setValidNumber] = useState(''); - const [validTime, setValidTime] = useState(180); - const [isError, setIsError] = useState(false); - const inputRef = useRef(null); - const startRef = useRef(null); - const [showEmailPosition, setShowEmailPosition] = useState(false); - - const { mutateAsync: phoneRequest } = useMutation((number: string) => { - return phoneauthrequest({ - phoneNumber: number - }); - }); - - const { mutateAsync: phoneVerify } = useMutation( - ({ phoneNumber, code }: { phoneNumber: string; code: number }) => { - return phoneauthverify({ phoneNumber, code }); - } - ); - - const handlePhoneNumberChange = (e: ChangeEvent) => { - const regex = e.target.value - .replace(/[^0-9]/g, '') - .replace(/^(\d{0,3})(\d{0,4})(\d{0,4})$/g, '$1-$2-$3') - .replace(/(-{1,2})$/g, ''); - setPhoneNumber(regex); - }; - - const handleValidNumberChange = (e: ChangeEvent) => { - const regex = e.target.value.replace(/[^0-9]/g, ''); - setValidNumber(regex); - }; - - useEffect(() => { - startRef.current?.focus(); - }, []); - - useEffect(() => { - if (phoneNumber.length === 13) { - setBtnStatus('SECOND'); - } else { - setBtnStatus('FIRST'); - } - }, [phoneNumber]); - - useEffect(() => { - if (isRequest) { - inputRef.current?.focus(); - } - }, [isRequest]); - - useEffect(() => { - let timeoutId: NodeJS.Timeout; - if (isError) { - timeoutId = setTimeout(() => { - setIsError(false); - }, 3000); - } - return () => clearTimeout(timeoutId); - }, [isError]); - - useEffect(() => { - let intervalId: NodeJS.Timeout; - - if (isRequest && validTime > 0) { - intervalId = setInterval(() => { - setValidTime((prevTime) => prevTime - 1); - }, 1000); - } - - return () => clearInterval(intervalId); - }, [isRequest, validTime]); - - const handleClick = async () => { - if (btnStatus == 'SECOND') { - const { status } = (await phoneRequest(phoneNumber.replace(/-/g, ''))) as { - status: string; - }; - if (status == 'SUCCESS') { - setIsRequest(true); - setBtnStatus('THIRD'); - } - } - if (btnStatus == 'THIRD') { - if (validNumber.length != 6) { - setValidNumber(''); - setIsError(true); - inputRef.current?.focus(); - return; - } - const { status } = (await phoneVerify({ - phoneNumber: phoneNumber.replace(/-/g, ''), - code: Number(validNumber) - })) as { status: string }; - - if (status == 'SUCCESS') { - console.log('핸드폰 인증 성공'); - setShowEmailPosition(true); - } - - if (status == 'FAIL') { - console.log('핸드폰 인증 실패') - //todo : 에러코드에 따른 텍스트 조건부 렌더링 - alert('실패'); - } - } - }; - - return ( -
- {!showEmailPosition && ( - <> - - -
- 본인인증을 위해
- 휴대폰 번호를 -
- 인증해주세요. -
-
- - -
-
-
+82
-
- -
- -
-
-
- - {isRequest && ( - <> -
-
-
- -
-
- {invertSecond(validTime)} -
-
-
- {isError ? ( -
- *올바르지 않은 코드입니다. -
- ) : ( - '' - )} - - - )} - - )} - {showEmailPosition && ( - - )} -
- ); -}; - -export default PhoneCertification; diff --git a/src/components/signup/Terms.tsx b/src/components/signup/Terms.tsx deleted file mode 100644 index 5948884..0000000 --- a/src/components/signup/Terms.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import React, { MouseEvent, useState } from 'react'; -import TermsTitle from './terms/TermsTitle'; -import { 약관목록 } from '@constant/temrs'; -import { TermsType } from '@/models/terms'; -import TermsItem from './terms/TermsItem'; -import dynamic from 'next/dynamic'; - -const TermsModal = dynamic(() => import('./terms/TermsModal'), { - ssr: false -}); - -const Terms = () => { - const [termsAgreements, setTermsAgreements] = useState(() => - setInitialValues(약관목록) - ); - const [openModal, setOpenModal] = useState(false); - const [modalDescription, setModalDescription] = useState(null); - const [modalSubTitle, setModalSubTitle] = useState(null); - - const handleAgreement = (id: number, checked: boolean) => { - setTermsAgreements((prevTerms) => { - return prevTerms.map((term) => (term.id === id ? { ...term, checked } : term)); - }); - }; - - const handleAllTerms = (_: MouseEvent, checked: boolean) => { - setTermsAgreements((prevTerms) => { - return prevTerms.map((term) => ({ ...term, checked })); - }); - }; - - const isAllRequireChecked = termsAgreements - .filter((term) => term.required) - .every((term) => term.checked); - - console.log(isAllRequireChecked); - //todo : isAllRequireChecked을 넘겨서 true 여야지만 회원가입 이뤄지게 (버튼 눌러지게) - - const isAllTermsChecked = termsAgreements.every((term) => term.checked); - - if (openModal) { - return ( - - ); - } - - return ( -
- -
    - {termsAgreements.map((term) => ( - handleAgreement(term.id, checked)} - /> - ))} -
-
- ); -}; - -function setInitialValues(terms: TermsType[]) { - return terms.map((term) => ({ ...term, checked: false })); -} - -export default Terms; diff --git a/src/components/signup/terms/TermsItem.tsx b/src/components/signup/terms/TermsItem.tsx deleted file mode 100644 index 9d478bb..0000000 --- a/src/components/signup/terms/TermsItem.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* eslint-disable no-unused-vars */ -import React, { Dispatch, MouseEvent } from 'react'; - -interface TermsItemProps { - title: string; - description: string; - subTitle: string; - checked: boolean; - onChange: (e: MouseEvent, checked: boolean) => void; - setOpenModal: Dispatch>; - setModalDescription: Dispatch>; - setModalSubTitle: Dispatch>; -} - -const TermsItem = ({ - title, - description, - checked, - subTitle, - setModalSubTitle, - onChange, - setOpenModal, - setModalDescription -}: TermsItemProps) => { - const handleClick = () => { - setModalDescription(description); - setModalSubTitle(subTitle); - setOpenModal(true); - }; - - return ( -
  • -
    { - onChange(e, !checked); - }} - className="justify-start items-center gap-[11px] flex cursor-pointer"> -
    - {checked ? ( - - ) : ( - - )} -
    -
    - {title} -
    -
    - -
  • - ); -}; - -export default TermsItem; diff --git a/src/components/signup/terms/TermsModal.tsx b/src/components/signup/terms/TermsModal.tsx deleted file mode 100644 index 392f324..0000000 --- a/src/components/signup/terms/TermsModal.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import MainContainer from '@/components/shared/MainContainer'; -import React, { Dispatch } from 'react'; -import { createPortal } from 'react-dom'; -import ReactMarkdown from 'react-markdown'; -import remarkGfm from 'remark-gfm'; - -interface TermsModalProps { - modalDescription: string | null; - modalSubTitle: string | null; - setOpenModal: Dispatch>; -} - -const TermsModal = ({ - modalDescription, - setOpenModal, - modalSubTitle -}: TermsModalProps) => { - console.log(modalDescription); - const $portalRoot = document.getElementById('root-portal'); - - if ($portalRoot == null) { - return null; - } - if (modalDescription == null) { - return null; - } - - return createPortal( - -
    -
    - {modalSubTitle} -
    -
    { - setOpenModal(false); - }} - className="w-[18px] h-[18px] absolute top-[25px] right-[16px] cursor-pointer"> - -
    -
    -
    - - {modalDescription} - -
    -
    , - $portalRoot - ); -}; - -export default TermsModal; diff --git a/src/components/signup/terms/TermsTitle.tsx b/src/components/signup/terms/TermsTitle.tsx deleted file mode 100644 index fe7b17c..0000000 --- a/src/components/signup/terms/TermsTitle.tsx +++ /dev/null @@ -1,37 +0,0 @@ -/* eslint-disable no-unused-vars */ -import React, { MouseEvent } from 'react'; - -interface TermsTitleProps { - checked: boolean; - onChange: (e: MouseEvent, checked: boolean) => void; -} - -const TermsTitle = ({ checked, onChange }: TermsTitleProps) => { - return ( -
    onChange(e, !checked)} - className={`cursor-pointer w-[361px] h-12 bg-white rounded-lg border-2 flex items-center - ${ - checked - ? 'border-space-purple text-space-purple' - : 'text-gray-500 border-gray-400' - } - `}> -
    - {checked ? ( - - ) : ( - - )} -
    -
    - 모두 동의합니다 -
    -
    - ); -}; - -export default TermsTitle; diff --git a/src/constant/jobPosition.ts b/src/constant/jobPosition.ts deleted file mode 100644 index d5c2ded..0000000 --- a/src/constant/jobPosition.ts +++ /dev/null @@ -1,66 +0,0 @@ -export const jobPosition = [ - { - title: '대표', - description: 'OWNER' - }, - { - title: '경영/기획/사무', - description: 'OFFICE' - }, - { - title: '회계/재무/IR', - description: 'FINANCE' - }, - { - title: '인사/총무/HR', - description: 'HRD' - }, - { - title: '마케팅/광고/홍보', - description: 'PROMOTION' - }, - { - title: 'IT 개발', - description: 'ITDEV' - }, - { - title: 'IT 서비스 기획', - description: 'ITPLAN' - }, - { - title: '영업/판매', - description: 'SALE' - }, - { - title: '디자인', - description: 'DESIGN' - }, - { - title: '고객서비스/운영/고객지원/상담', - description: 'SERVICE' - }, - { - title: '언론/미디어/콘텐츠', - description: 'CONTENTS' - }, - { - title: '연구개발', - description: 'RND' - }, - { - title: '전문/특수직', - description: 'PROFESSIONAL' - }, - { - title: '유통/MD', - description: 'MD' - }, - { - title: '금융/증권/보험', - description: 'INSURANCE' - }, - { - title: '기타', - description: 'ETC' - } -]; diff --git a/src/constant/temrs.ts b/src/constant/temrs.ts deleted file mode 100644 index c6db19e..0000000 --- a/src/constant/temrs.ts +++ /dev/null @@ -1,83 +0,0 @@ -export const 약관목록 = [ - { - id: 1, - title: '(필수) 서비스 이용약관 동의', - subTitle: '서비스 이용약관 동의서', - description: `## 서비스 이용약관 동의서 - -### 제 1장 총칙 -#### 제 1조 (목적) -이 약관은 Offispace가 운영하는 Offispace 멤버용 웹사이트, Offispace 멤버용 앱, "Offispace"와 계약을 체결한 제휴지점 운영자 전용 웹사이트(이하 "웹사이트" 및 "앱"을 통칭하 여 "웹사이트 등"이라 한다)에서 제공하는 인터넷 관련 서비스(이하 “서비스")를 이용함에 있어 "Offispace"와 이용자의 권리, 의무 및 책임 사항을 규정함을 목적으로 합니다. - -#### 제 2조 (정의) -1) "웹사이트 등"이라 함은 "Offispace"가 재화 또는 용역(이하 "재화 등"이라 함)을 멤버(아래에서 정의됨)에게 제공하기 위하여 컴퓨터 등 정보통신설비를 이용한 가상의 영업장을 말합니다. -2) "멤버"란 그룹에 소속되어 "웹사이트 등"에 접속하여 본 약관에 따라 "Offispace"가 제공하는 서비스를 "웹사이트 등"에서 이용할 수 있는 자로서 "웹사이트 등"에 멤버로 등록을 한 자를 말합니다. -3) "그룹"이란 "Offispace"와 멤버십 등록계약 또는 제휴 계약을 체결한 법인, 단체로서, 멤버가 소속된 법인, 단체, 개인을 의미합니다. - -#### 제 3조 (약관 등의 명시와 설명 및 개정) -1) "Offispace"는 이 약관의 내용과 개인정보관리책임자 등을 "멤버"가 쉽게 알 수 있도록 "서비스”에 게시합니다. 다만, 약관의 내용은 이용자가 연결 화면을 통하여 볼 수 있도록 할 수 있습니다. -2) "Offispace"는 이용자가 약관에 동의하기에 앞서 내용을 이용자가 이해할 수 있도록 별도의 연결 화면 또는 팝업 화면 등을 제공하여 이용자의 확인을 구하여야 합니다. -3) "Offispace"는 「전자상거래 등에서의 소비자보호에 관한 법률」, 「약관의 규제에 관한 법률」, 「전자문서 및 전자거래 기본법」, 「전자금융거래법」, 「전자서명법」, 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」, 「방문판매 등에 관한 법률」, 「소비자기본법」 등 관련 법을 위배하지 않는 범위에서 이 약관을 개정할 수 있습니다. - -#### 제 4조 (서비스 가입) -1) "멤버"는 "Offispace"가 정한 가입 양식에 따라 정보를 기입한 후 이 약관에 동의한다는 의사 표시를 함으로서 멤버 가입을 신청합니다. -2) "Offispace"는 제 1항에 따라 제공된 정보를 확인 또는 인정한 후 가입을 승낙함으로써 "웹사이트 등"의 이용계약은 체결됩니다. -3) 제1항, 제2항에도 불구하고, "Offispace"와 제휴 계약을 체결한 그룹에 속한 "멤버"에 한하여, 별도의 가입절차 없이, 서비스이용권한을 부여할 수 있으며, "Offispace”가 권한을 부여한 때로부터 "Offispace"와 이러한 "멤버" 사이에 "웹사이트 등"의 이용계약이 체결된 것으로 봅니다. -4) "멤버"는 "Offispace"에서 제공하는 "웹사이트 등" 에 게시된 이 약관에 따라 가입한 하나의 계정으로 모든 "웹사이트 등"에 로그인하여 이용할 수 있습니다. - -##### 상기 본인은 위와 같은 서비스 이용약관에 동의함.`, - required: true - }, - { - id: 2, - title: '(필수) 개인정보 수집 및 이용 동의', - subTitle: '개인정보 수집 및 이용 동의서', - description: `## 개인정보 수집 및 활용 동의서 - -Offispace는 「개인정보보호법」 및 관계 법령에 의거하여 고객님의 개인정보 수집 및 활용에 대한 활용 동의서를 받고 있습니다. - -개인정보 제공자가 동의한 내용 외의 다른 목적으로 개인정보를 활용하지 않으며, 제공된 개인정보의 이용을 거부하고자 할 때에는 개인정보 관리 책임자를 통해 열람, 정정 혹은 삭제를 요구할 수 있습니다. - -### 개인정보의 수집·이용 목적 -- 멤버 전용서비스에 따른 이용자 식별 본인 확인 및 멤버관리, 공지, 불만처리, 고객상담, 부가서비스 제공 -- 서비스 정보 및 알림 제공 (서비스 내 Push 등) - -### 개인정보 수집 항목 -- 이름 -- 이메일 -- 직무 정보 - -#### 상기 본인은 위와 같이 개인정보 수집 및 활용에 동의함.`, - required: true - }, - { - id: 3, - title: '(선택) 마케팅 정보 수집 및 이용 동의', - subTitle: '마케팅 정보 수신 동의서', - description: `## 마케팅 정보 수신 동의서 - -Offispace는 개인정보보호법 및 정보통신망이용촉진 및 정보보호 등에 관한 법률 등 관계법령에 따라 광고성 정보를 전송하기 위해 이용자의 사전 수신 동의를 받고 있습니다. 본 내용은 Offispace 회원 서비스가 적용되는 개별서비스의 마케팅 수신동의를 포함하고 있으며, 마케팅 정보 수신 동의 시 개별서비스의 마케팅 수신에 일괄 동의한 것으로 처리됩니다. - -### 전송방법 -마케팅 정보 전송 방법은 Offispace의 각 개별서비스에서 정한 방식에 따라 전송됩니다. - -#### 전송내용 -발송되는 마케팅 정보는 수신자에게 Offispace 및 개별서비스에서 제공하는 혜택(포인트, 쿠폰 등) 정보, 각종 이벤트, 신규 상품 관련 소식 등 광고성 정보로 관련 법의 규정을 준수하여 발송됩니다. 단, 광고성 정보 이외에 의무적으로 안내 되어야 하는 정보성 내용은 수신동의 여부와 무관하게 제공됩니다. - -#### 수집항목 -- 이름, 이메일, 직무 정보 - -#### 이용목적 -- 소식지 서비스 제공, 신제품 및 이벤트 안내, 이벤트 경품/사은품 제공, 할인행사, 고객 맞춤 마케팅/판촉 등 관련 이메일 및 SMS 등 발송 - -#### 철회안내 -- 수신동의 이후에라도 언제든지 동의를 철회할 수 있으며, 수신을 동의하지 않아도 회사가 제공하는 기본적인 서비스를 이용하실 수 있습니다. 다만 수신 거부할 경우 신규 서비스나 상품 관련 소식 등의 마케팅 정보를 제공받지 못할 수 있습니다. - -#### 수신동의 변경 및 보유기간 -- 보유 기간 : 마케팅 정보 수신 동의로부터 2년, 기간 초과 시 동의 절차 재진행 (미동의 시, 즉시 파기) -Offispace 정보수정 페이지에서 개별서비스의 마케팅 수신동의를 변경(동의/철회)할 수 있으며, 동의일로부터 회원 탈퇴 혹은 마케팅 수신 동의 해제 시까지 광고성 정보 전달을 위하여 보유ㆍ이용됩니다. - -#### 상기 본인은 위와 같이 마케팅 정보 수신에 동의함.`, - required: false - } -]; diff --git a/src/models/response.ts b/src/models/response.ts deleted file mode 100644 index 41420d7..0000000 --- a/src/models/response.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface basicResponse { - status?: string; - errorCode?: string | null; - data?: string | null; - message?: string | null; -} diff --git a/src/models/signupBtnStatus.ts b/src/models/signupBtnStatus.ts deleted file mode 100644 index a9ee894..0000000 --- a/src/models/signupBtnStatus.ts +++ /dev/null @@ -1,9 +0,0 @@ -// 처음 진입 했을 때 first, 번호가 정상적으로 입력됐을때 second, 인증요청을 눌렀을 때 third - -const status = { - FIRST: 'FIRST', - SECOND: 'SECOND', - THIRD: 'THIRD' -}; - -export type SignupBtnStatus = keyof typeof status; diff --git a/src/models/terms.ts b/src/models/terms.ts deleted file mode 100644 index c8af24c..0000000 --- a/src/models/terms.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface TermsType { - id: number; - title: string; - description: string; - required: boolean; - subTitle: string; -} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 0b28f2b..c14313e 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,13 +1,6 @@ import '@/styles/globals.css'; import type { AppProps } from 'next/app'; -import { QueryClient, QueryClientProvider } from 'react-query'; - -const queryClient = new QueryClient(); export default function App({ Component, pageProps }: AppProps) { - return ( - - - - ); + return ; } diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 0b4c64b..fc6c518 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -1,4 +1,6 @@ -import { Html, Head, Main, NextScript } from 'next/document'; +import { + Html, Head, Main, NextScript, +} from 'next/document'; export default function Document() { return ( @@ -7,7 +9,6 @@ export default function Document() {
    -
    ); diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c5967c2..ee23649 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -6,7 +6,7 @@ import Image from 'next/image'; export default function Home() { return (
    -
    +

    Get started by editing  test src/pages/index.tsx diff --git a/src/pages/sign/findpassword/index.tsx b/src/pages/sign/findpassword/index.tsx deleted file mode 100644 index 10b4570..0000000 --- a/src/pages/sign/findpassword/index.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import ChangePasswordDone from '@/components/findpassword/ChangePasswordDone'; -import EmailCertification from '@/components/findpassword/EmailCertification'; -import SetNewPassword from '@/components/findpassword/SetNewPasswod'; -import MainContainer from '@/components/shared/MainContainer'; -import React, { useState } from 'react'; - -const FindPasswordPage = () => { - const [step, setStep] = useState(0); - - return ( - - {step === 0 ? : null} - {step === 1 ? : null} - {step === 2 ? : null} - - ); -}; - -export default FindPasswordPage; diff --git a/src/pages/sign/index.tsx b/src/pages/sign/index.tsx deleted file mode 100644 index e8c4e3a..0000000 --- a/src/pages/sign/index.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import MainContainer from '@/components/shared/MainContainer'; -import SignInButton from '@/components/shared/sign/SignInButton'; -import SignUpButton from '@/components/shared/sign/SignUpButton'; - -import Link from 'next/link'; - -const SignHomePage = () => { - return ( - -

    -
    - -
    -
    - - 예약하고, 탐색하고, 성장하는 -
    -
    - - 멀티 서비스 오피스 - -
    -
    - -
    - - -
    - -
    - - 비밀번호를 잊으셨나요?{' '} - - - - 비밀번호 찾기{' '} - - -
    - - ); -}; - -export default SignHomePage; diff --git a/src/pages/signin/index.tsx b/src/pages/signin/index.tsx deleted file mode 100644 index 49e4482..0000000 --- a/src/pages/signin/index.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import MainContainer from '@/components/shared/MainContainer'; -import SigninForm from '@/components/signin/SigninForm'; -import Link from 'next/link'; - -const SignPage = () => { - return ( - -
    -
    - -
    -
    - -
    - - 비밀번호를 잊으셨나요?{' '} - - - - 비밀번호 찾기{' '} - - -
    -
    - ); -}; - -export default SignPage; diff --git a/src/pages/signup/index.tsx b/src/pages/signup/index.tsx deleted file mode 100644 index 8ea30b4..0000000 --- a/src/pages/signup/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import MainContainer from '@/components/shared/MainContainer'; -import EmailVerification from '@/components/signup/EmailVerification'; -// import PhoneCertification from '@/components/signup/PhoneCertification'; -// import JobPosition from '@/components/signup/JobPosition'; - -const SignUpPage = () => { - // todo 단계별로 회원가입 이뤄지게 - // const [step, setStep] = useState(0); - return ( - - - - ); -}; - -export default SignUpPage; diff --git a/src/remote/sendEmailReq.ts b/src/remote/sendEmailReq.ts deleted file mode 100644 index 0829f75..0000000 --- a/src/remote/sendEmailReq.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { IEmail } from '@/api/types/auth'; -import axios from 'axios'; - -export const sendEmailReq = async ({ emailAddress }: IEmail) => { - const response = await axios.post('https://joo-api.store/auth/email', { - emailAddress - }); - - return response; -}; diff --git a/src/styles/globals.css b/src/styles/globals.css index 4350919..1dde46c 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -2,10 +2,11 @@ @tailwind components; @tailwind utilities; + + @font-face { font-family: 'Pretendard'; - src: - url('/fonts/PretendardVariable.woff2') format('woff2'), + src: url('/fonts/PretendardVariable.woff2') format('woff2'), url('/fonts/PretendardVariable.ttf') format('ttf'); font-weight: normal; font-style: normal; @@ -18,27 +19,37 @@ box-sizing: border-box; } + + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + body { color: rgb(var(--foreground-rgb)); + background: linear-gradient(to bottom, + transparent, + rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb)); + } body { - font-family: - 'Pretendard', - -apple-system, - BlinkMacSystemFont, - Roboto, - Oxygen, - Ubuntu, - Cantarell, - Fira Sans, - Droid Sans, - Helvetica Neue, - sans-serif; + font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, Roboto, + Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; } @layer utilities { .text-balance { text-wrap: balance; } -} +} \ No newline at end of file diff --git a/src/utils/invertSecond.ts b/src/utils/invertSecond.ts deleted file mode 100644 index b065e7b..0000000 --- a/src/utils/invertSecond.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const invertSecond = (time: number): string => { - const minutes = Math.floor(time / 60); - const seconds = time % 60; - return `${minutes}:${seconds.toString().padStart(2, '0')}`; -}; diff --git a/tailwind.config.ts b/tailwind.config.ts index 2113f0c..61fd103 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -57,6 +57,6 @@ const config: Config = { } } }, - plugins: [require('@tailwindcss/typography')] + plugins: [] }; export default config; diff --git a/tsconfig.json b/tsconfig.json index 2072a32..efa42bc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,13 +15,20 @@ "baseUrl": ".", "paths": { "@/*": ["./src/*"], - "@app/*": ["src/app/*"], - "@components/*": ["src/components/*"], - "@types/*": ["src/types/*"], - "@utils/*": ["src/utils/*"], - "@constant/*": ["src/constant/*"] + "@app/*": [ + "src/app/*" + ], + "@components/*": [ + "src/components/*" + ], + "@types/*": [ + "src/types/*" + ], + "@utils/*": [ + "src/utils/*" + ], } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "next.config.mjs"], + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "next.config.mjs",], "exclude": ["node_modules"] }