From f89780b31b986035465d1c844a39169800c0eb5e Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Tue, 20 Aug 2024 17:47:12 +0900 Subject: [PATCH 01/23] =?UTF-8?q?chore:=20Airbnb=20ESLint=20=EA=B7=9C?= =?UTF-8?q?=EC=B9=99=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 8 +- .prettierrc | 3 +- package-lock.json | 1252 ++++++++++++++++++++++++++++-------------- package.json | 9 +- pages/board/[id].tsx | 6 +- 5 files changed, 863 insertions(+), 415 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index bffb357a7..cce2d8873 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,9 @@ { - "extends": "next/core-web-vitals" + "extends": ["next/core-web-vitals", "airbnb", "plugin:prettier/recommended"], + "rules": { + "quotes": ["error", "double"], + "prettier/prettier": ["error", { "singleQuote": false }], + "react/react-in-jsx-scope": "off", + "import/extensions": "off" + } } diff --git a/.prettierrc b/.prettierrc index b4bfed357..51a02cc08 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,4 @@ { - "plugins": ["prettier-plugin-tailwindcss"] + "plugins": ["prettier-plugin-tailwindcss"], + "singleQuote": false } diff --git a/package-lock.json b/package-lock.json index 124c3a6b0..3bb24c0c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,8 +19,15 @@ "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "eslint": "^8", + "eslint": "^8.57.0", + "eslint-config-airbnb": "^19.0.4", "eslint-config-next": "13.5.6", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jsx-a11y": "^6.9.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^4.6.2", "prettier": "^3.3.3", "prettier-plugin-tailwindcss": "^0.6.6", "tailwindcss": "^3.4.9", @@ -48,18 +55,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", - "dev": true, - "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", @@ -85,9 +80,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -108,22 +103,23 @@ } }, "node_modules/@eslint/js": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", - "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -144,9 +140,10 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@isaacs/cliui": { @@ -435,6 +432,18 @@ "node": ">=14" } }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.0.tgz", @@ -605,9 +614,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -697,37 +706,41 @@ "dev": true }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -746,6 +759,26 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", @@ -802,30 +835,34 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -841,15 +878,6 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -892,10 +920,13 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -904,9 +935,9 @@ } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", "dev": true, "engines": { "node": ">=4" @@ -923,12 +954,12 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", "dev": true, "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/balanced-match": { @@ -1014,14 +1045,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1165,6 +1201,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1203,6 +1245,57 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -1220,6 +1313,38 @@ } } }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1227,17 +1352,20 @@ "dev": true }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -1265,15 +1393,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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -1341,50 +1460,57 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -1393,37 +1519,93 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "dependencies": { - "asynciterator.prototype": "^1.0.0", "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", + "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -1476,16 +1658,16 @@ } }, "node_modules/eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", - "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.54.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -1530,6 +1712,55 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-config-next": { "version": "13.5.6", "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz", @@ -1556,6 +1787,18 @@ } } }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -1628,9 +1871,9 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "dependencies": { "array-includes": "^3.1.7", @@ -1649,7 +1892,7 @@ "object.groupby": "^1.0.1", "object.values": "^1.1.7", "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" @@ -1689,27 +1932,27 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", "dev": true, "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" @@ -1718,40 +1961,72 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "engines": { "node": ">=10" @@ -1891,6 +2166,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -2126,28 +2407,33 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -2206,9 +2492,9 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2297,21 +2583,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -2333,12 +2619,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -2348,9 +2634,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { "function-bind": "^1.1.2" @@ -2410,12 +2696,12 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -2423,15 +2709,33 @@ "node": ">= 0.4" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2516,6 +2820,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -2589,18 +2908,21 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -2659,21 +2981,27 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2710,12 +3038,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -2725,10 +3053,13 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2746,13 +3077,16 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3200,6 +3534,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -3210,13 +3560,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -3228,28 +3578,29 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3270,28 +3621,15 @@ "get-intrinsic": "^1.2.1" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3473,6 +3811,15 @@ "node": ">= 6" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -3650,6 +3997,18 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/prettier-plugin-tailwindcss": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.6.tgz", @@ -3824,15 +4183,16 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -3843,21 +4203,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", - "dev": true - }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -3950,13 +4305,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -3968,15 +4323,18 @@ } }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4005,29 +4363,32 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4055,14 +4416,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4097,6 +4462,18 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -4170,35 +4547,62 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4208,28 +4612,31 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4393,6 +4800,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/tailwindcss": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.9.tgz", @@ -4497,9 +4920,9 @@ "dev": true }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", @@ -4538,29 +4961,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -4570,16 +4994,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -4589,14 +5014,20 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4724,13 +5155,13 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -4739,8 +5170,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -4750,31 +5181,34 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" diff --git a/package.json b/package.json index 144b73b85..715f4e60a 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,15 @@ "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "eslint": "^8", + "eslint": "^8.57.0", + "eslint-config-airbnb": "^19.0.4", "eslint-config-next": "13.5.6", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jsx-a11y": "^6.9.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^4.6.2", "prettier": "^3.3.3", "prettier-plugin-tailwindcss": "^0.6.6", "tailwindcss": "^3.4.9", diff --git a/pages/board/[id].tsx b/pages/board/[id].tsx index 1226b06d0..8de025c2c 100644 --- a/pages/board/[id].tsx +++ b/pages/board/[id].tsx @@ -50,9 +50,9 @@ function DetailBoard({
-
- -
+ {/*
*/} + + {/*
*/} ); From 34217691c830a9b6c3139b02f036ce7667fe44b1 Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 00:27:07 +0900 Subject: [PATCH 02/23] =?UTF-8?q?fix:=20
    =20=EC=95=88=EC=97=90=20?= =?UTF-8?q?=EC=9E=88=EB=8A=94=20
    =EB=A5=BC=20
  • =EB=A1=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/CommentList/CommentList.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/CommentList/CommentList.tsx b/components/CommentList/CommentList.tsx index ec88d49dc..772e946f3 100644 --- a/components/CommentList/CommentList.tsx +++ b/components/CommentList/CommentList.tsx @@ -14,9 +14,9 @@ function CommentList({ commentList: comments }: CommentListProps) { {!!comments.length ? (
      {comments.map((comment: IComment) => ( -
      +
    • -
    • + ))}
    ) : ( From 0ade27a028896e9e24add0868ee45ce83728f93b Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 00:31:31 +0900 Subject: [PATCH 03/23] =?UTF-8?q?chore:=20day.js=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 6 ++++++ package.json | 1 + 2 files changed, 7 insertions(+) diff --git a/package-lock.json b/package-lock.json index 3bb24c0c1..45550380b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "autoprefixer": "^10.4.20", "axios": "^1.7.3", + "dayjs": "^1.11.13", "next": "13.5.6", "postcss": "^8.4.41", "react": "^18", @@ -1296,6 +1297,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", diff --git a/package.json b/package.json index 715f4e60a..daaca62aa 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.20", "axios": "^1.7.3", + "dayjs": "^1.11.13", "next": "13.5.6", "postcss": "^8.4.41", "react": "^18", From 461d5650414563fba868f532f4aac939aae3f593 Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 01:08:07 +0900 Subject: [PATCH 04/23] =?UTF-8?q?fix:=20=EB=82=A0=EC=A7=9C=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=20=ED=95=A8=EC=88=98=EC=97=90=20day.js=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/AllArticleList/AllArticle.tsx | 4 +- components/BestArticleList/BestArticle.tsx | 2 +- components/CommentList/CommentList.tsx | 4 +- components/DetailArticle.tsx | 2 +- lib/formatDate.ts | 30 ++++++++++----- lib/getTimeElapsed.ts | 45 ++++++++++++++-------- pages/board/[id].tsx | 2 - 7 files changed, 56 insertions(+), 33 deletions(-) diff --git a/components/AllArticleList/AllArticle.tsx b/components/AllArticleList/AllArticle.tsx index bf830fe76..db6721b5e 100644 --- a/components/AllArticleList/AllArticle.tsx +++ b/components/AllArticleList/AllArticle.tsx @@ -45,7 +45,9 @@ function AllArticle({ article }: AllArticleProps) { height={24} />
    {writer.nickname}
    -
    {formatDate(createdAt)}
    +
    + {formatDate(new Date(createdAt))} +
  • -
    {formatDate(createdAt)}
    +
    {formatDate(new Date(createdAt))}
    ); diff --git a/components/CommentList/CommentList.tsx b/components/CommentList/CommentList.tsx index 772e946f3..6db61abb5 100644 --- a/components/CommentList/CommentList.tsx +++ b/components/CommentList/CommentList.tsx @@ -24,12 +24,12 @@ function CommentList({ commentList: comments }: CommentListProps) {
    아직 문의가 없습니다
    - 아직 문의가 없습니다. + 아직 댓글이 없습니다.
    )} diff --git a/components/DetailArticle.tsx b/components/DetailArticle.tsx index e8788542a..9a00dac13 100644 --- a/components/DetailArticle.tsx +++ b/components/DetailArticle.tsx @@ -47,7 +47,7 @@ function DetailArticle({ article }: DetailArticleProps) { {writer.nickname || "Anonymous"}
    - {formatDate(createdAt)} + {formatDate(new Date(createdAt))}
    diff --git a/lib/formatDate.ts b/lib/formatDate.ts index 7ea46de5c..f592c508d 100644 --- a/lib/formatDate.ts +++ b/lib/formatDate.ts @@ -1,15 +1,25 @@ -function formatDate(createdAt: string) { - const uploadDate = new Date(createdAt); +// function formatDate(createdAt: string) { +// const uploadDate = new Date(createdAt); - const formattedDate = uploadDate.toLocaleDateString("ko-KR", { - year: "numeric", - month: "2-digit", - day: "2-digit", - }); +// const formattedDate = uploadDate.toLocaleDateString("ko-KR", { +// year: "numeric", +// month: "2-digit", +// day: "2-digit", +// }); - const finalDate = formattedDate.replace(/\.$/, ""); +// const finalDate = formattedDate.replace(/\.$/, ""); - return finalDate; -} +// return finalDate; +// } + +// export default formatDate; +import dayjs from "dayjs"; +import "dayjs/locale/ko"; + +dayjs.locale("ko"); + +const formatDate = (createdAt: Date) => { + return dayjs(createdAt).format("YYYY. MM. DD"); +}; export default formatDate; diff --git a/lib/getTimeElapsed.ts b/lib/getTimeElapsed.ts index c796f2f22..3a0e79e0f 100644 --- a/lib/getTimeElapsed.ts +++ b/lib/getTimeElapsed.ts @@ -1,26 +1,39 @@ -const getTimeElapsed = (updatedTime: Date) => { - const milliSeconds = new Date().getTime() - updatedTime.getTime(); +// const getTimeElapsed = (updatedTime: Date) => { +// const milliSeconds = new Date().getTime() - updatedTime.getTime(); + +// const seconds = milliSeconds / 1000; +// if (seconds < 60) return `방금 전`; + +// const minutes = seconds / 60; +// if (minutes < 60) return `${Math.floor(minutes)}분 전`; - const seconds = milliSeconds / 1000; - if (seconds < 60) return `방금 전`; +// const hours = minutes / 60; +// if (hours < 24) return `${Math.floor(hours)}시간 전`; - const minutes = seconds / 60; - if (minutes < 60) return `${Math.floor(minutes)}분 전`; +// const days = hours / 24; +// if (days < 7) return `${Math.floor(days)}일 전`; - const hours = minutes / 60; - if (hours < 24) return `${Math.floor(hours)}시간 전`; +// const weeks = days / 7; +// if (weeks < 5) return `${Math.floor(weeks)}주 전`; - const days = hours / 24; - if (days < 7) return `${Math.floor(days)}일 전`; +// const months = days / 30; +// if (months < 12) return `${Math.floor(months)}개월 전`; - const weeks = days / 7; - if (weeks < 5) return `${Math.floor(weeks)}주 전`; +// const years = days / 365; +// return `${Math.floor(years)}년 전`; +// }; - const months = days / 30; - if (months < 12) return `${Math.floor(months)}개월 전`; +// export default getTimeElapsed; - const years = days / 365; - return `${Math.floor(years)}년 전`; +import dayjs from "dayjs"; +import relativeTime from "dayjs/plugin/relativeTime"; +import "dayjs/locale/ko"; + +dayjs.extend(relativeTime); +dayjs.locale("ko"); + +const getTimeElapsed = (updatedTime: Date) => { + return dayjs(updatedTime).fromNow(); }; export default getTimeElapsed; diff --git a/pages/board/[id].tsx b/pages/board/[id].tsx index 8de025c2c..20d18fe69 100644 --- a/pages/board/[id].tsx +++ b/pages/board/[id].tsx @@ -50,9 +50,7 @@ function DetailBoard({
    - {/*
    */} - {/*
    */} ); From f3bffcb5694ff9dcf8ca1bc95077198581437222 Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 14:14:35 +0900 Subject: [PATCH 05/23] =?UTF-8?q?chore:=20react=20hook=20form=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 18 +++++++++++++++++- package.json | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 45550380b..c44466da1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "next": "13.5.6", "postcss": "^8.4.41", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-hook-form": "^7.52.2" }, "devDependencies": { "@types/node": "^20", @@ -4161,6 +4162,21 @@ "react": "^18.2.0" } }, + "node_modules/react-hook-form": { + "version": "7.52.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.52.2.tgz", + "integrity": "sha512-pqfPEbERnxxiNMPd0bzmt1tuaPcVccywFDpyk2uV5xCIBphHV5T8SVnX9/o3kplPE1zzKt77+YIoq+EMwJp56A==", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/package.json b/package.json index daaca62aa..6f1068ae9 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "next": "13.5.6", "postcss": "^8.4.41", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-hook-form": "^7.52.2" }, "devDependencies": { "@types/node": "^20", From 85a0e502363007a93f1d96aa378b4caf07f9df8a Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 14:44:14 +0900 Subject: [PATCH 06/23] =?UTF-8?q?rename:=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EA=B2=BD=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/{addboard.tsx => addboard/index.tsx} | 0 pages/{boards.tsx => boards/index.tsx} | 0 pages/{search.tsx => search/index.tsx} | 0 pages/style.css | 366 --------------------- 4 files changed, 366 deletions(-) rename pages/{addboard.tsx => addboard/index.tsx} (100%) rename pages/{boards.tsx => boards/index.tsx} (100%) rename pages/{search.tsx => search/index.tsx} (100%) delete mode 100644 pages/style.css diff --git a/pages/addboard.tsx b/pages/addboard/index.tsx similarity index 100% rename from pages/addboard.tsx rename to pages/addboard/index.tsx diff --git a/pages/boards.tsx b/pages/boards/index.tsx similarity index 100% rename from pages/boards.tsx rename to pages/boards/index.tsx diff --git a/pages/search.tsx b/pages/search/index.tsx similarity index 100% rename from pages/search.tsx rename to pages/search/index.tsx diff --git a/pages/style.css b/pages/style.css deleted file mode 100644 index 122da93e6..000000000 --- a/pages/style.css +++ /dev/null @@ -1,366 +0,0 @@ -/* --------------------- PC: 1200px 이상 --------------------- */ -nav { - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - height: 70px; - padding-left: 200px; - padding-right: 200px; - border-bottom: solid 1px #dfdfdf; - background-color: #ffffff; - position: fixed; - top: 0; - z-index: 1; -} - -.logo-wrapper { - display: flex; - justify-content: space-between; - align-items: center; - flex-grow: 0; - width: 153px; - height: 51px; - cursor: pointer; -} - -.logo-icon { - width: 40px; - height: auto; -} - -.logo-text { - width: 103px; - height: auto; -} - -.login-link { - flex-grow: 0; - flex-shrink: 0; - width: 128px; - height: 48px; - padding: 14.5px 0; - border-radius: 8px; - background-color: var(--blue); - font-size: 16px; - font-weight: 600; - text-align: center; - color: var(--light-blue); - text-decoration: none; - cursor: pointer; -} - -header { - display: flex; - justify-content: flex-start; - align-items: center; - height: 540px; - margin-top: 70px; - background-color: var(--light-blue); - background-image: url("./asset/image/Img_home_top.png"); - background-repeat: no-repeat; - background-size: 52% auto; - background-position: bottom 0 right 223px; -} - -.header-wrapper { - width: 1200px; - margin: 0 auto; -} - -.title { - font-weight: bold; - font-size: 40px; - color: var(--gray700); - line-height: 140%; -} - -.header-wrapper .title { - margin-bottom: 32px; -} - -.header-link { - display: block; - width: 357px; - height: 56px; - padding: 16px 0; - border-radius: 40px; - background-color: var(--blue); - font-weight: 600; - font-size: 20px; - text-align: center; - color: #ffffff; - text-decoration: none; - cursor: pointer; -} - -main { - display: flex; - justify-content: center; - align-items: center; -} - -.main-wrapper { - width: 1200px; -} - -section { - display: flex; - justify-content: start; - align-items: center; - padding: 137.5px 0; -} - -.section-img { - width: 50%; - height: auto; -} - -.section-content { - margin: 64px; -} - -.section-content .title { - flex-shrink: 0; - margin-bottom: 24px; - letter-spacing: 2%; -} - -.section-content-label { - margin-bottom: 12px; - font-size: 18px; - font-weight: bold; - line-height: 140%; - color: var(--blue); -} - -.section-content-description { - font-size: 24px; - font-weight: 500; - letter-spacing: 8%; - color: var(--gray700); - line-height: 120%; -} - -.main-wrapper section:nth-child(even) { - display: flex; - justify-content: end; - align-items: center; - padding: 137.5px 0; - text-align: right; -} - -.banner { - display: flex; - justify-content: flex-start; - align-items: center; - height: 540px; - background-color: var(--light-blue); - background-image: url("./asset/image/Img_home_bottom.png"); - background-repeat: no-repeat; - background-size: 52% auto; - background-position: bottom 0 right 223px; -} - -.banner-wrapper { - width: 1200px; - margin: 0 auto; -} - -footer { - height: 160px; - padding: 32px 200px 108px; - background-color: var(--gray900); -} - -.footer-wrapper { - display: flex; - justify-content: space-between; - align-items: center; -} - -.footer-copyright { - flex-grow: 0; - flex-shrink: 0; - font-size: 16px; - color: var(--gray400); -} - -.footer-menu { - display: flex; - justify-content: center; - align-items: center; - gap: 30px; - flex-grow: 0; - flex-shrink: 0; -} - -.footer-menu-link { - font-size: 16px; - text-decoration: none; - color: var(--gray200); - cursor: pointer; -} - -.footer-sns { - display: flex; - justify-content: center; - align-items: center; - gap: 12px; -} - -/* --------------------- Tablet: 1199px 이하 --------------------- */ -@media (max-width: 1199px) { - br.onlyPC { - display: none; - } - - nav { - padding-left: 24px; - padding-right: 24px; - } - - header { - display: block; - height: 771px; - background-size: 996px auto; - background-position: center bottom 0; - } - - .header-wrapper { - width: 744px; - text-align: center; - } - - .header-wrapper > .title { - padding-top: 84px; - } - - .header-link { - margin: 0 auto; - } - - .main-wrapper { - width: 100%; - } - - section { - display: block; - padding: 24px; - } - - .section-img { - width: 100%; - height: auto; - margin-bottom: 20px; - } - - .section-content { - margin: 0 0 64px 0; - } - - .section-content .title { - font-size: 32px; - } - - .section-content-description { - font-size: 18px; - font-weight: 500; - letter-spacing: 8%; - color: var(--gray700); - line-height: 120%; - } - - .main-wrapper section:nth-child(even) { - display: flex; - flex-direction: column-reverse; - align-items: end; - padding: 24px; - text-align: right; - } - - .banner { - height: 927px; - background-size: 996px auto; - background-position: center bottom 0; - } - - .banner-wrapper { - height: 927px; - text-align: center; - } - - .banner-wrapper > .title { - margin-top: 200px; - } -} - -/* --------------------- Mobile: 767px 이하 --------------------- */ -@media (max-width: 767px) { - nav { - padding-left: 16px; - padding-right: 16px; - } - - .logo-icon { - display: none; - } - - .header-wrapper { - width: 540px; - text-align: center; - } - - .header-wrapper > .title { - padding-top: 48px; - } - - header .title > br.onlyPC { - display: block; - } - - .header-link { - width: 154px; - height: 48px; - font-size: 1rem; - } - - .banner { - height: 540px; - background-size: 500px auto; - background-position: center bottom 0; - } - - .banner-wrapper { - height: 540px; - text-align: center; - } - - .banner-wrapper > .title { - margin-top: 121px; - font-size: 32px; - } - - footer { - padding: 32px; - } - - .footer-wrapper { - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; /* 요소들이 영역을 벗어난 경우의 개행 여부를 설정해줌 */ - height: 100%; - } - - /* .footer-wrapper 내에서 보여질 순서 */ - .footer-copyright { - order: 3; - } - .footer-menu { - order: 1; - } - .footer-sns { - order: 2; - } -} From dd7a6e7db4bb95cf88afe73ff9ef82c1c261e8d5 Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 20:57:54 +0900 Subject: [PATCH 07/23] =?UTF-8?q?feat:=20=EB=9E=9C=EB=94=A9=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Nav.tsx | 56 ++++++++-------- pages/index.tsx | 147 ++++++++++++++++++++++++++++++++++++++++- pages/items/index.tsx | 7 ++ pages/login/index.tsx | 116 ++++++++++++++++++++++++++++++++ pages/signup/index.tsx | 0 5 files changed, 295 insertions(+), 31 deletions(-) create mode 100644 pages/items/index.tsx create mode 100644 pages/login/index.tsx create mode 100644 pages/signup/index.tsx diff --git a/components/Nav.tsx b/components/Nav.tsx index 3e148ce6e..294a570f0 100644 --- a/components/Nav.tsx +++ b/components/Nav.tsx @@ -1,15 +1,16 @@ import { useState } from "react"; import Link from "next/link"; -import Image from "next/image"; import { usePathname } from "next/navigation"; +import LinkButton from "./Buttons/LinkButton"; import styles from "./Nav.module.css"; +import Image from "next/image"; import logoIcon from "@/assets/images/ic_logo_icon.png"; import logoText from "@/assets/images/ic_logo_text.png"; import profileImage from "@/assets/images/img_profile.png"; function Nav() { - const [isLogin, setIsLogin] = useState(true); + const [isLogin, setIsLogin] = useState(false); const pathname = usePathname(); return ( @@ -29,35 +30,34 @@ function Nav() { /> -
      -
    • - - 자유게시판 - -
    • -
    • - - 중고마켓 - -
    • -
    + {isLogin && ( +
      +
    • + + 자유게시판 + +
    • +
    • + + 중고마켓 + +
    • +
    + )} {!isLogin ? ( - // Button 컴포넌트로 바꾸기 - - 로그인 - + ) : ( 프로필 이미지 )} diff --git a/pages/index.tsx b/pages/index.tsx index 11a8dea63..c8f0c597b 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,10 +1,151 @@ +import Link from "next/link"; import Image from "next/image"; +import headerImage from "@/assets/images/Img_home_top.png"; +import pandaWithTShirtImage from "@/assets/images/Img_home_01.png"; +import readingGlassImage from "@/assets/images/Img_home_02.png"; +import fileOfProductImage from "@/assets/images/Img_home_03.png"; +import facebookIcon from "@/assets/images/ic_facebook.png"; +import twitterIcon from "@/assets/images/ic_twitter.png"; +import youtubeIcon from "@/assets/images/ic_youtube.png"; +import instagramIcon from "@/assets/images/ic_instagram.png"; + +const SNS_LIST = [ + { + link: "https://www.facebook.com", + icon: facebookIcon, + alt: "facebook", + }, + { + link: "https://www.twitter.com", + icon: twitterIcon, + alt: "twitter", + }, + { + link: "https://www.youtube.com", + icon: youtubeIcon, + alt: "youtube", + }, + { + link: "https://www.instagram.com", + icon: instagramIcon, + alt: "instagram", + }, +]; function Home() { return ( - <> -
    main page
    - +
    +
    +
    +

    + 일상의 모든 물건을
    + 거래해 보세요 +

    + + 구경하러 가기 + +
    +
    + +
    +
    + 판다가 반팔티를 보고 있는 이미지 +
    +

    Hot item

    +

    + 인기 상품을
    + 확인해 보세요 +

    +

    + 가장 HOT한 중고거래 물품을
    + 판다 마켓에서 확인해 보세요 +

    +
    +
    + +
    +
    +

    Search

    +

    + 구매를 원하는
    + 상품을 검색하세요 +

    +

    + 구매하고 싶은 물품은 검색해서
    + 쉽게 찾아보세요 +

    +
    + 돋보기로 물음표를 보는 이미지 +
    + +
    + 상품 파일이 담긴 폴더를 고르는 이미지 +
    +

    Register

    +

    + 판매를 원하는
    + 상품을 등록하세요 +

    +

    + 어떤 물건이든 판매하고 싶은 상품을
    + 쉽게 등록하세요 +

    +
    +
    +
    + +
    +
    +

    + 믿을 수 있는
    + 판다마켓 중고거래 +

    +
    +
    + +
    +
    +
    ©codeit - 2024
    +
    + + Privacy Policy + + + FAQ + +
    + +
    + {SNS_LIST.map((sns, index) => { + const { link, icon, alt } = sns; + return ( + + {`${alt} + + ); + })} +
    +
    +
    +
    ); } diff --git a/pages/items/index.tsx b/pages/items/index.tsx new file mode 100644 index 000000000..09655711c --- /dev/null +++ b/pages/items/index.tsx @@ -0,0 +1,7 @@ +import React from "react"; + +function index() { + return
    index
    ; +} + +export default index; diff --git a/pages/login/index.tsx b/pages/login/index.tsx new file mode 100644 index 000000000..d2afd64d0 --- /dev/null +++ b/pages/login/index.tsx @@ -0,0 +1,116 @@ +import { useState } from "react"; +import Link from "next/link"; + +import Image from "next/image"; +import logoIcon from "@/assets/images/ic_logo_icon.png"; +import logoText from "@/assets/images/ic_logo_text.png"; +import passwordHideIcon from "@/assets/images/ic_password_hide.png"; +import passwordShowIcon from "@/assets/images/ic_password_show.png"; + +function Home() { + const [isPasswordShow, setIsPasswordShow] = useState(false); + + const handlePasswordShowButtonClick = () => { + setIsPasswordShow((prevIsPasswordShow) => !prevIsPasswordShow); + }; + + return ( +
    +
    + + 판다마켓 로고 이미지 + 판다마켓 로고 이미지 + +
    + +
    +
    +
    + + +
    +
    + +
    + +
    + + +
    +
    +
    + + +
    + +
    + 간편 로그인하기 +
    + + 구글 아이콘 + + + 카카오톡 아이콘 + +
    +
    +
    + +
    + 판다마켓이 처음이신가요? + + 회원가입 + +
    +
    + ); +} + +export default Home; diff --git a/pages/signup/index.tsx b/pages/signup/index.tsx new file mode 100644 index 000000000..e69de29bb From 99636be925295cf609dee449787c031012ec41ca Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 21:05:49 +0900 Subject: [PATCH 08/23] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/ic_google.png | Bin 0 -> 5138 bytes assets/images/ic_kakao.png | Bin 0 -> 3881 bytes pages/login/index.tsx | 8 +++++--- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 assets/images/ic_google.png create mode 100644 assets/images/ic_kakao.png diff --git a/assets/images/ic_google.png b/assets/images/ic_google.png new file mode 100644 index 0000000000000000000000000000000000000000..d97024347ac07872717ddd76b0c5837964ccf6d6 GIT binary patch literal 5138 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 literal 0 HcmV?d00001 diff --git a/pages/login/index.tsx b/pages/login/index.tsx index d2afd64d0..04cc3c3a8 100644 --- a/pages/login/index.tsx +++ b/pages/login/index.tsx @@ -6,6 +6,8 @@ import logoIcon from "@/assets/images/ic_logo_icon.png"; import logoText from "@/assets/images/ic_logo_text.png"; import passwordHideIcon from "@/assets/images/ic_password_hide.png"; import passwordShowIcon from "@/assets/images/ic_password_show.png"; +import googleIcon from "@/assets/images/ic_google.png"; +import kakaoIcon from "@/assets/images/ic_kakao.png"; function Home() { const [isPasswordShow, setIsPasswordShow] = useState(false); @@ -17,7 +19,7 @@ function Home() { return (
    - + 구글 아이콘 카카오톡 아이콘 Date: Wed, 21 Aug 2024 21:17:27 +0900 Subject: [PATCH 09/23] =?UTF-8?q?feat:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/signup/index.tsx | 164 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/pages/signup/index.tsx b/pages/signup/index.tsx index e69de29bb..04227fcce 100644 --- a/pages/signup/index.tsx +++ b/pages/signup/index.tsx @@ -0,0 +1,164 @@ +import { useState } from "react"; +import Link from "next/link"; + +import Image from "next/image"; +import logoIcon from "@/assets/images/ic_logo_icon.png"; +import logoText from "@/assets/images/ic_logo_text.png"; +import passwordHideIcon from "@/assets/images/ic_password_hide.png"; +import passwordShowIcon from "@/assets/images/ic_password_show.png"; +import googleIcon from "@/assets/images/ic_google.png"; +import kakaoIcon from "@/assets/images/ic_kakao.png"; + +function index() { + const [isPasswordShow, setIsPasswordShow] = useState(false); + const handlePasswordShowButtonClick = () => { + setIsPasswordShow((prevIsPasswordShow) => !prevIsPasswordShow); + }; + + const [isPasswordCheckShow, setIsPasswordCheckShow] = useState(false); + const handlePasswordCheckShowButtonClick = () => { + setIsPasswordCheckShow( + (prevIsPasswordCheckShow) => !prevIsPasswordCheckShow, + ); + }; + + return ( +
    +
    + + 판다마켓 로고 이미지 + 판다마켓 로고 이미지 + +
    + +
    +
    +
    + + +
    +
    + +
    + + +
    +
    + +
    + +
    + + +
    +
    +
    + +
    + +
    + + +
    +
    +
    + + +
    + +
    + 간편 로그인하기 +
    + + 구글 아이콘 + + + 카카오톡 아이콘 + +
    +
    +
    + +
    + 이미 회원이신가요? + + 로그인 + +
    +
    + ); +} + +export default index; From d8d41f2a12136ee77a65dba6305942ca1c0c78ba Mon Sep 17 00:00:00 2001 From: Jeongmin Oh Date: Wed, 21 Aug 2024 22:49:32 +0900 Subject: [PATCH 10/23] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=B0=8F=20=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20=EB=84=A4=EB=B9=84?= =?UTF-8?q?=EA=B2=8C=EC=9D=B4=EC=85=98=20=EB=B0=94=20=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/_app.tsx | 29 +++-- pages/login/index.tsx | 193 +++++++++++++++-------------- pages/signup/index.tsx | 269 ++++++++++++++++++++++------------------- 3 files changed, 265 insertions(+), 226 deletions(-) diff --git a/pages/_app.tsx b/pages/_app.tsx index a3b025315..5e67f7018 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,3 +1,4 @@ +import { ReactElement, ReactNode } from "react"; import type { AppProps } from "next/app"; import Head from "next/head"; import "@/styles/globals.css"; @@ -5,18 +6,24 @@ import "@/styles/globals.css"; import Nav from "@/components/Nav"; import Layout from "@/components/Layout"; +type NextPageWithLayout = AppProps["Component"] & { + getLayout?: (page: ReactElement) => ReactNode; +}; + function App({ Component, pageProps }: AppProps) { - return ( - <> - - 판다마켓 - -