From 7cadbd92027ad995a13511a34e7b3e2af7f304e8 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 11:27:45 +0900
Subject: [PATCH 001/843] =?UTF-8?q?chore:=20emotion-react,=20emotion-style?=
=?UTF-8?q?d=20=EC=84=A4=EC=B9=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 541 +++++++++++++++++++++++++++++++++++++++++++++-
package.json | 2 +
2 files changed, 535 insertions(+), 8 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 71cab9d6..007149ba 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,8 @@
"name": "coolpeace",
"version": "0.0.0",
"dependencies": {
+ "@emotion/react": "^11.11.3",
+ "@emotion/styled": "^11.11.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
@@ -33,6 +35,343 @@
"node": ">=0.10.0"
}
},
+ "node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "dependencies": {
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
+ "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+ "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
+ "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/serialize": "^1.1.2",
+ "babel-plugin-macros": "^3.1.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/cache": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz",
+ "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/sheet": "^1.2.2",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz",
+ "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
+ "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.1"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
+ },
+ "node_modules/@emotion/react": {
+ "version": "11.11.3",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.3.tgz",
+ "integrity": "sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.11.0",
+ "@emotion/cache": "^11.11.0",
+ "@emotion/serialize": "^1.1.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@emotion/utils": "^1.2.1",
+ "@emotion/weak-memoize": "^0.3.1",
+ "hoist-non-react-statics": "^3.3.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/serialize": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz",
+ "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==",
+ "dependencies": {
+ "@emotion/hash": "^0.9.1",
+ "@emotion/memoize": "^0.8.1",
+ "@emotion/unitless": "^0.8.1",
+ "@emotion/utils": "^1.2.1",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@emotion/sheet": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz",
+ "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA=="
+ },
+ "node_modules/@emotion/styled": {
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz",
+ "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.11.0",
+ "@emotion/is-prop-valid": "^1.2.1",
+ "@emotion/serialize": "^1.1.2",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@emotion/utils": "^1.2.1"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0-rc.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
+ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
+ },
+ "node_modules/@emotion/use-insertion-effect-with-fallbacks": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
+ "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@emotion/utils": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz",
+ "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg=="
+ },
+ "node_modules/@emotion/weak-memoize": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz",
+ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
+ },
"node_modules/@esbuild/aix-ppc64": {
"version": "0.19.11",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz",
@@ -954,6 +1293,11 @@
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
+ },
"node_modules/@types/prop-types": {
"version": "15.7.11",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
@@ -1276,6 +1620,20 @@
"node": ">=8"
}
},
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -1307,7 +1665,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -1352,6 +1709,26 @@
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -1369,8 +1746,7 @@
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/debug": {
"version": "4.3.4",
@@ -1419,6 +1795,14 @@
"node": ">=6.0.0"
}
},
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"node_modules/esbuild": {
"version": "0.19.11",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
@@ -1461,7 +1845,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -1733,6 +2116,11 @@
"node": ">=8"
}
},
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+ },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -1789,6 +2177,14 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -1893,6 +2289,25 @@
"node": ">=8"
}
},
+ "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==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
"node_modules/ignore": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
@@ -1906,7 +2321,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -1943,6 +2357,22 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -2011,6 +2441,11 @@
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true
},
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -2045,6 +2480,11 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -2216,7 +2656,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
"dependencies": {
"callsites": "^3.0.0"
},
@@ -2224,6 +2663,23 @@
"node": ">=6"
}
},
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -2251,11 +2707,15 @@
"node": ">=8"
}
},
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -2367,11 +2827,36 @@
"react": "^18.2.0"
}
},
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -2506,6 +2991,14 @@
"node": ">=8"
}
},
+ "node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@@ -2539,6 +3032,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/stylis": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -2551,12 +3049,31 @@
"node": ">=8"
}
},
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -2709,6 +3226,14 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index 823f500b..94c1df0d 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,8 @@
"preview": "vite preview"
},
"dependencies": {
+ "@emotion/react": "^11.11.3",
+ "@emotion/styled": "^11.11.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
From 6d4a978fa0d3de7c89e7365df2a57fc807b2e087 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 11:49:47 +0900
Subject: [PATCH 002/843] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?=
=?UTF-8?q?=ED=95=9C=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EB=B0=8F=20=EC=8A=A4?=
=?UTF-8?q?=ED=83=80=EC=9D=BC=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.html | 7 +++----
public/vite.svg | 1 -
src/App.css | 42 ------------------------------------------
src/assets/react.svg | 1 -
4 files changed, 3 insertions(+), 48 deletions(-)
delete mode 100644 public/vite.svg
delete mode 100644 src/App.css
delete mode 100644 src/assets/react.svg
diff --git a/index.html b/index.html
index e4b78eae..9fc6f923 100644
--- a/index.html
+++ b/index.html
@@ -1,10 +1,9 @@
-
-
+
+
-
- Vite + React + TS
+ 쿨피스
diff --git a/public/vite.svg b/public/vite.svg
deleted file mode 100644
index e7b8dfb1..00000000
--- a/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index b9d355df..00000000
--- a/src/App.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/src/assets/react.svg b/src/assets/react.svg
deleted file mode 100644
index 6c87de9b..00000000
--- a/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
From 03555f6514634619d6ef9609d57d311b97bc74ab Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 12:14:02 +0900
Subject: [PATCH 003/843] =?UTF-8?q?design:=20emotion=20props,=20=ED=8C=80?=
=?UTF-8?q?=20css=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20?=
=?UTF-8?q?=EC=98=88=EC=8B=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 112 +++++++++++++++++++++++++++++++++++++---------------
1 file changed, 80 insertions(+), 32 deletions(-)
diff --git a/src/App.tsx b/src/App.tsx
index afe48ac7..dfa17ba4 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,35 +1,83 @@
-import { useState } from 'react'
-import reactLogo from './assets/react.svg'
-import viteLogo from '/vite.svg'
-import './App.css'
+import { useState } from "react";
+import styled from "@emotion/styled";
+import { css } from "@emotion/react";
-function App() {
- const [count, setCount] = useState(0)
+const App = () => {
+ const [primary, setPrimary] = useState(false);
return (
- <>
-
- Vite + React
-
-
-
- Edit src/App.tsx
and save to test HMR
-
-
-
- Click on the Vite and React logos to learn more
-
- >
- )
-}
-
-export default App
+
+ setPrimary((prev) => !prev)}
+ >
+ 쿨피스 응원 버튼
+
+ (emotion props 사용 예시)
+
+
+ );
+};
+
+export default App;
+
+const EmotionExampleWrapper = styled.div`
+ /* 0. emotipn 변수 */
+ /* 1. position */
+ /* 2. width / height */
+ width: 100vw;
+ height: 100vh;
+
+ /* 3. margin / border / padding */
+ /* 4. display */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ /* 나머지 디자인 */
+ /* 5. 인터렉션 */
+ /* 6. props에 따른 스타일 */
+`;
+
+const EmotionExample = styled.button<{ $primary?: boolean }>`
+ /* 0. emotipn 변수 */
+ --accent-color: white;
+
+ /* 1. position */
+
+ /* 2. width / height */
+ width: 300px;
+ height: 90px;
+
+ /* 3. margin / border / padding */
+ margin: 0.5rem 1rem;
+ border-radius: 3px;
+ border: 1px solid var(--accent-color);
+ padding: 5px;
+
+ /* 4. display */
+ display: inline-block;
+
+ /* 나머지 디자인 */
+ color: var(--accent-color);
+ background: transparent;
+
+ transition: all 200ms ease-in-out;
+
+ /* 5. 인터렉션 */
+ &:hover {
+ filter: brightness(0.85);
+ }
+
+ &:active {
+ filter: brightness(1);
+ }
+
+ /* 6. props에 따른 스타일 */
+ ${(props) =>
+ props.$primary &&
+ css`
+ background: var(--accent-color);
+ color: black;
+ `}
+`;
From bca9ee7fccdb9c9ae5116cbf50769bd9893bfa3e Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 12:33:49 +0900
Subject: [PATCH 004/843] =?UTF-8?q?design:=20emotion=20Global=EC=9D=84=20?=
=?UTF-8?q?=ED=99=9C=EC=9A=A9=ED=95=9C=20reset=20css=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 33 ++++++----
src/GlobalStyle.tsx | 142 ++++++++++++++++++++++++++++++++++++++++++++
src/index.css | 68 ---------------------
3 files changed, 163 insertions(+), 80 deletions(-)
create mode 100644 src/GlobalStyle.tsx
delete mode 100644 src/index.css
diff --git a/src/App.tsx b/src/App.tsx
index dfa17ba4..91808416 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,21 +1,25 @@
import { useState } from "react";
import styled from "@emotion/styled";
import { css } from "@emotion/react";
+import GlobalStyle from "./GlobalStyle.tsx";
const App = () => {
const [primary, setPrimary] = useState(false);
return (
-
- setPrimary((prev) => !prev)}
- >
- 쿨피스 응원 버튼
-
- (emotion props 사용 예시)
-
-
+ <>
+
+
+ setPrimary((prev) => !prev)}
+ >
+ 쿨피스 응원 버튼
+
+ (emotion props 사용 예시)
+
+
+ >
);
};
@@ -41,7 +45,7 @@ const EmotionExampleWrapper = styled.div`
const EmotionExample = styled.button<{ $primary?: boolean }>`
/* 0. emotipn 변수 */
- --accent-color: white;
+ --accent-color: purple;
/* 1. position */
@@ -62,6 +66,9 @@ const EmotionExample = styled.button<{ $primary?: boolean }>`
color: var(--accent-color);
background: transparent;
+ font-size: 15px;
+ font-weight: 600;
+
transition: all 200ms ease-in-out;
/* 5. 인터렉션 */
@@ -78,6 +85,8 @@ const EmotionExample = styled.button<{ $primary?: boolean }>`
props.$primary &&
css`
background: var(--accent-color);
- color: black;
+ color: white;
+
+ opacity: 0.7;
`}
`;
diff --git a/src/GlobalStyle.tsx b/src/GlobalStyle.tsx
new file mode 100644
index 00000000..a29149c8
--- /dev/null
+++ b/src/GlobalStyle.tsx
@@ -0,0 +1,142 @@
+import { css, Global } from "@emotion/react";
+
+const GlobalStyle = () => {
+ return ;
+};
+
+export default GlobalStyle;
+
+const resetCSS = css`
+ html,
+ body,
+ div,
+ span,
+ applet,
+ object,
+ iframe,
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ p,
+ blockquote,
+ pre,
+ a,
+ abbr,
+ acronym,
+ address,
+ big,
+ cite,
+ code,
+ del,
+ dfn,
+ em,
+ img,
+ ins,
+ kbd,
+ q,
+ s,
+ samp,
+ small,
+ strike,
+ strong,
+ sub,
+ sup,
+ tt,
+ var,
+ b,
+ u,
+ i,
+ center,
+ dl,
+ dt,
+ dd,
+ ol,
+ ul,
+ li,
+ fieldset,
+ form,
+ label,
+ legend,
+ table,
+ caption,
+ tbody,
+ tfoot,
+ thead,
+ tr,
+ th,
+ td,
+ article,
+ aside,
+ canvas,
+ details,
+ embed,
+ figure,
+ figcaption,
+ footer,
+ header,
+ hgroup,
+ menu,
+ nav,
+ output,
+ ruby,
+ section,
+ summary,
+ time,
+ mark,
+ audio,
+ video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+ text-decoration: none;
+ }
+ /* HTML5 display-role reset for older browsers */
+ article,
+ aside,
+ details,
+ figcaption,
+ figure,
+ footer,
+ header,
+ hgroup,
+ menu,
+ nav,
+ section {
+ display: block;
+ }
+ body {
+ line-height: 1;
+ }
+ ol,
+ ul {
+ list-style: none;
+ }
+ blockquote,
+ q {
+ quotes: none;
+ }
+ blockquote:before,
+ blockquote:after,
+ q:before,
+ q:after {
+ content: "";
+ content: none;
+ }
+ table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+
+ html,
+ body,
+ #root {
+ color: rgba(255, 255, 255, 0.87);
+ background: linear-gradient(45deg, Violet, Orange);
+ }
+`;
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index 6119ad9a..00000000
--- a/src/index.css
+++ /dev/null
@@ -1,68 +0,0 @@
-:root {
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
-
- color-scheme: light dark;
- color: rgba(255, 255, 255, 0.87);
- background-color: #242424;
-
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-a:hover {
- color: #535bf2;
-}
-
-body {
- margin: 0;
- display: flex;
- place-items: center;
- min-width: 320px;
- min-height: 100vh;
-}
-
-h1 {
- font-size: 3.2em;
- line-height: 1.1;
-}
-
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-button:hover {
- border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
-
-@media (prefers-color-scheme: light) {
- :root {
- color: #213547;
- background-color: #ffffff;
- }
- a:hover {
- color: #747bff;
- }
- button {
- background-color: #f9f9f9;
- }
-}
From 5ebf0efb56e35f04f87ce99e958fd871a5af45f8 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 12:52:21 +0900
Subject: [PATCH 005/843] =?UTF-8?q?chore:=20prettier=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.prettierrc.json | 13 +++++++++++++
package-lock.json | 16 ++++++++++++++++
package.json | 1 +
3 files changed, 30 insertions(+)
create mode 100644 .prettierrc.json
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 00000000..246f4c8f
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,13 @@
+{
+ "singleQuote": true,
+ "semi": true,
+ "tabWidth": 2,
+ "printWidth": 80,
+ "trailingComma": "none",
+ "bracketSpacing": true,
+ "arrowParens": "avoid",
+ "useTabs": false,
+ "quoteProps": "as-needed",
+ "singleAttributePerLine": true,
+ "bracketSameLine": false
+}
diff --git a/package-lock.json b/package-lock.json
index 007149ba..a1533251 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -22,6 +22,7 @@
"eslint": "^8.55.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
+ "prettier": "^3.1.1",
"typescript": "^5.2.2",
"vite": "^5.0.8"
}
@@ -2775,6 +2776,21 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/prettier": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz",
+ "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
diff --git a/package.json b/package.json
index 94c1df0d..4a8d1b33 100644
--- a/package.json
+++ b/package.json
@@ -24,6 +24,7 @@
"eslint": "^8.55.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
+ "prettier": "^3.1.1",
"typescript": "^5.2.2",
"vite": "^5.0.8"
}
From 30ff1f7255d78db79d62dab802bfad23db93ea63 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 12:53:00 +0900
Subject: [PATCH 006/843] =?UTF-8?q?chore:=20prettier=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 10 +++++-----
README.md | 6 +++---
index.html | 12 +++++++++---
src/App.tsx | 12 ++++++------
src/GlobalStyle.tsx | 4 ++--
src/main.tsx | 11 +++++------
vite.config.ts | 8 ++++----
7 files changed, 34 insertions(+), 29 deletions(-)
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index d6c95379..ee8cdb22 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -4,7 +4,7 @@ module.exports = {
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
- 'plugin:react-hooks/recommended',
+ 'plugin:react-hooks/recommended'
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
@@ -12,7 +12,7 @@ module.exports = {
rules: {
'react-refresh/only-export-components': [
'warn',
- { allowConstantExport: true },
- ],
- },
-}
+ { allowConstantExport: true }
+ ]
+ }
+};
diff --git a/README.md b/README.md
index 0d6babed..09ff6fc5 100644
--- a/README.md
+++ b/README.md
@@ -20,9 +20,9 @@ export default {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
- tsconfigRootDir: __dirname,
- },
-}
+ tsconfigRootDir: __dirname
+ }
+};
```
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
diff --git a/index.html b/index.html
index 9fc6f923..986c9923 100644
--- a/index.html
+++ b/index.html
@@ -1,12 +1,18 @@
-
+
-
+
쿨피스
-
+
diff --git a/src/App.tsx b/src/App.tsx
index 91808416..6b8b7d59 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,7 @@
-import { useState } from "react";
-import styled from "@emotion/styled";
-import { css } from "@emotion/react";
-import GlobalStyle from "./GlobalStyle.tsx";
+import { useState } from 'react';
+import styled from '@emotion/styled';
+import { css } from '@emotion/react';
+import GlobalStyle from './GlobalStyle.tsx';
const App = () => {
const [primary, setPrimary] = useState(false);
@@ -12,7 +12,7 @@ const App = () => {
setPrimary((prev) => !prev)}
+ onClick={() => setPrimary(prev => !prev)}
>
쿨피스 응원 버튼
@@ -81,7 +81,7 @@ const EmotionExample = styled.button<{ $primary?: boolean }>`
}
/* 6. props에 따른 스타일 */
- ${(props) =>
+ ${props =>
props.$primary &&
css`
background: var(--accent-color);
diff --git a/src/GlobalStyle.tsx b/src/GlobalStyle.tsx
index a29149c8..e2a9a9a7 100644
--- a/src/GlobalStyle.tsx
+++ b/src/GlobalStyle.tsx
@@ -1,4 +1,4 @@
-import { css, Global } from "@emotion/react";
+import { css, Global } from '@emotion/react';
const GlobalStyle = () => {
return ;
@@ -125,7 +125,7 @@ const resetCSS = css`
blockquote:after,
q:before,
q:after {
- content: "";
+ content: '';
content: none;
}
table {
diff --git a/src/main.tsx b/src/main.tsx
index 3d7150da..5a0654ac 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,10 +1,9 @@
-import React from 'react'
-import ReactDOM from 'react-dom/client'
-import App from './App.tsx'
-import './index.css'
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import App from './App.tsx';
ReactDOM.createRoot(document.getElementById('root')!).render(
- ,
-)
+
+);
diff --git a/vite.config.ts b/vite.config.ts
index 861b04b3..80ac6950 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,7 @@
-import { defineConfig } from 'vite'
-import react from '@vitejs/plugin-react-swc'
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react-swc';
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [react()],
-})
+ plugins: [react()]
+});
From 920b60024cd9f7c1f60d6b44310bcad9ed5e39d3 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 13:00:26 +0900
Subject: [PATCH 007/843] =?UTF-8?q?chore:=20prettierignore=20=EC=84=B8?=
=?UTF-8?q?=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.prettierignore | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 .prettierignore
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 00000000..7ef9774d
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,4 @@
+node_modules
+.DS_Store
+dist
+node_modules/*
From 2518aca90c6f6429b6999f78e40d76280aed9e93 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 13:04:52 +0900
Subject: [PATCH 008/843] =?UTF-8?q?chore:=20eslint,=20prettier=20=EC=B6=A9?=
=?UTF-8?q?=EB=8F=8C=20=EB=B0=A9=EC=A7=80=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?=
=?UTF-8?q?=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 3 ++-
package-lock.json | 13 +++++++++++++
package.json | 1 +
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index ee8cdb22..dacced3d 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -4,7 +4,8 @@ module.exports = {
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
- 'plugin:react-hooks/recommended'
+ 'plugin:react-hooks/recommended',
+ 'prettier'
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
diff --git a/package-lock.json b/package-lock.json
index a1533251..1d767b41 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
"@typescript-eslint/parser": "^6.14.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"eslint": "^8.55.0",
+ "eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"prettier": "^3.1.1",
@@ -1908,6 +1909,18 @@
"url": "https://opencollective.com/eslint"
}
},
+ "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-plugin-react-hooks": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
diff --git a/package.json b/package.json
index 4a8d1b33..216895e8 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"@typescript-eslint/parser": "^6.14.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"eslint": "^8.55.0",
+ "eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"prettier": "^3.1.1",
From e60ee58d6da3f69c15bfc10337fd2a6747f865bf Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 13:59:49 +0900
Subject: [PATCH 009/843] =?UTF-8?q?chore:=20vercel=20PR=EC=83=9D=EC=84=B1?=
=?UTF-8?q?=20=EB=B0=8F=20main=20merge=20CI/CD=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/preview.yaml | 23 +++++++++++++++++++++++
.github/workflows/production.yaml | 22 ++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 .github/workflows/preview.yaml
create mode 100644 .github/workflows/production.yaml
diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml
new file mode 100644
index 00000000..9eb92f3f
--- /dev/null
+++ b/.github/workflows/preview.yaml
@@ -0,0 +1,23 @@
+name: Vercel Preview Deployment
+env:
+ VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
+on:
+ pull_request:
+ types:
+ - opened
+
+jobs:
+ Deploy-Preview:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Vercel CLI
+ run: npm install --global vercel@latest
+ - name: Pull Vercel Environment Information
+ run: vercel pull --yes --environment=preview --token=${{
+ secrets.VERCEL_TOKEN }}
+ - name: Build Project Artifacts
+ run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
+ - name: Deploy Project Artifacts to Vercel
+ run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}
diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml
new file mode 100644
index 00000000..fff08a6c
--- /dev/null
+++ b/.github/workflows/production.yaml
@@ -0,0 +1,22 @@
+name: Vercel Production Deployment
+env:
+ VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
+on:
+ push:
+ branches:
+ - main
+jobs:
+ Deploy-Production:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Vercel CLI
+ run: npm install --global vercel@latest
+ - name: Pull Vercel Environment Information
+ run: vercel pull --yes --environment=production --token=${{
+ secrets.VERCEL_TOKEN }}
+ - name: Build Project Artifacts
+ run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
+ - name: Deploy Project Artifacts to Vercel
+ run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
From 9ef5fd434f6efeee4bc671d50b06995dd6780610 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 14:01:02 +0900
Subject: [PATCH 010/843] =?UTF-8?q?chore:=20vercel=20dev=20merge=20CI/CD?=
=?UTF-8?q?=20=EC=84=B8=20=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/dev.yaml | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 .github/workflows/dev.yaml
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
new file mode 100644
index 00000000..f6c5e2d4
--- /dev/null
+++ b/.github/workflows/dev.yaml
@@ -0,0 +1,22 @@
+name: Vercel Production Deployment
+env:
+ VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
+on:
+ push:
+ branches:
+ - dev
+jobs:
+ Deploy-Production:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Vercel CLI
+ run: npm install --global vercel@latest
+ - name: Pull Vercel Environment Information
+ run: vercel pull --yes --environment=production --token=${{
+ secrets.VERCEL_TOKEN }}
+ - name: Build Project Artifacts
+ run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
+ - name: Deploy Project Artifacts to Vercel
+ run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
From 2395c297d0257a3000971ab2878a85c3a13c691b Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 14:11:02 +0900
Subject: [PATCH 011/843] =?UTF-8?q?chore:=20dev=20merge=20CI/CD=20preview?=
=?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/dev.yaml | 22 ----------------------
.github/workflows/preview.yaml | 3 +++
.github/workflows/production.yaml | 1 +
3 files changed, 4 insertions(+), 22 deletions(-)
delete mode 100644 .github/workflows/dev.yaml
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
deleted file mode 100644
index f6c5e2d4..00000000
--- a/.github/workflows/dev.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Vercel Production Deployment
-env:
- VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
- VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
-on:
- push:
- branches:
- - dev
-jobs:
- Deploy-Production:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Install Vercel CLI
- run: npm install --global vercel@latest
- - name: Pull Vercel Environment Information
- run: vercel pull --yes --environment=production --token=${{
- secrets.VERCEL_TOKEN }}
- - name: Build Project Artifacts
- run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
- - name: Deploy Project Artifacts to Vercel
- run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml
index 9eb92f3f..e0045b48 100644
--- a/.github/workflows/preview.yaml
+++ b/.github/workflows/preview.yaml
@@ -6,6 +6,9 @@ on:
pull_request:
types:
- opened
+ push:
+ branches:
+ - dev
jobs:
Deploy-Preview:
diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml
index fff08a6c..8dc74b30 100644
--- a/.github/workflows/production.yaml
+++ b/.github/workflows/production.yaml
@@ -6,6 +6,7 @@ on:
push:
branches:
- main
+
jobs:
Deploy-Production:
runs-on: ubuntu-latest
From 5b6c9cccb8ece3966932a62e954a31d161a09ee5 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 14:24:37 +0900
Subject: [PATCH 012/843] =?UTF-8?q?chore:=20vercel=20SPA=20=EC=86=8C?=
=?UTF-8?q?=EC=8A=A4=20=EB=A1=9C=EB=93=9C=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
vercel.json | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 vercel.json
diff --git a/vercel.json b/vercel.json
new file mode 100644
index 00000000..3a48e56b
--- /dev/null
+++ b/vercel.json
@@ -0,0 +1,3 @@
+{
+ "rewrites": [{ "source": "/(.*)", "destination": "/" }]
+}
From 60d769c61f6602082d74877efe218cb68f8f9084 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 19:11:22 +0900
Subject: [PATCH 013/843] =?UTF-8?q?chore:=20Issue=20=EB=B0=8F=20PR=20?=
=?UTF-8?q?=ED=85=9C=ED=94=8C=EB=A6=BF=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/issue_template.md | 9 +++++++++
.github/pull_request_template.md | 13 +++++++++++++
2 files changed, 22 insertions(+)
create mode 100644 .github/issue_template.md
create mode 100644 .github/pull_request_template.md
diff --git a/.github/issue_template.md b/.github/issue_template.md
new file mode 100644
index 00000000..96e01d76
--- /dev/null
+++ b/.github/issue_template.md
@@ -0,0 +1,9 @@
+## Description
+
+
+
+## Todo
+
+- [ ] todo1
+- [ ] todo2
+- [ ] todo3
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 00000000..801320d4
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,13 @@
+close #이슈번호
+
+## Description
+
+
+
+## 유의할 점 및 ETC (Optional)
+
+
+
+## 스크린샷 (Optional)
+
+
From acde6b70c1ef3c1681efc52e1bbb126a92a1f939 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 19:52:06 +0900
Subject: [PATCH 014/843] =?UTF-8?q?chore:=20public=20fonts,=20images=20?=
=?UTF-8?q?=ED=8F=B4=EB=8D=94=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/fonts/.gitkeep | 0
public/images/.gitkeep | 0
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 public/fonts/.gitkeep
create mode 100644 public/images/.gitkeep
diff --git a/public/fonts/.gitkeep b/public/fonts/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/public/images/.gitkeep b/public/images/.gitkeep
new file mode 100644
index 00000000..e69de29b
From 86f4ec6ed0985746bbf1fc990147b1cb1f72f769 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 19:58:21 +0900
Subject: [PATCH 015/843] =?UTF-8?q?chore:=20src/assets=20icons=20=ED=8F=B4?=
=?UTF-8?q?=EB=8D=94=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/icons/.gitkeep | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 src/assets/icons/.gitkeep
diff --git a/src/assets/icons/.gitkeep b/src/assets/icons/.gitkeep
new file mode 100644
index 00000000..e69de29b
From f7b1bc1433d9fd2ffc025d1f7662d8e64738a0b7 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:50:55 +0900
Subject: [PATCH 016/843] =?UTF-8?q?chore:=20import=20@=20symbol=20tsconfig?=
=?UTF-8?q?=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
tsconfig.json | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tsconfig.json b/tsconfig.json
index a7fc6fbf..806e04e0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -18,7 +18,13 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true
+ "noFallthroughCasesInSwitch": true,
+
+ /* import @ symbol */
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["src/*"]
+ }
},
"include": ["src"],
"references": [{ "path": "./tsconfig.node.json" }]
From 2cc00b6a04d26ddbb9f1cbb10560e45e07efba07 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:51:29 +0900
Subject: [PATCH 017/843] =?UTF-8?q?chore:=20pages=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Example/indes.tsx | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 src/pages/Example/indes.tsx
diff --git a/src/pages/Example/indes.tsx b/src/pages/Example/indes.tsx
new file mode 100644
index 00000000..3e112977
--- /dev/null
+++ b/src/pages/Example/indes.tsx
@@ -0,0 +1,11 @@
+import ExampleFoo from '@/components/ExampleFoo';
+
+const Example = () => {
+ return (
+ <>
+
+ >
+ );
+};
+
+export default Example;
From 2284a8e5b6960a4266ed0941363ae0de3d1b62b7 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:51:52 +0900
Subject: [PATCH 018/843] =?UTF-8?q?chore:=20components=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ExampleFoo/ExampleBar/index.tsx | 5 +++++
src/components/ExampleFoo/ExampleBaz/index.tsx | 5 +++++
src/components/ExampleFoo/index.tsx | 17 +++++++++++++++++
src/components/common/ExampleToast/index.tsx | 5 +++++
4 files changed, 32 insertions(+)
create mode 100644 src/components/ExampleFoo/ExampleBar/index.tsx
create mode 100644 src/components/ExampleFoo/ExampleBaz/index.tsx
create mode 100644 src/components/ExampleFoo/index.tsx
create mode 100644 src/components/common/ExampleToast/index.tsx
diff --git a/src/components/ExampleFoo/ExampleBar/index.tsx b/src/components/ExampleFoo/ExampleBar/index.tsx
new file mode 100644
index 00000000..886acfe8
--- /dev/null
+++ b/src/components/ExampleFoo/ExampleBar/index.tsx
@@ -0,0 +1,5 @@
+const ExampleBar = () => {
+ return <>>;
+};
+
+export default ExampleBar;
diff --git a/src/components/ExampleFoo/ExampleBaz/index.tsx b/src/components/ExampleFoo/ExampleBaz/index.tsx
new file mode 100644
index 00000000..ed33a8b8
--- /dev/null
+++ b/src/components/ExampleFoo/ExampleBaz/index.tsx
@@ -0,0 +1,5 @@
+const ExampleBaz = () => {
+ return <>>;
+};
+
+export default ExampleBaz;
diff --git a/src/components/ExampleFoo/index.tsx b/src/components/ExampleFoo/index.tsx
new file mode 100644
index 00000000..50f46425
--- /dev/null
+++ b/src/components/ExampleFoo/index.tsx
@@ -0,0 +1,17 @@
+import ExampleBar from './ExampleBar';
+import ExampleBaz from './ExampleBaz';
+import useExample from '@/hooks/useExample';
+
+const ExampleFoo = () => {
+ const example: useExampleType = useExample();
+
+ return (
+ <>
+ {example}
+
+
+ >
+ );
+};
+
+export default ExampleFoo;
diff --git a/src/components/common/ExampleToast/index.tsx b/src/components/common/ExampleToast/index.tsx
new file mode 100644
index 00000000..5c669dc2
--- /dev/null
+++ b/src/components/common/ExampleToast/index.tsx
@@ -0,0 +1,5 @@
+const ExampleToast = () => {
+ return <>>;
+};
+
+export default ExampleToast;
From e12644836f1ad68b977cd9ea97ebe4bd647b2b5a Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:52:01 +0900
Subject: [PATCH 019/843] =?UTF-8?q?chore:=20hooks=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/index.ts | 1 +
src/hooks/useExample.ts | 5 +++++
2 files changed, 6 insertions(+)
create mode 100644 src/hooks/index.ts
create mode 100644 src/hooks/useExample.ts
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
new file mode 100644
index 00000000..dd2f7219
--- /dev/null
+++ b/src/hooks/index.ts
@@ -0,0 +1 @@
+export * from './useExample';
diff --git a/src/hooks/useExample.ts b/src/hooks/useExample.ts
new file mode 100644
index 00000000..e559be54
--- /dev/null
+++ b/src/hooks/useExample.ts
@@ -0,0 +1,5 @@
+const useExample = () => {
+ return 'useExample';
+};
+
+export default useExample;
From 88b04fb67f0c838ab2e28fcdba96102904018843 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:52:11 +0900
Subject: [PATCH 020/843] =?UTF-8?q?chore:=20types=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/types/example.d.ts | 1 +
1 file changed, 1 insertion(+)
create mode 100644 src/types/example.d.ts
diff --git a/src/types/example.d.ts b/src/types/example.d.ts
new file mode 100644
index 00000000..518034a9
--- /dev/null
+++ b/src/types/example.d.ts
@@ -0,0 +1 @@
+type useExampleType = string;
From a2079815241f2a256f8ff2fdf318e2333e43c927 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:54:11 +0900
Subject: [PATCH 021/843] =?UTF-8?q?chore:=20styles=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 2 +-
src/{ => styles}/GlobalStyle.tsx | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename src/{ => styles}/GlobalStyle.tsx (100%)
diff --git a/src/App.tsx b/src/App.tsx
index 6b8b7d59..70dde502 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,7 @@
import { useState } from 'react';
import styled from '@emotion/styled';
import { css } from '@emotion/react';
-import GlobalStyle from './GlobalStyle.tsx';
+import GlobalStyle from '@/styles/GlobalStyle.tsx';
const App = () => {
const [primary, setPrimary] = useState(false);
diff --git a/src/GlobalStyle.tsx b/src/styles/GlobalStyle.tsx
similarity index 100%
rename from src/GlobalStyle.tsx
rename to src/styles/GlobalStyle.tsx
From 8d59b9eef9a2c26da722a0a56b92ae1515f880f4 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:54:32 +0900
Subject: [PATCH 022/843] =?UTF-8?q?chore:=20utils=20api=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/api/.gitkeep | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 src/utils/api/.gitkeep
diff --git a/src/utils/api/.gitkeep b/src/utils/api/.gitkeep
new file mode 100644
index 00000000..e69de29b
From 9a94829ad766540a2468a132f174d4da2ccb1e6b Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 20:57:22 +0900
Subject: [PATCH 023/843] =?UTF-8?q?chore:=20utils=20constant=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/constants/STATUS_CODES.ts | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 src/utils/constants/STATUS_CODES.ts
diff --git a/src/utils/constants/STATUS_CODES.ts b/src/utils/constants/STATUS_CODES.ts
new file mode 100644
index 00000000..1ca1544d
--- /dev/null
+++ b/src/utils/constants/STATUS_CODES.ts
@@ -0,0 +1,6 @@
+export enum STATUS_CODES {
+ OK = 200,
+ CREATE = 201,
+ NO_CONTENTS = 204,
+ BAD_REQUEST = 400
+}
From 35f5603d57dac90f7951ab7a250a0bdbec9a15ca Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:14:01 +0900
Subject: [PATCH 024/843] =?UTF-8?q?fix:=20pages=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=98=A4=ED=83=80=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
---
src/pages/Example/{indes.tsx => index.tsx} | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
rename src/pages/Example/{indes.tsx => index.tsx} (66%)
diff --git a/src/pages/Example/indes.tsx b/src/pages/Example/index.tsx
similarity index 66%
rename from src/pages/Example/indes.tsx
rename to src/pages/Example/index.tsx
index 3e112977..1a5a696d 100644
--- a/src/pages/Example/indes.tsx
+++ b/src/pages/Example/index.tsx
@@ -1,11 +1,7 @@
import ExampleFoo from '@/components/ExampleFoo';
const Example = () => {
- return (
- <>
-
- >
- );
+ return ;
};
export default Example;
From 6cd514ca986be27a2e0daa2ac188045b5a2cf9a7 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:14:50 +0900
Subject: [PATCH 025/843] =?UTF-8?q?chore:=20utils=20api=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=98=88=EC=8B=9C=20?=
=?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/api/.gitkeep | 0
src/utils/api/getExample.ts | 5 +++++
src/utils/api/index.ts | 2 ++
src/utils/api/instance.ts | 5 +++++
4 files changed, 12 insertions(+)
delete mode 100644 src/utils/api/.gitkeep
create mode 100644 src/utils/api/getExample.ts
create mode 100644 src/utils/api/index.ts
create mode 100644 src/utils/api/instance.ts
diff --git a/src/utils/api/.gitkeep b/src/utils/api/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/src/utils/api/getExample.ts b/src/utils/api/getExample.ts
new file mode 100644
index 00000000..b533fd34
--- /dev/null
+++ b/src/utils/api/getExample.ts
@@ -0,0 +1,5 @@
+const getExample = () => {
+ return 'getExample';
+};
+
+export default getExample;
diff --git a/src/utils/api/index.ts b/src/utils/api/index.ts
new file mode 100644
index 00000000..6c6f2893
--- /dev/null
+++ b/src/utils/api/index.ts
@@ -0,0 +1,2 @@
+export { default as instance } from './instance';
+export { default as getExample } from './getExample';
diff --git a/src/utils/api/instance.ts b/src/utils/api/instance.ts
new file mode 100644
index 00000000..2ccfed9e
--- /dev/null
+++ b/src/utils/api/instance.ts
@@ -0,0 +1,5 @@
+const instance = () => {
+ return 'instance';
+};
+
+export default instance;
From deef8dde579bd1c2d673e92d589d0edb5df73e8f Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:15:27 +0900
Subject: [PATCH 026/843] =?UTF-8?q?fix:=20export=20*=20=EC=97=90=EC=84=9C?=
=?UTF-8?q?=20export=20default=20as=20=EC=BB=A8=EB=B2=A4=EC=85=98=EC=9C=BC?=
=?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/index.ts | 2 +-
src/utils/index.ts | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 src/utils/index.ts
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index dd2f7219..1f8e39a4 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -1 +1 @@
-export * from './useExample';
+export { default as useExample } from './useExample';
diff --git a/src/utils/index.ts b/src/utils/index.ts
new file mode 100644
index 00000000..efc5ce80
--- /dev/null
+++ b/src/utils/index.ts
@@ -0,0 +1 @@
+export { default as exampleUtil } from './exampleUtil';
From 055108ed2d8cadfb6b4d9db8270a936949657f3b Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:15:47 +0900
Subject: [PATCH 027/843] =?UTF-8?q?chore:=20utils=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/exampleUtil.ts | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 src/utils/exampleUtil.ts
diff --git a/src/utils/exampleUtil.ts b/src/utils/exampleUtil.ts
new file mode 100644
index 00000000..9cbbefca
--- /dev/null
+++ b/src/utils/exampleUtil.ts
@@ -0,0 +1,5 @@
+const exampleUtil = () => {
+ return 'exampleUtil';
+};
+
+export default exampleUtil;
From 8119e634fe5178f569bc421c274f9de1755a0682 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:15:57 +0900
Subject: [PATCH 028/843] =?UTF-8?q?chore:=20test=20=ED=8C=8C=EC=9D=BC=20?=
=?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/test/example.test.ts | 1 +
1 file changed, 1 insertion(+)
create mode 100644 src/utils/test/example.test.ts
diff --git a/src/utils/test/example.test.ts b/src/utils/test/example.test.ts
new file mode 100644
index 00000000..f663c281
--- /dev/null
+++ b/src/utils/test/example.test.ts
@@ -0,0 +1 @@
+// import { instance } from '@/utils/api/index';
From b2f9d61606193b8bda9909ebfffa4d8152ca8621 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:17:59 +0900
Subject: [PATCH 029/843] =?UTF-8?q?fix:=20utils=20constants=20index.ts=20?=
=?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=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
---
src/utils/constants/STATUS_CODES.ts | 4 +++-
src/utils/constants/index.ts | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 src/utils/constants/index.ts
diff --git a/src/utils/constants/STATUS_CODES.ts b/src/utils/constants/STATUS_CODES.ts
index 1ca1544d..dfe61476 100644
--- a/src/utils/constants/STATUS_CODES.ts
+++ b/src/utils/constants/STATUS_CODES.ts
@@ -1,6 +1,8 @@
-export enum STATUS_CODES {
+enum STATUS_CODES {
OK = 200,
CREATE = 201,
NO_CONTENTS = 204,
BAD_REQUEST = 400
}
+
+export default STATUS_CODES;
diff --git a/src/utils/constants/index.ts b/src/utils/constants/index.ts
new file mode 100644
index 00000000..6ee53930
--- /dev/null
+++ b/src/utils/constants/index.ts
@@ -0,0 +1 @@
+export { default as STATUS_CODES } from './STATUS_CODES';
From 060c3e324ad9745b65355ca828b0a3577944c0e3 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:55:22 +0900
Subject: [PATCH 030/843] =?UTF-8?q?chore:=20@=20symbol=20path=20=EC=BB=A8?=
=?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 48 ++++++++++++++++++++++++++++-
package.json | 3 +-
src/App.tsx | 4 ++-
src/components/ExampleFoo/index.tsx | 4 ++-
src/pages/Example/index.tsx | 2 +-
src/utils/test/example.test.ts | 2 +-
tsconfig.json | 9 ++----
tsconfig.paths.json | 17 ++++++++++
vite.config.ts | 3 +-
9 files changed, 78 insertions(+), 14 deletions(-)
create mode 100644 tsconfig.paths.json
diff --git a/package-lock.json b/package-lock.json
index 1d767b41..8e913f37 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -25,7 +25,8 @@
"eslint-plugin-react-refresh": "^0.4.5",
"prettier": "^3.1.1",
"typescript": "^5.2.2",
- "vite": "^5.0.8"
+ "vite": "^5.0.8",
+ "vite-tsconfig-paths": "^4.2.3"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -2288,6 +2289,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true
+ },
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -3127,6 +3134,26 @@
"typescript": ">=4.2.0"
}
},
+ "node_modules/tsconfck": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz",
+ "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==",
+ "dev": true,
+ "bin": {
+ "tsconfck": "bin/tsconfck.js"
+ },
+ "engines": {
+ "node": "^14.13.1 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "typescript": "^4.3.5 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -3228,6 +3255,25 @@
}
}
},
+ "node_modules/vite-tsconfig-paths": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz",
+ "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^2.1.0"
+ },
+ "peerDependencies": {
+ "vite": "*"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index 216895e8..a73e4891 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"eslint-plugin-react-refresh": "^0.4.5",
"prettier": "^3.1.1",
"typescript": "^5.2.2",
- "vite": "^5.0.8"
+ "vite": "^5.0.8",
+ "vite-tsconfig-paths": "^4.2.3"
}
}
diff --git a/src/App.tsx b/src/App.tsx
index 70dde502..74dcad4a 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,8 @@
import { useState } from 'react';
+import Example from '@pages/Example';
import styled from '@emotion/styled';
import { css } from '@emotion/react';
-import GlobalStyle from '@/styles/GlobalStyle.tsx';
+import GlobalStyle from '@styles/GlobalStyle';
const App = () => {
const [primary, setPrimary] = useState(false);
@@ -18,6 +19,7 @@ const App = () => {
(emotion props 사용 예시)
+
>
);
diff --git a/src/components/ExampleFoo/index.tsx b/src/components/ExampleFoo/index.tsx
index 50f46425..6011ccbb 100644
--- a/src/components/ExampleFoo/index.tsx
+++ b/src/components/ExampleFoo/index.tsx
@@ -1,6 +1,7 @@
+import { useExample } from '@hooks/index';
import ExampleBar from './ExampleBar';
import ExampleBaz from './ExampleBaz';
-import useExample from '@/hooks/useExample';
+import ExampleToast from '@components/common/ExampleToast';
const ExampleFoo = () => {
const example: useExampleType = useExample();
@@ -10,6 +11,7 @@ const ExampleFoo = () => {
{example}
+
>
);
};
diff --git a/src/pages/Example/index.tsx b/src/pages/Example/index.tsx
index 1a5a696d..6151ecd3 100644
--- a/src/pages/Example/index.tsx
+++ b/src/pages/Example/index.tsx
@@ -1,4 +1,4 @@
-import ExampleFoo from '@/components/ExampleFoo';
+import ExampleFoo from '@components/ExampleFoo';
const Example = () => {
return ;
diff --git a/src/utils/test/example.test.ts b/src/utils/test/example.test.ts
index f663c281..8842ac9b 100644
--- a/src/utils/test/example.test.ts
+++ b/src/utils/test/example.test.ts
@@ -1 +1 @@
-// import { instance } from '@/utils/api/index';
+// import { instance } from '@api/index';
diff --git a/tsconfig.json b/tsconfig.json
index 806e04e0..e7764beb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,4 +1,5 @@
{
+ "extends": "./tsconfig.paths.json",
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
@@ -18,13 +19,7 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
-
- /* import @ symbol */
- "baseUrl": ".",
- "paths": {
- "@/*": ["src/*"]
- }
+ "noFallthroughCasesInSwitch": true
},
"include": ["src"],
"references": [{ "path": "./tsconfig.node.json" }]
diff --git a/tsconfig.paths.json b/tsconfig.paths.json
new file mode 100644
index 00000000..752a63e3
--- /dev/null
+++ b/tsconfig.paths.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "@assets/*": ["src/assets/*"],
+ "@components/*": ["src/components/*"],
+ "@hooks/*": ["src/hooks/*"],
+ "@pages/*": ["src/pages/*"],
+ "@styles/*": ["src/styles/*"],
+ "@types/*": ["src/types/*"],
+ "@utils/*": ["src/utils/*"],
+ "@api/*": ["src/utils/api/*"],
+ "@constants/*": ["src/utils/constants/*"],
+ "@test/*": ["src/utils/test/*"]
+ }
+ }
+}
diff --git a/vite.config.ts b/vite.config.ts
index 80ac6950..f009a9da 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,8 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
+import tsconfigPaths from 'vite-tsconfig-paths';
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [react()]
+ plugins: [react(), tsconfigPaths()]
});
From 8997d77c4b0905990daf2430f9bd4f4caa1c0b91 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Mon, 1 Jan 2024 21:58:56 +0900
Subject: [PATCH 031/843] =?UTF-8?q?fix:=20=ED=8C=8C=EC=9D=BC=20=EC=BB=A8?=
=?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=82=AC=EC=9A=A9=20=EC=98=88=EC=8B=9C=20?=
=?UTF-8?q?=EB=AC=B8=EA=B5=AC=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 1 +
src/hooks/useExample.ts | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/App.tsx b/src/App.tsx
index 74dcad4a..b9edef92 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -37,6 +37,7 @@ const EmotionExampleWrapper = styled.div`
/* 3. margin / border / padding */
/* 4. display */
display: flex;
+ flex-direction: column;
justify-content: center;
align-items: center;
diff --git a/src/hooks/useExample.ts b/src/hooks/useExample.ts
index e559be54..a259c44a 100644
--- a/src/hooks/useExample.ts
+++ b/src/hooks/useExample.ts
@@ -1,5 +1,5 @@
const useExample = () => {
- return 'useExample';
+ return '파일 컨벤션 사용 예시 문구';
};
export default useExample;
From b2833da1b0f0d372f8fda174e54fafdff8706f35 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 3 Jan 2024 22:05:06 +0900
Subject: [PATCH 032/843] =?UTF-8?q?chore:=20jest=20=ED=85=8C=EC=8A=A4?=
=?UTF-8?q?=ED=8A=B8=20=EC=98=88=EC=8B=9C=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 2 +-
jest.config.cjs | 5 +
package-lock.json | 5731 +++++++++++++++++++++------
package.json | 7 +-
src/utils/exampleMinus.ts | 5 +
src/utils/examplePlus.ts | 5 +
src/utils/exampleUtil.ts | 5 -
src/utils/index.ts | 3 +-
src/utils/test/example.test.ts | 1 -
src/utils/test/exampleMinus.test.ts | 9 +
src/utils/test/examplePlus.test.ts | 9 +
11 files changed, 4658 insertions(+), 1124 deletions(-)
create mode 100644 jest.config.cjs
create mode 100644 src/utils/exampleMinus.ts
create mode 100644 src/utils/examplePlus.ts
delete mode 100644 src/utils/exampleUtil.ts
delete mode 100644 src/utils/test/example.test.ts
create mode 100644 src/utils/test/exampleMinus.test.ts
create mode 100644 src/utils/test/examplePlus.test.ts
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index dacced3d..da9fec22 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,6 +1,6 @@
module.exports = {
root: true,
- env: { browser: true, es2020: true },
+ env: { browser: true, es2020: true, node: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
diff --git a/jest.config.cjs b/jest.config.cjs
new file mode 100644
index 00000000..b694f228
--- /dev/null
+++ b/jest.config.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ transform: {
+ '^.+\\.(t|j)sx?$': '@swc/jest'
+ }
+};
diff --git a/package-lock.json b/package-lock.json
index 8e913f37..84f96d20 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,9 @@
"react-dom": "^18.2.0"
},
"devDependencies": {
+ "@swc/core": "^1.3.102",
+ "@swc/jest": "^0.2.29",
+ "@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.14.0",
@@ -23,6 +26,7 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
+ "jest": "^29.7.0",
"prettier": "^3.1.1",
"typescript": "^5.2.2",
"vite": "^5.0.8",
@@ -38,6 +42,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
@@ -114,6 +131,149 @@
"node": ">=4"
}
},
+ "node_modules/@babel/compat-data": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+ "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
+ "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.7",
+ "@babel/parser": "^7.23.6",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/@babel/core/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/@babel/generator": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.6",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/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/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-module-imports": {
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
@@ -125,6 +285,58 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-string-parser": {
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
@@ -141,6 +353,29 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+ "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz",
+ "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/highlight": {
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
@@ -218,6 +453,195 @@
"node": ">=4"
}
},
+ "node_modules/@babel/parser": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+ "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
+ "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/runtime": {
"version": "7.23.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
@@ -229,6 +653,50 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
+ "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.6",
+ "@babel/types": "^7.23.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@babel/types": {
"version": "7.23.6",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
@@ -242,6 +710,12 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
"node_modules/@emotion/babel-plugin": {
"version": "11.11.0",
"resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
@@ -876,1568 +1350,3993 @@
"integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=8"
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
- "engines": {
- "node": ">= 8"
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=8"
}
},
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz",
- "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
- "optional": true,
- "os": [
- "android"
- ]
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
},
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz",
- "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
- "optional": true,
- "os": [
- "android"
- ]
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz",
- "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz",
- "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz",
- "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz",
- "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz",
- "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@jest/console": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
},
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz",
- "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==",
- "cpu": [
- "riscv64"
- ],
+ "node_modules/@jest/console/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
},
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz",
- "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@jest/console/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz",
- "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@jest/core": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/reporters": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^29.7.0",
+ "jest-config": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-resolve-dependencies": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
},
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz",
- "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@jest/core/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
},
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz",
- "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==",
- "cpu": [
- "ia32"
- ],
+ "node_modules/@jest/core/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz",
- "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@jest/create-cache-key-function": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz",
+ "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
+ "dependencies": {
+ "@jest/types": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
},
- "node_modules/@swc/core": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.102.tgz",
- "integrity": "sha512-OAjNLY/f6QWKSDzaM3bk31A+OYHu6cPa9P/rFIx8X5d24tHXUpRiiq6/PYI6SQRjUPlB72GjsjoEU8F+ALadHg==",
+ "node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
"dev": true,
- "hasInstallScript": true,
"dependencies": {
- "@swc/counter": "^0.1.1",
- "@swc/types": "^0.1.5"
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0"
},
"engines": {
- "node": ">=10"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/environment/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/swc"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/environment/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.7.0",
+ "jest-snapshot": "^29.7.0"
},
- "optionalDependencies": {
- "@swc/core-darwin-arm64": "1.3.102",
- "@swc/core-darwin-x64": "1.3.102",
- "@swc/core-linux-arm-gnueabihf": "1.3.102",
- "@swc/core-linux-arm64-gnu": "1.3.102",
- "@swc/core-linux-arm64-musl": "1.3.102",
- "@swc/core-linux-x64-gnu": "1.3.102",
- "@swc/core-linux-x64-musl": "1.3.102",
- "@swc/core-win32-arm64-msvc": "1.3.102",
- "@swc/core-win32-ia32-msvc": "1.3.102",
- "@swc/core-win32-x64-msvc": "1.3.102"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/expect-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/globals/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/globals/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
+ "dev": true,
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^6.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "v8-to-istanbul": "^9.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
},
"peerDependencies": {
- "@swc/helpers": "^0.5.0"
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
},
"peerDependenciesMeta": {
- "@swc/helpers": {
+ "node-notifier": {
"optional": true
}
}
},
- "node_modules/@swc/core-darwin-arm64": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.102.tgz",
- "integrity": "sha512-CJDxA5Wd2cUMULj3bjx4GEoiYyyiyL8oIOu4Nhrs9X+tlg8DnkCm4nI57RJGP8Mf6BaXPIJkHX8yjcefK2RlDA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@jest/reporters/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/@jest/types": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz",
+ "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz",
+ "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz",
+ "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz",
+ "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz",
+ "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz",
+ "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz",
+ "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz",
+ "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz",
+ "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz",
+ "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz",
+ "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz",
+ "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz",
+ "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
+ "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+ "dev": true,
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+ "dev": true,
+ "dependencies": {
+ "@sinonjs/commons": "^3.0.0"
+ }
+ },
+ "node_modules/@swc/core": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.102.tgz",
+ "integrity": "sha512-OAjNLY/f6QWKSDzaM3bk31A+OYHu6cPa9P/rFIx8X5d24tHXUpRiiq6/PYI6SQRjUPlB72GjsjoEU8F+ALadHg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.1",
+ "@swc/types": "^0.1.5"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.3.102",
+ "@swc/core-darwin-x64": "1.3.102",
+ "@swc/core-linux-arm-gnueabihf": "1.3.102",
+ "@swc/core-linux-arm64-gnu": "1.3.102",
+ "@swc/core-linux-arm64-musl": "1.3.102",
+ "@swc/core-linux-x64-gnu": "1.3.102",
+ "@swc/core-linux-x64-musl": "1.3.102",
+ "@swc/core-win32-arm64-msvc": "1.3.102",
+ "@swc/core-win32-ia32-msvc": "1.3.102",
+ "@swc/core-win32-x64-msvc": "1.3.102"
+ },
+ "peerDependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.102.tgz",
+ "integrity": "sha512-CJDxA5Wd2cUMULj3bjx4GEoiYyyiyL8oIOu4Nhrs9X+tlg8DnkCm4nI57RJGP8Mf6BaXPIJkHX8yjcefK2RlDA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.102.tgz",
+ "integrity": "sha512-X5akDkHwk6oAer49oER0qZMjNMkLH3IOZaV1m98uXIasAGyjo5WH1MKPeMLY1sY6V6TrufzwiSwD4ds571ytcg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.102.tgz",
+ "integrity": "sha512-kJH3XtZP9YQdjq/wYVBeFuiVQl4HaC4WwRrIxAHwe2OyvrwUI43dpW3LpxSggBnxXcVCXYWf36sTnv8S75o2Gw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.102.tgz",
+ "integrity": "sha512-flQP2WDyCgO24WmKA1wjjTx+xfCmavUete2Kp6yrM+631IHLGnr17eu7rYJ/d4EnDBId/ytMyrnWbTVkaVrpbQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.102.tgz",
+ "integrity": "sha512-bQEQSnC44DyoIGLw1+fNXKVGoCHi7eJOHr8BdH0y1ooy9ArskMjwobBFae3GX4T1AfnrTaejyr0FvLYIb0Zkog==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.102.tgz",
+ "integrity": "sha512-dFvnhpI478svQSxqISMt00MKTDS0e4YtIr+ioZDG/uJ/q+RpcNy3QI2KMm05Fsc8Y0d4krVtvCKWgfUMsJZXAg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.102.tgz",
+ "integrity": "sha512-+a0M3CvjeIRNA/jTCzWEDh2V+mhKGvLreHOL7J97oULZy5yg4gf7h8lQX9J8t9QLbf6fsk+0F8bVH1Ie/PbXjA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.102.tgz",
+ "integrity": "sha512-w76JWLjkZNOfkB25nqdWUNCbt0zJ41CnWrJPZ+LxEai3zAnb2YtgB/cCIrwxDebRuMgE9EJXRj7gDDaTEAMOOQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.102.tgz",
+ "integrity": "sha512-vlDb09HiGqKwz+2cxDS9T5/461ipUQBplvuhW+cCbzzGuPq8lll2xeyZU0N1E4Sz3MVdSPx1tJREuRvlQjrwNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.3.102",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.102.tgz",
+ "integrity": "sha512-E/jfSD7sShllxBwwgDPeXp1UxvIqehj/ShSUqq1pjR/IDRXngcRSXKJK92mJkNFY7suH6BcCWwzrxZgkO7sWmw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz",
+ "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==",
+ "dev": true
+ },
+ "node_modules/@swc/jest": {
+ "version": "0.2.29",
+ "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz",
+ "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==",
+ "dev": true,
+ "dependencies": {
+ "@jest/create-cache-key-function": "^27.4.2",
+ "jsonc-parser": "^3.2.0"
+ },
+ "engines": {
+ "npm": ">= 7.0.0"
+ },
+ "peerDependencies": {
+ "@swc/core": "*"
+ }
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
+ "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==",
+ "dev": true
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
+ "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+ "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "dev": true
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "29.5.11",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz",
+ "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.0.0",
+ "pretty-format": "^29.0.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "20.10.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
+ "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.11",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
+ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+ "dev": true
+ },
+ "node_modules/@types/react": {
+ "version": "18.2.46",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.46.tgz",
+ "integrity": "sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==",
+ "dev": true,
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.2.18",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
+ "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.8",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
+ "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
+ "dev": true
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
+ "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "dev": true
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+ "dev": true
+ },
+ "node_modules/@types/yargs": {
+ "version": "16.0.9",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
+ "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz",
+ "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "6.16.0",
+ "@typescript-eslint/type-utils": "6.16.0",
+ "@typescript-eslint/utils": "6.16.0",
+ "@typescript-eslint/visitor-keys": "6.16.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz",
+ "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "6.16.0",
+ "@typescript-eslint/types": "6.16.0",
+ "@typescript-eslint/typescript-estree": "6.16.0",
+ "@typescript-eslint/visitor-keys": "6.16.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz",
+ "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.16.0",
+ "@typescript-eslint/visitor-keys": "6.16.0"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz",
+ "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "6.16.0",
+ "@typescript-eslint/utils": "6.16.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz",
+ "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==",
+ "dev": true,
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz",
+ "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.16.0",
+ "@typescript-eslint/visitor-keys": "6.16.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz",
+ "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "6.16.0",
+ "@typescript-eslint/types": "6.16.0",
+ "@typescript-eslint/typescript-estree": "6.16.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz",
+ "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "6.16.0",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
+ "node_modules/@vitejs/plugin-react-swc": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.5.0.tgz",
+ "integrity": "sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==",
+ "dev": true,
+ "dependencies": {
+ "@swc/core": "^1.3.96"
+ },
+ "peerDependencies": {
+ "vite": "^4 || ^5"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+ "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/transform": "^29.7.0",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^29.6.3",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/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/babel-plugin-jest-hoist": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+ "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+ "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+ "dev": true,
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.22.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+ "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001565",
+ "electron-to-chromium": "^1.4.601",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001572",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz",
+ "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz",
+ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
+ "dev": true
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
+ "dev": true
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/create-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+ "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "prompts": "^2.0.1"
+ },
+ "bin": {
+ "create-jest": "bin/create-jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/create-jest/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/create-jest/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/dedent": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
+ "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
+ "dev": true,
+ "peerDependencies": {
+ "babel-plugin-macros": "^3.1.0"
+ },
+ "peerDependenciesMeta": {
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.617",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.617.tgz",
+ "integrity": "sha512-sYNE3QxcDS4ANW1k4S/wWYMXjCVcFSOX3Bg8jpuMFaXt/x8JCmp0R1Xe1ZXDX4WXnSRBf+GJ/3eGWicUuQq5cg==",
+ "dev": true
+ },
+ "node_modules/emittery": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.19.11",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
+ "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.19.11",
+ "@esbuild/android-arm": "0.19.11",
+ "@esbuild/android-arm64": "0.19.11",
+ "@esbuild/android-x64": "0.19.11",
+ "@esbuild/darwin-arm64": "0.19.11",
+ "@esbuild/darwin-x64": "0.19.11",
+ "@esbuild/freebsd-arm64": "0.19.11",
+ "@esbuild/freebsd-x64": "0.19.11",
+ "@esbuild/linux-arm": "0.19.11",
+ "@esbuild/linux-arm64": "0.19.11",
+ "@esbuild/linux-ia32": "0.19.11",
+ "@esbuild/linux-loong64": "0.19.11",
+ "@esbuild/linux-mips64el": "0.19.11",
+ "@esbuild/linux-ppc64": "0.19.11",
+ "@esbuild/linux-riscv64": "0.19.11",
+ "@esbuild/linux-s390x": "0.19.11",
+ "@esbuild/linux-x64": "0.19.11",
+ "@esbuild/netbsd-x64": "0.19.11",
+ "@esbuild/openbsd-x64": "0.19.11",
+ "@esbuild/sunos-x64": "0.19.11",
+ "@esbuild/win32-arm64": "0.19.11",
+ "@esbuild/win32-ia32": "0.19.11",
+ "@esbuild/win32-x64": "0.19.11"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.56.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
+ "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.56.0",
+ "@humanwhocodes/config-array": "^0.11.13",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "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-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==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "node_modules/eslint-plugin-react-refresh": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz",
+ "integrity": "sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==",
+ "dev": true,
+ "peerDependencies": {
+ "eslint": ">=7"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
"engines": {
- "node": ">=10"
+ "node": ">=0.10.0"
}
},
- "node_modules/@swc/core-darwin-x64": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.102.tgz",
- "integrity": "sha512-X5akDkHwk6oAer49oER0qZMjNMkLH3IOZaV1m98uXIasAGyjo5WH1MKPeMLY1sY6V6TrufzwiSwD4ds571ytcg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.102.tgz",
- "integrity": "sha512-kJH3XtZP9YQdjq/wYVBeFuiVQl4HaC4WwRrIxAHwe2OyvrwUI43dpW3LpxSggBnxXcVCXYWf36sTnv8S75o2Gw==",
- "cpu": [
- "arm"
- ],
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
"engines": {
- "node": ">=10"
+ "node": ">= 0.8.0"
}
},
- "node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.102.tgz",
- "integrity": "sha512-flQP2WDyCgO24WmKA1wjjTx+xfCmavUete2Kp6yrM+631IHLGnr17eu7rYJ/d4EnDBId/ytMyrnWbTVkaVrpbQ==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "@jest/expect-utils": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
"engines": {
- "node": ">=10"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.102.tgz",
- "integrity": "sha512-bQEQSnC44DyoIGLw1+fNXKVGoCHi7eJOHr8BdH0y1ooy9ArskMjwobBFae3GX4T1AfnrTaejyr0FvLYIb0Zkog==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
"engines": {
- "node": ">=10"
+ "node": ">=8.6.0"
}
},
- "node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.102.tgz",
- "integrity": "sha512-dFvnhpI478svQSxqISMt00MKTDS0e4YtIr+ioZDG/uJ/q+RpcNy3QI2KMm05Fsc8Y0d4krVtvCKWgfUMsJZXAg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
"engines": {
- "node": ">=10"
+ "node": ">= 6"
}
},
- "node_modules/@swc/core-linux-x64-musl": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.102.tgz",
- "integrity": "sha512-+a0M3CvjeIRNA/jTCzWEDh2V+mhKGvLreHOL7J97oULZy5yg4gf7h8lQX9J8t9QLbf6fsk+0F8bVH1Ie/PbXjA==",
- "cpu": [
- "x64"
- ],
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
+ "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
"dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "reusify": "^1.0.4"
}
},
- "node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.102.tgz",
- "integrity": "sha512-w76JWLjkZNOfkB25nqdWUNCbt0zJ41CnWrJPZ+LxEai3zAnb2YtgB/cCIrwxDebRuMgE9EJXRj7gDDaTEAMOOQ==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "bser": "2.1.1"
}
},
- "node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.102.tgz",
- "integrity": "sha512-vlDb09HiGqKwz+2cxDS9T5/461ipUQBplvuhW+cCbzzGuPq8lll2xeyZU0N1E4Sz3MVdSPx1tJREuRvlQjrwNg==",
- "cpu": [
- "ia32"
- ],
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
"engines": {
- "node": ">=10"
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.3.102",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.102.tgz",
- "integrity": "sha512-E/jfSD7sShllxBwwgDPeXp1UxvIqehj/ShSUqq1pjR/IDRXngcRSXKJK92mJkNFY7suH6BcCWwzrxZgkO7sWmw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
"engines": {
- "node": ">=10"
+ "node": ">=8"
}
},
- "node_modules/@swc/counter": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz",
- "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==",
- "dev": true
- },
- "node_modules/@swc/types": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
- "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==",
- "dev": true
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/@types/parse-json": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
- "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
},
- "node_modules/@types/prop-types": {
- "version": "15.7.11",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
- "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+ "node_modules/flatted": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
"dev": true
},
- "node_modules/@types/react": {
- "version": "18.2.46",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.46.tgz",
- "integrity": "sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==",
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/@types/react-dom": {
- "version": "18.2.18",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
- "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
- "dependencies": {
- "@types/react": "*"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@types/scheduler": {
- "version": "0.16.8",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
- "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
- "dev": true
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
},
- "node_modules/@types/semver": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
- "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
- "dev": true
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
},
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz",
- "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==",
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.16.0",
- "@typescript-eslint/type-utils": "6.16.0",
- "@typescript-eslint/utils": "6.16.0",
- "@typescript-eslint/visitor-keys": "6.16.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=10"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@typescript-eslint/parser": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz",
- "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==",
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "6.16.0",
- "@typescript-eslint/types": "6.16.0",
- "@typescript-eslint/typescript-estree": "6.16.0",
- "@typescript-eslint/visitor-keys": "6.16.0",
- "debug": "^4.3.4"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "*"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz",
- "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==",
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.16.0",
- "@typescript-eslint/visitor-keys": "6.16.0"
+ "is-glob": "^4.0.3"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">=10.13.0"
}
},
- "node_modules/@typescript-eslint/type-utils": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz",
- "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==",
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.16.0",
- "@typescript-eslint/utils": "6.16.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@typescript-eslint/types": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz",
- "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==",
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "engines": {
+ "node": "*"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz",
- "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==",
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.16.0",
- "@typescript-eslint/visitor-keys": "6.16.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "type-fest": "^0.20.2"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=8"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@typescript-eslint/utils": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz",
- "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==",
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.16.0",
- "@typescript-eslint/types": "6.16.0",
- "@typescript-eslint/typescript-estree": "6.16.0",
- "semver": "^7.5.4"
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=10"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.16.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz",
- "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==",
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
"dependencies": {
- "@typescript-eslint/types": "6.16.0",
- "eslint-visitor-keys": "^3.4.1"
+ "function-bind": "^1.1.2"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">= 0.4"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
- "node_modules/@vitejs/plugin-react-swc": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.5.0.tgz",
- "integrity": "sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==",
- "dev": true,
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"dependencies": {
- "@swc/core": "^1.3.96"
- },
- "peerDependencies": {
- "vite": "^4 || ^5"
+ "react-is": "^16.7.0"
}
},
- "node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
"engines": {
- "node": ">=0.4.0"
+ "node": ">=10.17.0"
}
},
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "node_modules/ignore": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
"dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "engines": {
+ "node": ">= 4"
}
},
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
"dependencies": {
- "color-convert": "^2.0.1"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
},
"engines": {
"node": ">=8"
},
"funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=0.8.19"
}
},
- "node_modules/babel-plugin-macros": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
- "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
"dependencies": {
- "@babel/runtime": "^7.12.5",
- "cosmiconfig": "^7.0.0",
- "resolve": "^1.19.0"
- },
- "engines": {
- "node": ">=10",
- "npm": ">=6"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"dependencies": {
- "balanced-match": "^1.0.0"
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
"engines": {
"node": ">=8"
}
},
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "is-extglob": "^2.1.1"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=0.10.0"
}
},
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
"engines": {
- "node": ">=7.0.0"
+ "node": ">=0.12.0"
}
},
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
},
- "node_modules/cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
+ "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "dev": true,
"dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^7.5.4"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=10"
}
},
- "node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
"dev": true,
"dependencies": {
- "ms": "2.1.2"
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=10"
}
},
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "node_modules/istanbul-reports": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+ "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
"dev": true,
"dependencies": {
- "path-type": "^4.0.0"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "node_modules/jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
"dev": true,
"dependencies": {
- "esutils": "^2.0.2"
+ "@jest/core": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "import-local": "^3.0.2",
+ "jest-cli": "^29.7.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
},
"engines": {
- "node": ">=6.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
}
},
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "node_modules/jest-changed-files": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+ "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
+ "dev": true,
"dependencies": {
- "is-arrayish": "^0.2.1"
+ "execa": "^5.0.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/esbuild": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
- "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
+ "node_modules/jest-circus": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+ "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
"dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^1.0.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^29.7.0",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "pretty-format": "^29.7.0",
+ "pure-rand": "^6.0.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.19.11",
- "@esbuild/android-arm": "0.19.11",
- "@esbuild/android-arm64": "0.19.11",
- "@esbuild/android-x64": "0.19.11",
- "@esbuild/darwin-arm64": "0.19.11",
- "@esbuild/darwin-x64": "0.19.11",
- "@esbuild/freebsd-arm64": "0.19.11",
- "@esbuild/freebsd-x64": "0.19.11",
- "@esbuild/linux-arm": "0.19.11",
- "@esbuild/linux-arm64": "0.19.11",
- "@esbuild/linux-ia32": "0.19.11",
- "@esbuild/linux-loong64": "0.19.11",
- "@esbuild/linux-mips64el": "0.19.11",
- "@esbuild/linux-ppc64": "0.19.11",
- "@esbuild/linux-riscv64": "0.19.11",
- "@esbuild/linux-s390x": "0.19.11",
- "@esbuild/linux-x64": "0.19.11",
- "@esbuild/netbsd-x64": "0.19.11",
- "@esbuild/openbsd-x64": "0.19.11",
- "@esbuild/sunos-x64": "0.19.11",
- "@esbuild/win32-arm64": "0.19.11",
- "@esbuild/win32-ia32": "0.19.11",
- "@esbuild/win32-x64": "0.19.11"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node_modules/jest-circus/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
- "node_modules/eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "node_modules/jest-cli": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+ "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
"dev": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
+ "@jest/core": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
"chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
+ "create-jest": "^29.7.0",
+ "exit": "^0.1.2",
+ "import-local": "^3.0.2",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "yargs": "^17.3.1"
},
"bin": {
- "eslint": "bin/eslint.js"
+ "jest": "bin/jest.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
}
},
- "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==",
+ "node_modules/jest-cli/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
- "peerDependencies": {
- "eslint": ">=7.0.0"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "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==",
+ "node_modules/jest-cli/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
- "node_modules/eslint-plugin-react-refresh": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz",
- "integrity": "sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==",
+ "node_modules/jest-config": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+ "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
"dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-jest": "^29.7.0",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
"peerDependencies": {
- "eslint": ">=7"
+ "@types/node": "*",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
}
},
- "node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "node_modules/jest-config/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "node_modules/jest-config/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
- "node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
"dev": true,
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "node_modules/jest-docblock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+ "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
+ "dev": true,
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+ "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "pretty-format": "^29.7.0"
},
"engines": {
- "node": "*"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "node_modules/jest-each/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "node_modules/jest-each/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
"dependencies": {
- "estraverse": "^5.1.0"
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+ "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
},
"engines": {
- "node": ">=0.10"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "node_modules/jest-environment-node/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "estraverse": "^5.2.0"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=4.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "node_modules/jest-environment-node/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
- "engines": {
- "node": ">=4.0"
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
"dev": true,
"dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
},
"engines": {
- "node": ">=8.6.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
}
},
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "node_modules/jest-haste-map/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "is-glob": "^4.0.1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "node_modules/jest-haste-map/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "node_modules/jest-leak-detector": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+ "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
},
- "node_modules/fastq": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
- "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "node_modules/jest-matcher-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+ "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
"dev": true,
"dependencies": {
- "reusify": "^1.0.4"
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "node_modules/jest-message-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+ "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
"dev": true,
"dependencies": {
- "flat-cache": "^3.0.4"
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^29.6.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "node_modules/jest-message-util/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "to-regex-range": "^5.0.1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/find-root": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
- "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+ "node_modules/jest-message-util/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "node_modules/jest-mock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+ "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
"dev": true,
"dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-util": "^29.7.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "node_modules/jest-mock/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
- "dev": true
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "node_modules/jest-mock/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
"engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
}
},
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "node_modules/jest-resolve": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+ "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
"dev": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^2.0.0",
+ "slash": "^3.0.0"
},
"engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "node_modules/jest-resolve-dependencies": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+ "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
"dev": true,
"dependencies": {
- "is-glob": "^4.0.3"
+ "jest-regex-util": "^29.6.3",
+ "jest-snapshot": "^29.7.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "node_modules/jest-runner": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+ "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
"dev": true,
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "@jest/console": "^29.7.0",
+ "@jest/environment": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-leak-detector": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-resolve": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "source-map-support": "0.5.13"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": "*"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "node_modules/jest-runner/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
"dependencies": {
- "type-fest": "^0.20.2"
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+ "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/globals": "^29.7.0",
+ "@jest/source-map": "^29.6.3",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "node_modules/jest-runtime/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
+ "node_modules/jest-runtime/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "node_modules/jest-snapshot": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+ "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
"dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-jsx": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^29.7.0",
+ "semver": "^7.5.3"
+ },
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "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==",
+ "node_modules/jest-snapshot/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
"dependencies": {
- "function-bind": "^1.1.2"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "node_modules/jest-snapshot/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
"dependencies": {
- "react-is": "^16.7.0"
+ "@types/yargs-parser": "*"
}
},
- "node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "node_modules/jest-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
"engines": {
- "node": ">= 4"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "node_modules/jest-util/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
"dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "node_modules/jest-util/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+ "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
"dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "leven": "^3.1.0",
+ "pretty-format": "^29.7.0"
+ },
"engines": {
- "node": ">=0.8.19"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "node_modules/jest-validate/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "node_modules/jest-validate/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/is-core-module": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
- "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "node_modules/jest-watcher": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+ "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
+ "dev": true,
"dependencies": {
- "hasown": "^2.0.0"
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "jest-util": "^29.7.0",
+ "string-length": "^4.0.1"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "node_modules/jest-watcher/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "node_modules/jest-watcher/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
"dev": true,
"dependencies": {
- "is-extglob": "^2.1.1"
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
"engines": {
- "node": ">=0.12.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "node_modules/jest/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "node_modules/jest/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
},
"node_modules/js-tokens": {
"version": "4.0.0",
@@ -2456,6 +5355,18 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
@@ -2479,6 +5390,24 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true
+ },
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -2488,6 +5417,24 @@
"json-buffer": "3.0.1"
}
},
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -2550,6 +5497,36 @@
"node": ">=10"
}
},
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -2572,6 +5549,15 @@
"node": ">=8.6"
}
},
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
@@ -2617,6 +5603,39 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2626,6 +5645,21 @@
"wrappy": "1"
}
},
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -2673,6 +5707,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -2741,22 +5784,95 @@
"node": ">=8"
}
},
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
"engines": {
- "node": ">=8.6"
+ "node": ">=6"
},
"funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/postcss": {
@@ -2811,6 +5927,51 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dev": true,
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -2820,6 +5981,22 @@
"node": ">=6"
}
},
+ "node_modules/pure-rand": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz",
+ "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/dubzzz"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fast-check"
+ }
+ ]
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -2873,6 +6050,15 @@
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/resolve": {
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -2889,6 +6075,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-cwd/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -2897,6 +6104,15 @@
"node": ">=4"
}
},
+ "node_modules/resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -3018,6 +6234,18 @@
"node": ">=8"
}
},
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -3044,6 +6272,79 @@
"node": ">=0.10.0"
}
},
+ "node_modules/source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dev": true,
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -3056,6 +6357,24 @@
"node": ">=8"
}
},
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -3096,12 +6415,54 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "dev": true,
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/test-exclude/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/test-exclude/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -3166,6 +6527,15 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
@@ -3191,6 +6561,42 @@
"node": ">=14.17"
}
},
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -3200,6 +6606,26 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/v8-to-istanbul": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+ "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.12",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/v8-to-istanbul/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
"node_modules/vite": {
"version": "5.0.10",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz",
@@ -3274,6 +6700,15 @@
}
}
},
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -3289,12 +6724,51 @@
"node": ">= 8"
}
},
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
+ "node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -3309,6 +6783,33 @@
"node": ">= 6"
}
},
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index a73e4891..a0b0b842 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,8 @@
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
- "preview": "vite preview"
+ "preview": "vite preview",
+ "test": "jest"
},
"dependencies": {
"@emotion/react": "^11.11.3",
@@ -16,6 +17,9 @@
"react-dom": "^18.2.0"
},
"devDependencies": {
+ "@swc/core": "^1.3.102",
+ "@swc/jest": "^0.2.29",
+ "@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.14.0",
@@ -25,6 +29,7 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
+ "jest": "^29.7.0",
"prettier": "^3.1.1",
"typescript": "^5.2.2",
"vite": "^5.0.8",
diff --git a/src/utils/exampleMinus.ts b/src/utils/exampleMinus.ts
new file mode 100644
index 00000000..e41215d2
--- /dev/null
+++ b/src/utils/exampleMinus.ts
@@ -0,0 +1,5 @@
+const exampleMinus = (n1: number, n2: number) => {
+ return n1 - n2;
+};
+
+export default exampleMinus;
diff --git a/src/utils/examplePlus.ts b/src/utils/examplePlus.ts
new file mode 100644
index 00000000..8616c41f
--- /dev/null
+++ b/src/utils/examplePlus.ts
@@ -0,0 +1,5 @@
+const examplePlus = (n1: number, n2: number) => {
+ return n1 + n2;
+};
+
+export default examplePlus;
diff --git a/src/utils/exampleUtil.ts b/src/utils/exampleUtil.ts
deleted file mode 100644
index 9cbbefca..00000000
--- a/src/utils/exampleUtil.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-const exampleUtil = () => {
- return 'exampleUtil';
-};
-
-export default exampleUtil;
diff --git a/src/utils/index.ts b/src/utils/index.ts
index efc5ce80..d5c37dbc 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1 +1,2 @@
-export { default as exampleUtil } from './exampleUtil';
+export { default as examplePlus } from './examplePlus';
+export { default as exampleMinus } from './exampleMinus';
diff --git a/src/utils/test/example.test.ts b/src/utils/test/example.test.ts
deleted file mode 100644
index 8842ac9b..00000000
--- a/src/utils/test/example.test.ts
+++ /dev/null
@@ -1 +0,0 @@
-// import { instance } from '@api/index';
diff --git a/src/utils/test/exampleMinus.test.ts b/src/utils/test/exampleMinus.test.ts
new file mode 100644
index 00000000..50d1bc62
--- /dev/null
+++ b/src/utils/test/exampleMinus.test.ts
@@ -0,0 +1,9 @@
+import { exampleMinus } from '..';
+
+test('1 빼기 2는 -1이다.', () => {
+ expect(exampleMinus(1, 2)).toBe(-1);
+});
+
+test('1 빼기 2는 0이 아니다.', () => {
+ expect(exampleMinus(1, 2)).not.toBe(0);
+});
diff --git a/src/utils/test/examplePlus.test.ts b/src/utils/test/examplePlus.test.ts
new file mode 100644
index 00000000..9ed9988c
--- /dev/null
+++ b/src/utils/test/examplePlus.test.ts
@@ -0,0 +1,9 @@
+import { examplePlus } from '..';
+
+test('1 더하기 2는 3이다.', () => {
+ expect(examplePlus(1, 2)).toBe(3);
+});
+
+test('1 더하기 2는 4가 아니다.', () => {
+ expect(examplePlus(1, 2)).not.toBe(4);
+});
From 13c647dbe4ab1f87f3a14b37af8b732335a47fdd Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 3 Jan 2024 23:24:05 +0900
Subject: [PATCH 033/843] =?UTF-8?q?chore:=20CI/CD=20dev=20=EB=B0=B0?=
=?UTF-8?q?=ED=8F=AC=20=ED=85=9C=ED=94=8C=EB=A6=BF=20=EC=83=9D=EC=84=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/dev.yaml | 23 +++++++++++++++++++++++
.github/workflows/preview.yaml | 3 ---
2 files changed, 23 insertions(+), 3 deletions(-)
create mode 100644 .github/workflows/dev.yaml
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
new file mode 100644
index 00000000..5f7ccbff
--- /dev/null
+++ b/.github/workflows/dev.yaml
@@ -0,0 +1,23 @@
+name: Vercel Production Deployment
+env:
+ VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_DEV }}
+on:
+ push:
+ branches:
+ - dev
+
+jobs:
+ Deploy-Production:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Vercel CLI
+ run: npm install --global vercel@latest
+ - name: Pull Vercel Environment Information
+ run: vercel pull --yes --environment=production --token=${{
+ secrets.VERCEL_TOKEN }}
+ - name: Build Project Artifacts
+ run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
+ - name: Deploy Project Artifacts to Vercel
+ run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml
index e0045b48..9eb92f3f 100644
--- a/.github/workflows/preview.yaml
+++ b/.github/workflows/preview.yaml
@@ -6,9 +6,6 @@ on:
pull_request:
types:
- opened
- push:
- branches:
- - dev
jobs:
Deploy-Preview:
From 2ea501c83cafdd6df29897935f70f51f05445019 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 00:20:39 +0900
Subject: [PATCH 034/843] =?UTF-8?q?chore:=20react-router-dom=20=EC=84=A4?=
=?UTF-8?q?=EC=B9=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 41 ++++++++++++++++++++++++++++++++++++++++-
package.json | 3 ++-
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 84f96d20..26dc31fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,8 @@
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"react": "^18.2.0",
- "react-dom": "^18.2.0"
+ "react-dom": "^18.2.0",
+ "react-router-dom": "^6.21.1"
},
"devDependencies": {
"@swc/core": "^1.3.102",
@@ -2044,6 +2045,14 @@
"node": ">= 8"
}
},
+ "node_modules/@remix-run/router": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.1.tgz",
+ "integrity": "sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz",
@@ -6045,6 +6054,36 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/react-router": {
+ "version": "6.21.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.1.tgz",
+ "integrity": "sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA==",
+ "dependencies": {
+ "@remix-run/router": "1.14.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.21.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.1.tgz",
+ "integrity": "sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA==",
+ "dependencies": {
+ "@remix-run/router": "1.14.1",
+ "react-router": "6.21.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
diff --git a/package.json b/package.json
index a0b0b842..bb78fda5 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,8 @@
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"react": "^18.2.0",
- "react-dom": "^18.2.0"
+ "react-dom": "^18.2.0",
+ "react-router-dom": "^6.21.1"
},
"devDependencies": {
"@swc/core": "^1.3.102",
From c1f28bf1cbde2f9d07e6585122d1f5ce00591ece Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 00:22:00 +0900
Subject: [PATCH 035/843] =?UTF-8?q?chore:=20=EB=A9=94=EC=9D=B8=EB=9D=BC?=
=?UTF-8?q?=EC=9A=B0=ED=84=B0=20=EA=B8=B0=EB=B3=B8=20=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 89 ++-----------------------------
src/routes/MainRouter.tsx | 107 ++++++++++++++++++++++++++++++++++++++
2 files changed, 112 insertions(+), 84 deletions(-)
create mode 100644 src/routes/MainRouter.tsx
diff --git a/src/App.tsx b/src/App.tsx
index b9edef92..ca389e71 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,95 +1,16 @@
-import { useState } from 'react';
-import Example from '@pages/Example';
-import styled from '@emotion/styled';
-import { css } from '@emotion/react';
import GlobalStyle from '@styles/GlobalStyle';
+import { BrowserRouter } from 'react-router-dom';
+import MainRouter from './routes/MainRouter';
const App = () => {
- const [primary, setPrimary] = useState(false);
-
return (
<>
-
- setPrimary(prev => !prev)}
- >
- 쿨피스 응원 버튼
-
- (emotion props 사용 예시)
-
-
-
+
+
+
>
);
};
export default App;
-
-const EmotionExampleWrapper = styled.div`
- /* 0. emotipn 변수 */
- /* 1. position */
- /* 2. width / height */
- width: 100vw;
- height: 100vh;
-
- /* 3. margin / border / padding */
- /* 4. display */
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-
- /* 나머지 디자인 */
- /* 5. 인터렉션 */
- /* 6. props에 따른 스타일 */
-`;
-
-const EmotionExample = styled.button<{ $primary?: boolean }>`
- /* 0. emotipn 변수 */
- --accent-color: purple;
-
- /* 1. position */
-
- /* 2. width / height */
- width: 300px;
- height: 90px;
-
- /* 3. margin / border / padding */
- margin: 0.5rem 1rem;
- border-radius: 3px;
- border: 1px solid var(--accent-color);
- padding: 5px;
-
- /* 4. display */
- display: inline-block;
-
- /* 나머지 디자인 */
- color: var(--accent-color);
- background: transparent;
-
- font-size: 15px;
- font-weight: 600;
-
- transition: all 200ms ease-in-out;
-
- /* 5. 인터렉션 */
- &:hover {
- filter: brightness(0.85);
- }
-
- &:active {
- filter: brightness(1);
- }
-
- /* 6. props에 따른 스타일 */
- ${props =>
- props.$primary &&
- css`
- background: var(--accent-color);
- color: white;
-
- opacity: 0.7;
- `}
-`;
diff --git a/src/routes/MainRouter.tsx b/src/routes/MainRouter.tsx
new file mode 100644
index 00000000..1d6f45c6
--- /dev/null
+++ b/src/routes/MainRouter.tsx
@@ -0,0 +1,107 @@
+import { useState } from 'react';
+import styled from '@emotion/styled';
+import Example from '@pages/Example';
+import { css } from '@emotion/react';
+import { Route, Routes } from 'react-router-dom';
+
+const MainRouter = () => {
+ const [primary, setPrimary] = useState(false);
+
+ return (
+
+
+ setPrimary(prev => !prev)}
+ >
+ 쿨피스 응원 버튼
+
+ (emotion props 사용 예시)
+
+
+
+ }
+ />
+ >}
+ />
+ >}
+ />
+
+ );
+};
+
+export default MainRouter;
+
+const EmotionExampleWrapper = styled.div`
+ /* 0. emotipn 변수 */
+ /* 1. position */
+ /* 2. width / height */
+ width: 100vw;
+ height: 100vh;
+
+ /* 3. margin / border / padding */
+ /* 4. display */
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ /* 나머지 디자인 */
+ /* 5. 인터렉션 */
+ /* 6. props에 따른 스타일 */
+`;
+
+const EmotionExample = styled.button<{ $primary?: boolean }>`
+ /* 0. emotipn 변수 */
+ --accent-color: purple;
+
+ /* 1. position */
+
+ /* 2. width / height */
+ width: 300px;
+ height: 90px;
+
+ /* 3. margin / border / padding */
+ margin: 0.5rem 1rem;
+ border-radius: 3px;
+ border: 1px solid var(--accent-color);
+ padding: 5px;
+
+ /* 4. display */
+ display: inline-block;
+
+ /* 나머지 디자인 */
+ color: var(--accent-color);
+ background: transparent;
+
+ font-size: 15px;
+ font-weight: 600;
+
+ transition: all 200ms ease-in-out;
+
+ /* 5. 인터렉션 */
+ &:hover {
+ filter: brightness(0.85);
+ }
+
+ &:active {
+ filter: brightness(1);
+ }
+
+ /* 6. props에 따른 스타일 */
+ ${props =>
+ props.$primary &&
+ css`
+ background: var(--accent-color);
+ color: white;
+
+ opacity: 0.7;
+ `}
+`;
From 0d39a1a847e91685987007c6f501d89966843255 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 01:34:36 +0900
Subject: [PATCH 036/843] =?UTF-8?q?design:=20=EB=94=94=EC=9E=90=EC=9D=B8?=
=?UTF-8?q?=ED=85=8C=EB=A7=88=ED=8C=94=EB=A0=88=ED=8A=B8=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 10 ++++--
src/styles/theme.ts | 79 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 86 insertions(+), 3 deletions(-)
create mode 100644 src/styles/theme.ts
diff --git a/src/App.tsx b/src/App.tsx
index ca389e71..61058b32 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,4 +1,6 @@
import GlobalStyle from '@styles/GlobalStyle';
+import { ThemeProvider } from '@emotion/react';
+import theme from '@styles/theme';
import { BrowserRouter } from 'react-router-dom';
import MainRouter from './routes/MainRouter';
@@ -6,9 +8,11 @@ const App = () => {
return (
<>
-
-
-
+
+
+
+
+
>
);
};
diff --git a/src/styles/theme.ts b/src/styles/theme.ts
new file mode 100644
index 00000000..d22ecd22
--- /dev/null
+++ b/src/styles/theme.ts
@@ -0,0 +1,79 @@
+const theme = {
+ colors: {
+ ink100: '#72777A',
+ ink200: '#6C7072',
+ ink300: '#404446',
+ ink400: '#303437',
+ ink500: '#303437',
+ ink600: '#090A0A',
+
+ sky100: '#F7F9FA',
+ sky200: '#F2F4F5',
+ sky300: '#E3E5E5',
+ sky400: '#CDCFD0',
+ sky500: '#979C9E',
+
+ primary: '#0078FF',
+ brand: '#002C78',
+
+ pink100: '#FFE4ED',
+ pink200: '#FFA2C1',
+ pink300: '#FF6F9F',
+ pink400: '#FF528C',
+ pink500: '#FF3478',
+
+ blue100: '#D2E0FF',
+ blue200: '#A8C9FE',
+ blue300: '#2C4C80',
+ blue400: '#293E6C',
+ blue500: '#1A2849',
+
+ white: '#FFFFFF',
+ black: '#000000',
+ error: '#FF0000',
+ success: '#0CBC72'
+ },
+ fontSize: {
+ title1: '48px',
+ title2: '32px',
+ title3: '24px',
+ large: '18px',
+ regular: '16px',
+ small: '14px',
+ tiny: '12px'
+ },
+ fontWeight: {
+ title: '700',
+ large: '700',
+ medium: '500',
+ small: '400'
+ },
+ lineHeight: {
+ title1: '56px',
+ title2: '36px',
+ title3: '32px',
+
+ largeNone: '18px',
+ largeTight: '20px',
+ largeNormal: '24px',
+
+ regularNone: '16px',
+ regularTight: '20px',
+ regularNormal: '24px',
+
+ smallNone: '14px',
+ smallTight: '16px',
+ smallNormal: '20px',
+
+ tinyNone: '12px',
+ tinyTight: '14px',
+ tinyNormal: '16px'
+ },
+ shadow: {
+ small: '0px 0px 8px 0px #14141414',
+ medium: '0px 1px 8px 2px #14141414',
+ large: '0px 1px 24px 8px #14141414'
+ }
+};
+
+export default theme;
From 1ea0d5cdfbf5456b42d36b6f03f0139ad6577508 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 17:39:43 +0900
Subject: [PATCH 037/843] =?UTF-8?q?remove:=20=EA=B8=B0=EC=A1=B4=20MainRout?=
=?UTF-8?q?er=20=EC=82=AD=EC=A0=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/routes/MainRouter.tsx | 107 --------------------------------------
1 file changed, 107 deletions(-)
delete mode 100644 src/routes/MainRouter.tsx
diff --git a/src/routes/MainRouter.tsx b/src/routes/MainRouter.tsx
deleted file mode 100644
index 1d6f45c6..00000000
--- a/src/routes/MainRouter.tsx
+++ /dev/null
@@ -1,107 +0,0 @@
-import { useState } from 'react';
-import styled from '@emotion/styled';
-import Example from '@pages/Example';
-import { css } from '@emotion/react';
-import { Route, Routes } from 'react-router-dom';
-
-const MainRouter = () => {
- const [primary, setPrimary] = useState(false);
-
- return (
-
-
- setPrimary(prev => !prev)}
- >
- 쿨피스 응원 버튼
-
- (emotion props 사용 예시)
-
-
-
- }
- />
- >}
- />
- >}
- />
-
- );
-};
-
-export default MainRouter;
-
-const EmotionExampleWrapper = styled.div`
- /* 0. emotipn 변수 */
- /* 1. position */
- /* 2. width / height */
- width: 100vw;
- height: 100vh;
-
- /* 3. margin / border / padding */
- /* 4. display */
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-
- /* 나머지 디자인 */
- /* 5. 인터렉션 */
- /* 6. props에 따른 스타일 */
-`;
-
-const EmotionExample = styled.button<{ $primary?: boolean }>`
- /* 0. emotipn 변수 */
- --accent-color: purple;
-
- /* 1. position */
-
- /* 2. width / height */
- width: 300px;
- height: 90px;
-
- /* 3. margin / border / padding */
- margin: 0.5rem 1rem;
- border-radius: 3px;
- border: 1px solid var(--accent-color);
- padding: 5px;
-
- /* 4. display */
- display: inline-block;
-
- /* 나머지 디자인 */
- color: var(--accent-color);
- background: transparent;
-
- font-size: 15px;
- font-weight: 600;
-
- transition: all 200ms ease-in-out;
-
- /* 5. 인터렉션 */
- &:hover {
- filter: brightness(0.85);
- }
-
- &:active {
- filter: brightness(1);
- }
-
- /* 6. props에 따른 스타일 */
- ${props =>
- props.$primary &&
- css`
- background: var(--accent-color);
- color: white;
-
- opacity: 0.7;
- `}
-`;
From 1be4410ee7972793d0e55fefac0da27d50e6f47b Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 17:40:08 +0900
Subject: [PATCH 038/843] =?UTF-8?q?chore:=20routes=ED=8F=B4=EB=8D=94=20?=
=?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
tsconfig.paths.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tsconfig.paths.json b/tsconfig.paths.json
index 752a63e3..c1fd4d2e 100644
--- a/tsconfig.paths.json
+++ b/tsconfig.paths.json
@@ -11,7 +11,8 @@
"@utils/*": ["src/utils/*"],
"@api/*": ["src/utils/api/*"],
"@constants/*": ["src/utils/constants/*"],
- "@test/*": ["src/utils/test/*"]
+ "@test/*": ["src/utils/test/*"],
+ "@routes/": ["src/routes/*"]
}
}
}
From c04c24882768f8c057ec56aedbf11eb04b40d668 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 17:40:26 +0900
Subject: [PATCH 039/843] =?UTF-8?q?chore:=20routes=ED=8F=B4=EB=8D=94=20bar?=
=?UTF-8?q?rel=20=EA=B5=AC=EC=A1=B0=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 2 +-
src/routes/index.ts | 1 +
src/routes/lib/MainRouter.tsx | 107 ++++++++++++++++++++++++++++++++++
3 files changed, 109 insertions(+), 1 deletion(-)
create mode 100644 src/routes/index.ts
create mode 100644 src/routes/lib/MainRouter.tsx
diff --git a/src/App.tsx b/src/App.tsx
index 61058b32..1e1181b4 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,7 +2,7 @@ import GlobalStyle from '@styles/GlobalStyle';
import { ThemeProvider } from '@emotion/react';
import theme from '@styles/theme';
import { BrowserRouter } from 'react-router-dom';
-import MainRouter from './routes/MainRouter';
+import { MainRouter } from './routes';
const App = () => {
return (
diff --git a/src/routes/index.ts b/src/routes/index.ts
new file mode 100644
index 00000000..e6b1b4e6
--- /dev/null
+++ b/src/routes/index.ts
@@ -0,0 +1 @@
+export { default as MainRouter } from './lib/MainRouter';
diff --git a/src/routes/lib/MainRouter.tsx b/src/routes/lib/MainRouter.tsx
new file mode 100644
index 00000000..1d6f45c6
--- /dev/null
+++ b/src/routes/lib/MainRouter.tsx
@@ -0,0 +1,107 @@
+import { useState } from 'react';
+import styled from '@emotion/styled';
+import Example from '@pages/Example';
+import { css } from '@emotion/react';
+import { Route, Routes } from 'react-router-dom';
+
+const MainRouter = () => {
+ const [primary, setPrimary] = useState(false);
+
+ return (
+
+
+ setPrimary(prev => !prev)}
+ >
+ 쿨피스 응원 버튼
+
+ (emotion props 사용 예시)
+
+
+
+ }
+ />
+ >}
+ />
+ >}
+ />
+
+ );
+};
+
+export default MainRouter;
+
+const EmotionExampleWrapper = styled.div`
+ /* 0. emotipn 변수 */
+ /* 1. position */
+ /* 2. width / height */
+ width: 100vw;
+ height: 100vh;
+
+ /* 3. margin / border / padding */
+ /* 4. display */
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ /* 나머지 디자인 */
+ /* 5. 인터렉션 */
+ /* 6. props에 따른 스타일 */
+`;
+
+const EmotionExample = styled.button<{ $primary?: boolean }>`
+ /* 0. emotipn 변수 */
+ --accent-color: purple;
+
+ /* 1. position */
+
+ /* 2. width / height */
+ width: 300px;
+ height: 90px;
+
+ /* 3. margin / border / padding */
+ margin: 0.5rem 1rem;
+ border-radius: 3px;
+ border: 1px solid var(--accent-color);
+ padding: 5px;
+
+ /* 4. display */
+ display: inline-block;
+
+ /* 나머지 디자인 */
+ color: var(--accent-color);
+ background: transparent;
+
+ font-size: 15px;
+ font-weight: 600;
+
+ transition: all 200ms ease-in-out;
+
+ /* 5. 인터렉션 */
+ &:hover {
+ filter: brightness(0.85);
+ }
+
+ &:active {
+ filter: brightness(1);
+ }
+
+ /* 6. props에 따른 스타일 */
+ ${props =>
+ props.$primary &&
+ css`
+ background: var(--accent-color);
+ color: white;
+
+ opacity: 0.7;
+ `}
+`;
From a58c2b887d0676bdf51ed0d3cf99e2199d039ea7 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Fri, 5 Jan 2024 17:47:54 +0900
Subject: [PATCH 040/843] =?UTF-8?q?remove:=20=ED=99=88=ED=8E=98=EC=9D=B4?=
=?UTF-8?q?=EC=A7=80=20=EC=98=88=EC=8B=9C=EC=BB=B4=ED=8F=AC=EB=84=8C?=
=?UTF-8?q?=ED=8A=B8=20=EC=82=AD=EC=A0=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/routes/lib/MainRouter.tsx | 91 ++---------------------------------
1 file changed, 3 insertions(+), 88 deletions(-)
diff --git a/src/routes/lib/MainRouter.tsx b/src/routes/lib/MainRouter.tsx
index 1d6f45c6..262f93c1 100644
--- a/src/routes/lib/MainRouter.tsx
+++ b/src/routes/lib/MainRouter.tsx
@@ -1,107 +1,22 @@
-import { useState } from 'react';
-import styled from '@emotion/styled';
-import Example from '@pages/Example';
-import { css } from '@emotion/react';
import { Route, Routes } from 'react-router-dom';
const MainRouter = () => {
- const [primary, setPrimary] = useState(false);
-
return (
- setPrimary(prev => !prev)}
- >
- 쿨피스 응원 버튼
-
- (emotion props 사용 예시)
-
-
-
- }
+ element={메인페이지
}
/>
>}
+ element={로그인페이지
}
/>
>}
+ element={회원가입페이지
}
/>
);
};
export default MainRouter;
-
-const EmotionExampleWrapper = styled.div`
- /* 0. emotipn 변수 */
- /* 1. position */
- /* 2. width / height */
- width: 100vw;
- height: 100vh;
-
- /* 3. margin / border / padding */
- /* 4. display */
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-
- /* 나머지 디자인 */
- /* 5. 인터렉션 */
- /* 6. props에 따른 스타일 */
-`;
-
-const EmotionExample = styled.button<{ $primary?: boolean }>`
- /* 0. emotipn 변수 */
- --accent-color: purple;
-
- /* 1. position */
-
- /* 2. width / height */
- width: 300px;
- height: 90px;
-
- /* 3. margin / border / padding */
- margin: 0.5rem 1rem;
- border-radius: 3px;
- border: 1px solid var(--accent-color);
- padding: 5px;
-
- /* 4. display */
- display: inline-block;
-
- /* 나머지 디자인 */
- color: var(--accent-color);
- background: transparent;
-
- font-size: 15px;
- font-weight: 600;
-
- transition: all 200ms ease-in-out;
-
- /* 5. 인터렉션 */
- &:hover {
- filter: brightness(0.85);
- }
-
- &:active {
- filter: brightness(1);
- }
-
- /* 6. props에 따른 스타일 */
- ${props =>
- props.$primary &&
- css`
- background: var(--accent-color);
- color: white;
-
- opacity: 0.7;
- `}
-`;
From 1c8029906430916c05e80f4492078b1b700c02d9 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:05:18 +0900
Subject: [PATCH 041/843] =?UTF-8?q?modify:=20components=20barrel=20?=
=?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81?=
=?UTF-8?q?=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/index.tsx | 1 +
src/components/index.tsx | 1 +
src/pages/Example/index.tsx | 10 ++++++++--
3 files changed, 10 insertions(+), 2 deletions(-)
create mode 100644 src/components/common/index.tsx
create mode 100644 src/components/index.tsx
diff --git a/src/components/common/index.tsx b/src/components/common/index.tsx
new file mode 100644
index 00000000..a157a186
--- /dev/null
+++ b/src/components/common/index.tsx
@@ -0,0 +1 @@
+export { default as ExampleToast } from './ExampleToast';
diff --git a/src/components/index.tsx b/src/components/index.tsx
new file mode 100644
index 00000000..1da8cdf7
--- /dev/null
+++ b/src/components/index.tsx
@@ -0,0 +1 @@
+export { default as ExampleFoo } from './ExampleFoo';
diff --git a/src/pages/Example/index.tsx b/src/pages/Example/index.tsx
index 6151ecd3..2f96f1c6 100644
--- a/src/pages/Example/index.tsx
+++ b/src/pages/Example/index.tsx
@@ -1,7 +1,13 @@
-import ExampleFoo from '@components/ExampleFoo';
+import { ExampleFoo } from '@components/index';
+import { ExampleToast } from '@components/common';
const Example = () => {
- return ;
+ return (
+ <>
+
+
+ >
+ );
};
export default Example;
From 1d8e6d2176d7d3083935bc1bd58323b108d8c62f Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:06:01 +0900
Subject: [PATCH 042/843] =?UTF-8?q?modify:=20hooks=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/index.ts | 6 +++++-
src/hooks/{ => lib}/useExample.ts | 0
src/hooks/queries/useGetExample.ts | 5 +++++
3 files changed, 10 insertions(+), 1 deletion(-)
rename src/hooks/{ => lib}/useExample.ts (100%)
create mode 100644 src/hooks/queries/useGetExample.ts
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index 1f8e39a4..f6b1350f 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -1 +1,5 @@
-export { default as useExample } from './useExample';
+/* lib hooks */
+export { default as useExample } from './lib/useExample';
+
+/* quries hooks */
+export { default as useGetExample } from './queries/useGetExample';
diff --git a/src/hooks/useExample.ts b/src/hooks/lib/useExample.ts
similarity index 100%
rename from src/hooks/useExample.ts
rename to src/hooks/lib/useExample.ts
diff --git a/src/hooks/queries/useGetExample.ts b/src/hooks/queries/useGetExample.ts
new file mode 100644
index 00000000..fa5dd91c
--- /dev/null
+++ b/src/hooks/queries/useGetExample.ts
@@ -0,0 +1,5 @@
+const useExample = () => {
+ return '리액트 쿼리 훅 로직 작성';
+};
+
+export default useExample;
From 3ff85c079d09818659614a87fb5dc0e1ffeef568 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:07:51 +0900
Subject: [PATCH 043/843] =?UTF-8?q?modify:=20pages=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20?=
=?UTF-8?q?(lib=20=EC=A0=9C=EA=B1=B0)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/index.tsx | 1 +
1 file changed, 1 insertion(+)
create mode 100644 src/pages/index.tsx
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
new file mode 100644
index 00000000..5415efe6
--- /dev/null
+++ b/src/pages/index.tsx
@@ -0,0 +1 @@
+export { default as Example } from './Example';
From 95b0571d527df986de6e131c23a46ee792220dd7 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:08:53 +0900
Subject: [PATCH 044/843] =?UTF-8?q?modify:=20routes=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20?=
=?UTF-8?q?(lib=20=ED=8F=B4=EB=8D=94=20=EC=A0=9C=EA=B1=B0)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/routes/{lib/MainRouter.tsx => MainRouter/index.tsx} | 0
src/routes/index.ts | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename src/routes/{lib/MainRouter.tsx => MainRouter/index.tsx} (100%)
diff --git a/src/routes/lib/MainRouter.tsx b/src/routes/MainRouter/index.tsx
similarity index 100%
rename from src/routes/lib/MainRouter.tsx
rename to src/routes/MainRouter/index.tsx
diff --git a/src/routes/index.ts b/src/routes/index.ts
index e6b1b4e6..12d19b92 100644
--- a/src/routes/index.ts
+++ b/src/routes/index.ts
@@ -1 +1 @@
-export { default as MainRouter } from './lib/MainRouter';
+export { default as MainRouter } from './MainRouter';
From 611476124b94e247187cc067073ea21706a9bc05 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:09:48 +0900
Subject: [PATCH 045/843] =?UTF-8?q?modify:=20api=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/index.ts | 2 ++
src/{utils/api => api/lib}/getExample.ts | 0
src/{utils/api => api/lib}/instance.ts | 0
src/utils/api/index.ts | 2 --
4 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 src/api/index.ts
rename src/{utils/api => api/lib}/getExample.ts (100%)
rename src/{utils/api => api/lib}/instance.ts (100%)
delete mode 100644 src/utils/api/index.ts
diff --git a/src/api/index.ts b/src/api/index.ts
new file mode 100644
index 00000000..7eded0d3
--- /dev/null
+++ b/src/api/index.ts
@@ -0,0 +1,2 @@
+export { default as instance } from './lib/instance';
+export { default as getExample } from './lib/getExample';
diff --git a/src/utils/api/getExample.ts b/src/api/lib/getExample.ts
similarity index 100%
rename from src/utils/api/getExample.ts
rename to src/api/lib/getExample.ts
diff --git a/src/utils/api/instance.ts b/src/api/lib/instance.ts
similarity index 100%
rename from src/utils/api/instance.ts
rename to src/api/lib/instance.ts
diff --git a/src/utils/api/index.ts b/src/utils/api/index.ts
deleted file mode 100644
index 6c6f2893..00000000
--- a/src/utils/api/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as instance } from './instance';
-export { default as getExample } from './getExample';
From d58cde20bbb9f188a2c6503f156e0d0a7ab0e208 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:10:33 +0900
Subject: [PATCH 046/843] =?UTF-8?q?modify:=20constatnts=20barrel=20?=
=?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81?=
=?UTF-8?q?=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/constants/index.ts | 1 +
src/{utils/constants => constants/lib}/STATUS_CODES.ts | 0
src/utils/constants/index.ts | 1 -
3 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 src/constants/index.ts
rename src/{utils/constants => constants/lib}/STATUS_CODES.ts (100%)
delete mode 100644 src/utils/constants/index.ts
diff --git a/src/constants/index.ts b/src/constants/index.ts
new file mode 100644
index 00000000..dc3f9796
--- /dev/null
+++ b/src/constants/index.ts
@@ -0,0 +1 @@
+export { default as STATUS_CODES } from './lib/STATUS_CODES';
diff --git a/src/utils/constants/STATUS_CODES.ts b/src/constants/lib/STATUS_CODES.ts
similarity index 100%
rename from src/utils/constants/STATUS_CODES.ts
rename to src/constants/lib/STATUS_CODES.ts
diff --git a/src/utils/constants/index.ts b/src/utils/constants/index.ts
deleted file mode 100644
index 6ee53930..00000000
--- a/src/utils/constants/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as STATUS_CODES } from './STATUS_CODES';
From 8f496745021af12e6b1d823c93271b5f19b38141 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:10:59 +0900
Subject: [PATCH 047/843] =?UTF-8?q?modify:=20test=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/test/exampleCalculate.test.ts | 17 +++++++++++++++++
src/utils/exampleMinus.ts | 5 -----
src/utils/examplePlus.ts | 5 -----
src/utils/test/exampleMinus.test.ts | 9 ---------
src/utils/test/examplePlus.test.ts | 9 ---------
5 files changed, 17 insertions(+), 28 deletions(-)
create mode 100644 src/test/exampleCalculate.test.ts
delete mode 100644 src/utils/exampleMinus.ts
delete mode 100644 src/utils/examplePlus.ts
delete mode 100644 src/utils/test/exampleMinus.test.ts
delete mode 100644 src/utils/test/examplePlus.test.ts
diff --git a/src/test/exampleCalculate.test.ts b/src/test/exampleCalculate.test.ts
new file mode 100644
index 00000000..c61660af
--- /dev/null
+++ b/src/test/exampleCalculate.test.ts
@@ -0,0 +1,17 @@
+import { exampleMinus, examplePlus } from '../utils';
+
+test('1 빼기 2는 -1이다.', () => {
+ expect(exampleMinus(1, 2)).toBe(-1);
+});
+
+test('1 빼기 2는 0이 아니다.', () => {
+ expect(exampleMinus(1, 2)).not.toBe(0);
+});
+
+test('1 더하기 2는 3이다.', () => {
+ expect(examplePlus(1, 2)).toBe(3);
+});
+
+test('1 더하기 2는 4가 아니다.', () => {
+ expect(examplePlus(1, 2)).not.toBe(4);
+});
diff --git a/src/utils/exampleMinus.ts b/src/utils/exampleMinus.ts
deleted file mode 100644
index e41215d2..00000000
--- a/src/utils/exampleMinus.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-const exampleMinus = (n1: number, n2: number) => {
- return n1 - n2;
-};
-
-export default exampleMinus;
diff --git a/src/utils/examplePlus.ts b/src/utils/examplePlus.ts
deleted file mode 100644
index 8616c41f..00000000
--- a/src/utils/examplePlus.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-const examplePlus = (n1: number, n2: number) => {
- return n1 + n2;
-};
-
-export default examplePlus;
diff --git a/src/utils/test/exampleMinus.test.ts b/src/utils/test/exampleMinus.test.ts
deleted file mode 100644
index 50d1bc62..00000000
--- a/src/utils/test/exampleMinus.test.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { exampleMinus } from '..';
-
-test('1 빼기 2는 -1이다.', () => {
- expect(exampleMinus(1, 2)).toBe(-1);
-});
-
-test('1 빼기 2는 0이 아니다.', () => {
- expect(exampleMinus(1, 2)).not.toBe(0);
-});
diff --git a/src/utils/test/examplePlus.test.ts b/src/utils/test/examplePlus.test.ts
deleted file mode 100644
index 9ed9988c..00000000
--- a/src/utils/test/examplePlus.test.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { examplePlus } from '..';
-
-test('1 더하기 2는 3이다.', () => {
- expect(examplePlus(1, 2)).toBe(3);
-});
-
-test('1 더하기 2는 4가 아니다.', () => {
- expect(examplePlus(1, 2)).not.toBe(4);
-});
From 7d0993d317b3079b04f79e05002f39365cfe2075 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Fri, 5 Jan 2024 21:11:07 +0900
Subject: [PATCH 048/843] =?UTF-8?q?modify:=20utils=20barrel=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/index.ts | 3 +--
src/utils/lib/exampleCalculate.ts | 7 +++++++
2 files changed, 8 insertions(+), 2 deletions(-)
create mode 100644 src/utils/lib/exampleCalculate.ts
diff --git a/src/utils/index.ts b/src/utils/index.ts
index d5c37dbc..e277bd7d 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1,2 +1 @@
-export { default as examplePlus } from './examplePlus';
-export { default as exampleMinus } from './exampleMinus';
+export { exampleMinus, examplePlus } from './lib/exampleCalculate';
diff --git a/src/utils/lib/exampleCalculate.ts b/src/utils/lib/exampleCalculate.ts
new file mode 100644
index 00000000..b9b023e4
--- /dev/null
+++ b/src/utils/lib/exampleCalculate.ts
@@ -0,0 +1,7 @@
+export const exampleMinus = (n1: number, n2: number) => {
+ return n1 - n2;
+};
+
+export const examplePlus = (n1: number, n2: number) => {
+ return n1 + n2;
+};
From 3d5b52b34e8b789b574a35f63f07482384ad5702 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Sat, 6 Jan 2024 16:22:16 +0900
Subject: [PATCH 049/843] =?UTF-8?q?chore:=20vercel=20actions=20=EB=B2=84?=
=?UTF-8?q?=EC=A0=84=204=EB=A1=9C=20=EC=97=85=EA=B7=B8=EB=A0=88=EC=9D=B4?=
=?UTF-8?q?=EB=93=9C,=20dev=20=EC=82=AC=EC=9D=B4=ED=8A=B8=EB=A1=9C=20previ?=
=?UTF-8?q?ew=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/dev.yaml | 2 +-
.github/workflows/preview.yaml | 4 ++--
.github/workflows/production.yaml | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
index 5f7ccbff..7a9c5b52 100644
--- a/.github/workflows/dev.yaml
+++ b/.github/workflows/dev.yaml
@@ -11,7 +11,7 @@ jobs:
Deploy-Production:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml
index 9eb92f3f..f09b5b3f 100644
--- a/.github/workflows/preview.yaml
+++ b/.github/workflows/preview.yaml
@@ -1,7 +1,7 @@
name: Vercel Preview Deployment
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
- VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_DEV }}
on:
pull_request:
types:
@@ -11,7 +11,7 @@ jobs:
Deploy-Preview:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml
index 8dc74b30..fd4ce0ed 100644
--- a/.github/workflows/production.yaml
+++ b/.github/workflows/production.yaml
@@ -11,7 +11,7 @@ jobs:
Deploy-Production:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
From 2c41315bb005e3f4415899bbd8fb8039217f7acc Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Tue, 9 Jan 2024 04:55:15 +0900
Subject: [PATCH 050/843] =?UTF-8?q?chore:=20=EC=B0=A8=ED=8A=B8=20=EA=B4=80?=
=?UTF-8?q?=EB=A0=A8=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC(chart?=
=?UTF-8?q?JS)=20=EC=84=A4=EC=B9=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 27 +++++++++++++++++++++++++++
package.json | 2 ++
2 files changed, 29 insertions(+)
diff --git a/package-lock.json b/package-lock.json
index 26dc31fa..504678f3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,9 @@
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
+ "chart.js": "^4.4.1",
"react": "^18.2.0",
+ "react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
},
@@ -2010,6 +2012,11 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@kurkle/color": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
+ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -3225,6 +3232,17 @@
"node": ">=10"
}
},
+ "node_modules/chart.js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.1.tgz",
+ "integrity": "sha512-C74QN1bxwV1v2PEujhmKjOZ7iUM4w6BWs23Md/6aOZZSlwMzeCIDGuZay++rBgChYru7/+QFeoQW0fQoP534Dg==",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=7"
+ }
+ },
"node_modules/ci-info": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
@@ -6037,6 +6055,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-chartjs-2": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz",
+ "integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==",
+ "peerDependencies": {
+ "chart.js": "^4.1.1",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
diff --git a/package.json b/package.json
index bb78fda5..b381461a 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,9 @@
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
+ "chart.js": "^4.4.1",
"react": "^18.2.0",
+ "react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
},
From 375d59776f7e2030fc5531b8a55032ff40759366 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 14:58:49 +0900
Subject: [PATCH 051/843] =?UTF-8?q?chore:=20sidebar=20icon=20=EC=84=B8?=
=?UTF-8?q?=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/icons/.gitkeep | 0
src/assets/icons/ic-header-user.svg | 9 +++++++++
src/assets/icons/ic-logo.svg | 11 +++++++++++
src/assets/icons/ic-sidebar-coupon.svg | 3 +++
src/assets/icons/ic-sidebar-couponRegister.svg | 6 ++++++
src/assets/icons/ic-sidebar-coupons.svg | 8 ++++++++
src/assets/icons/ic-sidebar-hamberger.svg | 3 +++
src/assets/icons/ic-sidebar-home.svg | 12 ++++++++++++
src/assets/icons/ic-sidebar-settlement.svg | 4 ++++
src/assets/icons/ic-sidebar-toggle.svg | 3 +++
10 files changed, 59 insertions(+)
delete mode 100644 src/assets/icons/.gitkeep
create mode 100644 src/assets/icons/ic-header-user.svg
create mode 100644 src/assets/icons/ic-logo.svg
create mode 100644 src/assets/icons/ic-sidebar-coupon.svg
create mode 100644 src/assets/icons/ic-sidebar-couponRegister.svg
create mode 100644 src/assets/icons/ic-sidebar-coupons.svg
create mode 100644 src/assets/icons/ic-sidebar-hamberger.svg
create mode 100644 src/assets/icons/ic-sidebar-home.svg
create mode 100644 src/assets/icons/ic-sidebar-settlement.svg
create mode 100644 src/assets/icons/ic-sidebar-toggle.svg
diff --git a/src/assets/icons/.gitkeep b/src/assets/icons/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/src/assets/icons/ic-header-user.svg b/src/assets/icons/ic-header-user.svg
new file mode 100644
index 00000000..ca5ee25e
--- /dev/null
+++ b/src/assets/icons/ic-header-user.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/assets/icons/ic-logo.svg b/src/assets/icons/ic-logo.svg
new file mode 100644
index 00000000..b58cd6d7
--- /dev/null
+++ b/src/assets/icons/ic-logo.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/assets/icons/ic-sidebar-coupon.svg b/src/assets/icons/ic-sidebar-coupon.svg
new file mode 100644
index 00000000..d76f2de3
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-coupon.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/ic-sidebar-couponRegister.svg b/src/assets/icons/ic-sidebar-couponRegister.svg
new file mode 100644
index 00000000..bf6e8e90
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-couponRegister.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/assets/icons/ic-sidebar-coupons.svg b/src/assets/icons/ic-sidebar-coupons.svg
new file mode 100644
index 00000000..ac73b490
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-coupons.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/assets/icons/ic-sidebar-hamberger.svg b/src/assets/icons/ic-sidebar-hamberger.svg
new file mode 100644
index 00000000..87547654
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-hamberger.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/ic-sidebar-home.svg b/src/assets/icons/ic-sidebar-home.svg
new file mode 100644
index 00000000..1eb5836e
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-home.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/assets/icons/ic-sidebar-settlement.svg b/src/assets/icons/ic-sidebar-settlement.svg
new file mode 100644
index 00000000..89063267
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-settlement.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/assets/icons/ic-sidebar-toggle.svg b/src/assets/icons/ic-sidebar-toggle.svg
new file mode 100644
index 00000000..ac285772
--- /dev/null
+++ b/src/assets/icons/ic-sidebar-toggle.svg
@@ -0,0 +1,3 @@
+
From 7e989b41a4a61cb6d193bc17bf52bf8c79d7d141 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:04:39 +0900
Subject: [PATCH 052/843] =?UTF-8?q?chore:=20=EC=82=AC=EC=9D=B4=EB=93=9C?=
=?UTF-8?q?=EB=B0=94=20theme=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=ED=83=80?=
=?UTF-8?q?=EC=9E=85=20=EC=A7=80=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/styles/GlobalStyle.tsx | 9 +++--
src/styles/theme.ts | 3 ++
src/types/example.d.ts | 1 -
src/types/sidebar.d.ts | 4 ++
src/types/theme.d.ts | 80 ++++++++++++++++++++++++++++++++++++++
5 files changed, 93 insertions(+), 4 deletions(-)
delete mode 100644 src/types/example.d.ts
create mode 100644 src/types/sidebar.d.ts
create mode 100644 src/types/theme.d.ts
diff --git a/src/styles/GlobalStyle.tsx b/src/styles/GlobalStyle.tsx
index e2a9a9a7..08ce9058 100644
--- a/src/styles/GlobalStyle.tsx
+++ b/src/styles/GlobalStyle.tsx
@@ -1,4 +1,5 @@
import { css, Global } from '@emotion/react';
+import theme from './theme';
const GlobalStyle = () => {
return ;
@@ -91,10 +92,12 @@ const resetCSS = css`
margin: 0;
padding: 0;
border: 0;
+
font-size: 100%;
font: inherit;
- vertical-align: baseline;
+
text-decoration: none;
+ vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
@@ -136,7 +139,7 @@ const resetCSS = css`
html,
body,
#root {
- color: rgba(255, 255, 255, 0.87);
- background: linear-gradient(45deg, Violet, Orange);
+ color: ${theme.colors.black};
+ background: ${theme.colors.background};
}
`;
diff --git a/src/styles/theme.ts b/src/styles/theme.ts
index d22ecd22..53dcdfca 100644
--- a/src/styles/theme.ts
+++ b/src/styles/theme.ts
@@ -1,5 +1,8 @@
const theme = {
colors: {
+ background: '#F2F3F5',
+ hover: '#1A2849',
+
ink100: '#72777A',
ink200: '#6C7072',
ink300: '#404446',
diff --git a/src/types/example.d.ts b/src/types/example.d.ts
deleted file mode 100644
index 518034a9..00000000
--- a/src/types/example.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-type useExampleType = string;
diff --git a/src/types/sidebar.d.ts b/src/types/sidebar.d.ts
new file mode 100644
index 00000000..9c893e0d
--- /dev/null
+++ b/src/types/sidebar.d.ts
@@ -0,0 +1,4 @@
+type SidebarHeader = {
+ isSidebarOpen: boolean;
+ setIsSidebarOpen: React.Dispatch>;
+};
diff --git a/src/types/theme.d.ts b/src/types/theme.d.ts
new file mode 100644
index 00000000..a28fc8df
--- /dev/null
+++ b/src/types/theme.d.ts
@@ -0,0 +1,80 @@
+import { EmotionTheme } from '@emotion/react';
+
+declare module '@emotion/react' {
+ export interface Theme extends EmotionTheme {
+ colors: {
+ background: string;
+ hover: string;
+
+ ink100: string;
+ ink200: string;
+ ink300: string;
+ ink400: string;
+ ink500: string;
+ ink600: string;
+
+ sky100: string;
+ sky200: string;
+ sky300: string;
+ sky400: string;
+ sky500: string;
+
+ primary: string;
+ brand: string;
+
+ pink100: string;
+ pink200: string;
+ pink300: string;
+ pink400: string;
+ pink500: string;
+
+ blue100: string;
+ blue200: string;
+ blue300: string;
+ blue400: string;
+ blue500: string;
+
+ white: string;
+ black: string;
+ error: string;
+ success: string;
+ };
+ fontSize: {
+ title1: string;
+ title2: string;
+ title3: string;
+ large: string;
+ regular: string;
+ small: string;
+ tiny: string;
+ };
+ fontWeight: {
+ title: string;
+ large: string;
+ medium: string;
+ small: string;
+ };
+ lineHeight: {
+ title1: string;
+ title2: string;
+ title3: string;
+ largeNone: string;
+ largeTight: string;
+ largeNormal: string;
+ regularNone: string;
+ regularTight: string;
+ regularNormal: string;
+ smallNone: string;
+ smallTight: string;
+ smallNormal: string;
+ tinyNone: string;
+ tinyTight: string;
+ tinyNormal: string;
+ };
+ shadow: {
+ small: string;
+ medium: string;
+ large: string;
+ };
+ }
+}
From cd7b03616f2c345ee30b1be36f91c1123b6095ec Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:15:30 +0900
Subject: [PATCH 053/843] =?UTF-8?q?chore:=20Outlet=EC=9D=84=20=ED=99=9C?=
=?UTF-8?q?=EC=9A=A9=ED=95=9C=20Layout=20=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20?=
=?UTF-8?q?=EB=9D=BC=EC=9A=B0=ED=84=B0=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/index.tsx | 53 +++++++++++++++++
src/components/common/index.tsx | 1 +
src/routes/MainRouter/index.tsx | 79 ++++++++++++++++++++++++--
3 files changed, 127 insertions(+), 6 deletions(-)
create mode 100644 src/components/common/Layout/index.tsx
diff --git a/src/components/common/Layout/index.tsx b/src/components/common/Layout/index.tsx
new file mode 100644
index 00000000..aa2854b6
--- /dev/null
+++ b/src/components/common/Layout/index.tsx
@@ -0,0 +1,53 @@
+import styled from '@emotion/styled';
+import { Outlet } from 'react-router-dom';
+
+import Sidebar from './Sidebar';
+import Header from './Header';
+
+const Layout = () => {
+ return (
+
+
+
+
+ );
+};
+
+export default Layout;
+
+const Container = styled.div`
+ position: relative;
+
+ min-width: 100vw;
+ min-height: 100vh;
+
+ display: flex;
+
+ background-color: ${props => props.theme.colors.background};
+`;
+
+const Section = styled.section`
+ width: 100%;
+ min-height: 100%;
+
+ margin-left: 6.25rem;
+ padding: 0.8rem 1.4rem;
+
+ display: flex;
+ flex-direction: column;
+`;
+
+const OutletLayout = styled.div`
+ width: 100%;
+ height: 100%;
+
+ margin-top: 1rem;
+ border-radius: 1.25rem;
+
+ background-color: ${props => props.theme.colors.white};
+`;
diff --git a/src/components/common/index.tsx b/src/components/common/index.tsx
index a157a186..49c170ff 100644
--- a/src/components/common/index.tsx
+++ b/src/components/common/index.tsx
@@ -1 +1,2 @@
export { default as ExampleToast } from './ExampleToast';
+export { default as Layout } from './Layout';
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 262f93c1..2c6ef1c8 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,20 +1,87 @@
import { Route, Routes } from 'react-router-dom';
+import { Layout } from '@components/common';
const MainRouter = () => {
return (
- 메인페이지
}
- />
로그인페이지}
+ element={
+ 🧃 로그인 페이지 입주 예정 🧃
+ }
/>
회원가입페이지}
+ element={
+ 🧃 회원가입 페이지 입주 예정 🧃
+ }
/>
+ }>
+
+ 🧃 대시보드 페이지 입주 예정 🧃
+
+ }
+ />
+
+ 🧃 쿠폰 조회 페이지 입주 예정 🧃
+
+ }
+ />
+
+ 🧃 쿠폰 등록 페이지 입주 예정 🧃
+
+ }
+ />
+
+ 🧃 정산관리 페이지 입주 예정 🧃
+
+ }
+ />
+
);
};
From 7dfd40d4cd32fb0478f602443df73bfc0b0a85c6 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:17:09 +0900
Subject: [PATCH 054/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=ED=97=A4?=
=?UTF-8?q?=EB=8D=94=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Header/index.tsx | 102 ++++++++++++++++++
1 file changed, 102 insertions(+)
create mode 100644 src/components/common/Layout/Header/index.tsx
diff --git a/src/components/common/Layout/Header/index.tsx b/src/components/common/Layout/Header/index.tsx
new file mode 100644
index 00000000..7dd2a58e
--- /dev/null
+++ b/src/components/common/Layout/Header/index.tsx
@@ -0,0 +1,102 @@
+import { useState } from 'react';
+import { NavLink } from 'react-router-dom';
+import styled from '@emotion/styled';
+
+import logo from '@assets/icons/ic-logo.svg';
+// HACK: 디자이너에게 유저 아이콘 다시 받을 예정
+import user from '@assets/icons/ic-header-user.svg';
+
+const Header = () => {
+ // HACK: 예시 데이터, 백엔드에 리스트로 넘겨 받기
+ const selectList = [
+ '영덕 아이스 풀빌라',
+ '영덕 아이스 풀빌라2',
+ '영덕 아이스 풀빌라3',
+ '영덕 아이스 풀빌라4'
+ ];
+ const [selected, setSelected] = useState(selectList[0]);
+
+ // HACK: select 값에 따른 API 요청을 어떻게 보낼 건지 논의 필요
+ const handleSelect = (e: React.ChangeEvent) =>
+ setSelected(e.target.value);
+
+ return (
+
+
+
+
+
+
+ {selectList.map(item => (
+
+ {item}
+
+ ))}
+
+
+
+
+
+ );
+};
+
+export default Header;
+
+const Container = styled.header`
+ width: 100%;
+ height: 5.3rem;
+
+ border-radius: 1.25rem;
+ padding: 1.25rem;
+ padding-left: 1.875rem;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ background-color: ${props => props.theme.colors.white};
+
+ box-sizing: border-box;
+`;
+
+const LogoLink = styled(NavLink)`
+ width: 8.75rem;
+ height: 1.875rem;
+`;
+
+const LogoIcon = styled.img`
+ width: 100%;
+ height: 100%;
+`;
+
+const Buttons = styled.div`
+ display: flex;
+`;
+
+const Accommodations = styled.select`
+ margin-right: 2rem;
+`;
+
+const Accommodation = styled.option``;
+
+const UserIcon = styled.img`
+ width: 2.5rem;
+ height: 2.5rem;
+
+ border-radius: 50%;
+`;
From 6d3ccd559b9208e46db33ed9a1518a66d1a1e597 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:17:37 +0900
Subject: [PATCH 055/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Sidebar/index.tsx | 66 +++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/index.tsx
diff --git a/src/components/common/Layout/Sidebar/index.tsx b/src/components/common/Layout/Sidebar/index.tsx
new file mode 100644
index 00000000..7a8cb1b1
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/index.tsx
@@ -0,0 +1,66 @@
+import { useState } from 'react';
+import styled from '@emotion/styled';
+
+import Header from './Header';
+import Navigation from './Navigation';
+
+const Sidebar = () => {
+ const [isSidebarOpen, setIsSidebarOpen] = useState(false);
+
+ return (
+ <>
+
+
+
+ {isSidebarOpen && (
+ setIsSidebarOpen(false)} />
+ )}
+ >
+ );
+};
+export default Sidebar;
+
+const Container = styled.div<{ $isSidebarOpen?: boolean }>`
+ position: fixed;
+
+ width: ${props => (props.$isSidebarOpen ? '15.625rem' : '6.25rem')};
+ min-height: 100vh;
+
+ padding: 1.25rem 0.625rem;
+
+ background-color: ${props => props.theme.colors.white};
+
+ box-sizing: border-box;
+ overflow: hidden;
+ // HACK: z-index 상수화 (const enum, as const 학습 후 적용)
+ z-index: 100;
+
+ transition: all 0.3s;
+`;
+
+const Menu = styled.div`
+ width: 14.375rem;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+
+ transition: all 0.3s;
+`;
+
+const LeftoverScreen = styled.div`
+ width: 100%;
+ height: 100vh;
+
+ position: fixed;
+
+ background-color: #4242427c;
+
+ z-index: 90;
+`;
From ce415ea357992b57ce281aab6e6bf8449cf93c8d Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:17:43 +0900
Subject: [PATCH 056/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=ED=97=A4=EB=8D=94=20=EA=B5=AC?=
=?UTF-8?q?=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Sidebar/Header/index.tsx | 62 +++++++++++++++++++
1 file changed, 62 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/Header/index.tsx
diff --git a/src/components/common/Layout/Sidebar/Header/index.tsx b/src/components/common/Layout/Sidebar/Header/index.tsx
new file mode 100644
index 00000000..782980ab
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/Header/index.tsx
@@ -0,0 +1,62 @@
+import styled from '@emotion/styled';
+
+import hamberger from '@assets/icons/ic-sidebar-hamberger.svg';
+import logo from '@assets/icons/ic-logo.svg';
+
+const Header = ({ isSidebarOpen, setIsSidebarOpen }: SidebarHeader) => {
+ return (
+
+ setIsSidebarOpen(prev => !prev)}>
+
+
+ {isSidebarOpen && (
+
+ )}
+
+ );
+};
+export default Header;
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+`;
+
+const Hamberger = styled.button`
+ width: 3.75rem;
+ height: 3.75rem;
+
+ margin: 0.3125rem 0.625rem;
+ border: none;
+ border-radius: 1.25rem;
+
+ background-color: transparent;
+
+ cursor: pointer;
+
+ &:hover {
+ background-color: #e9eef6;
+ }
+`;
+
+const HambergerIcon = styled.img`
+ width: 1.875rem;
+ height: 1.25rem;
+`;
+
+const LogoIcon = styled.img`
+ width: 7.5rem;
+ height: 1.875rem;
+
+ margin-right: 1.8rem;
+`;
From 8b0cd3f0b715ecd00bb924cf3826e95d7419f73d Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:18:09 +0900
Subject: [PATCH 057/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=EB=84=A4=EB=B9=84=EA=B2=8C?=
=?UTF-8?q?=EC=9D=B4=EC=85=98=20(=EB=A9=94=EB=89=B4)=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Layout/Sidebar/Navigation/index.tsx | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/Navigation/index.tsx
diff --git a/src/components/common/Layout/Sidebar/Navigation/index.tsx b/src/components/common/Layout/Sidebar/Navigation/index.tsx
new file mode 100644
index 00000000..b337ec66
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/Navigation/index.tsx
@@ -0,0 +1,23 @@
+import styled from '@emotion/styled';
+
+import Coupon from './Coupon';
+import Settlements from './Settlements';
+
+const Navigation = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
+ return (
+
+
+
+
+ );
+};
+export default Navigation;
+
+const Container = styled.nav<{ $isSidebarOpen?: boolean }>`
+ width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
+
+ display: flex;
+ flex-direction: column;
+
+ font-size: ${props => (props.$isSidebarOpen ? '0.875rem' : '0.75rem')};
+`;
From bb8936f8dd78bc7e43ccba4708dda402af2d6993 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:18:27 +0900
Subject: [PATCH 058/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=EB=A9=94=EB=89=B4/=EC=BF=A0?=
=?UTF-8?q?=ED=8F=B0=20=ED=86=A0=EA=B8=80=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Sidebar/Navigation/Coupon/index.tsx | 159 ++++++++++++++++++
1 file changed, 159 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
new file mode 100644
index 00000000..df3a9dd9
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -0,0 +1,159 @@
+import { useEffect, useState } from 'react';
+import { useLocation, NavLink } from 'react-router-dom';
+import styled from '@emotion/styled';
+
+import CouponNav from './CouponNav';
+import toggle from '@assets/icons/ic-sidebar-toggle.svg';
+import coupon from '@assets/icons/ic-sidebar-coupon.svg';
+
+const Coupon = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
+ const [isToggleOpen, setIsToggleOpen] = useState(true);
+ const location = useLocation();
+ const userPath = location.pathname.split('/')[1];
+
+ useEffect(
+ () => (isSidebarOpen ? setIsToggleOpen(true) : setIsToggleOpen(false)),
+ [isSidebarOpen]
+ );
+
+ return (
+ e.preventDefault()
+ })}
+ end
+ >
+
+
+
+ 쿠폰
+
+ setIsToggleOpen(prev => !prev)}
+ >
+
+
+
+ {isSidebarOpen && }
+
+ );
+};
+
+export default Coupon;
+
+const Container = styled(NavLink)<{
+ $isSidebarOpen?: boolean;
+ $isToggleOpen?: boolean;
+ $userPath?: string;
+}>`
+ width: 100%;
+ height: ${props =>
+ props.$isSidebarOpen
+ ? props.$isToggleOpen
+ ? '15.635rem'
+ : '3.75rem'
+ : '5rem'};
+
+ margin: 0.3125rem 0;
+ border-radius: 0.6875rem;
+
+ display: flex;
+ flex-direction: column;
+
+ // HACK: 조건 단순화 필요
+ color: ${props =>
+ props.$userPath === 'coupons'
+ ? props.theme.colors.white
+ : props.$isToggleOpen
+ ? props.theme.colors.white
+ : props.theme.colors.black};
+
+ // HACK: 조건 단순화 필요
+ background-color: ${props =>
+ props.$userPath === 'coupons'
+ ? props.theme.colors.hover
+ : props.$isSidebarOpen
+ ? props.$isToggleOpen
+ ? props.theme.colors.ink100
+ : 'transparent'
+ : 'transparent'};
+
+ font-weight: ${props => props.theme.fontWeight.large};
+
+ overflow: hidden;
+ cursor: ${props => (props.$isSidebarOpen ? 'default' : 'pointer')};
+
+ transition: all 0.3s;
+
+ &:hover,
+ &.active {
+ color: ${props => props.theme.colors.white};
+ background-color: ${props => props.theme.colors.hover};
+ }
+`;
+
+const Header = styled.div<{
+ $isSidebarOpen?: boolean;
+ $isToggleOpen?: boolean;
+}>`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+
+ transition: all 0.3s;
+`;
+
+const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
+ width: 100%;
+ height: ${props => (props.$isSidebarOpen ? '3.75rem' : '4.6875rem')};
+
+ display: flex;
+ flex-direction: ${props => (props.$isSidebarOpen ? 'low' : 'column')};
+ justify-content: ${props => (props.$isSidebarOpen ? 'flex-start' : 'center')};
+ align-items: center;
+`;
+
+const Toggle = styled.button<{ $isSidebarOpen?: boolean }>`
+ width: 1.25rem;
+ height: 100%;
+
+ margin-right: 1.25rem;
+ border: none;
+
+ display: ${props => (props.$isSidebarOpen ? 'relative' : 'none')};
+
+ background-color: transparent;
+
+ cursor: pointer;
+`;
+
+const ToggleIcon = styled.img`
+ width: 0.9375rem;
+ height: 0.625rem;
+`;
+
+const CouponIcon = styled.img<{ $isSidebarOpen?: boolean }>`
+ width: 1.25rem;
+ height: 1.5625rem;
+
+ margin: ${props =>
+ props.$isSidebarOpen ? '0 0.625rem 0 1.5625rem' : '0.625rem'};
+`;
+
+const CouponText = styled.span``;
From 95c2be3065290ff9628353d6b3b3a67006115889 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:18:38 +0900
Subject: [PATCH 059/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=EB=A9=94=EB=89=B4/=EC=BF=A0?=
=?UTF-8?q?=ED=8F=B0=20=EB=84=A4=EB=B9=84=EA=B2=8C=EC=9D=B4=EC=85=98=20?=
=?UTF-8?q?=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Navigation/Coupon/CouponNav/index.tsx | 115 ++++++++++++++++++
1 file changed, 115 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
new file mode 100644
index 00000000..3df3cda8
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
@@ -0,0 +1,115 @@
+import styled from '@emotion/styled';
+import { NavLink } from 'react-router-dom';
+
+import home from '@assets/icons/ic-sidebar-home.svg';
+import coupons from '@assets/icons/ic-sidebar-coupons.svg';
+import couponRegister from '@assets/icons/ic-sidebar-couponRegister.svg';
+
+const CouponNav = () => {
+ return (
+
+
+
+ 홈
+
+
+
+ 쿠폰 조회
+
+
+
+ 쿠폰 등록
+
+
+ );
+};
+export default CouponNav;
+
+const Container = styled.nav`
+ width: 100%;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ font-size: 0.875rem;
+
+ &:hover {
+ color: ${props => props.theme.colors.white};
+ }
+
+ &:last-child {
+ margin-bottom: 0.625rem;
+ }
+`;
+
+const Link = styled(NavLink)`
+ width: 11.875rem;
+ height: 3.125rem;
+
+ margin: 0.3125rem;
+ border-radius: 0.9375rem;
+ padding: 0.625rem 0.75rem;
+
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+
+ color: ${props => props.theme.colors.white};
+
+ font-size: 0.875rem;
+ font-weight: 400;
+
+ box-sizing: border-box;
+
+ cursor: pointer;
+
+ transition: all 0.1s;
+
+ &:hover,
+ &.active {
+ color: ${props => props.theme.colors.white};
+ background-color: rgba(255, 255, 255, 0.3);
+ }
+`;
+
+const HomeIcon = styled.img`
+ width: 1.5rem;
+ height: 1.5rem;
+
+ margin-right: 0.9375rem;
+`;
+
+const CouponsIcon = styled.img`
+ width: 1.5rem;
+ height: 1.5rem;
+
+ margin-right: 0.9375rem;
+`;
+
+const CouponRegisterIcon = styled.img`
+ width: 1.5rem;
+ height: 1.5rem;
+
+ margin-right: 0.9375rem;
+`;
+
+const Text = styled.span``;
From 8fdecff68d94f6ffa2a3a97a32583bfc035630a9 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:18:52 +0900
Subject: [PATCH 060/843] =?UTF-8?q?feat:=20=EA=B3=B5=ED=86=B5=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=EB=93=9C=EB=B0=94=20=EB=A9=94=EB=89=B4/=EC=A0=95?=
=?UTF-8?q?=EC=82=B0=20=EB=84=A4=EB=B9=84=EA=B2=8C=EC=9D=B4=EC=85=98=20?=
=?UTF-8?q?=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Sidebar/Navigation/Settlements/index.tsx | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
new file mode 100644
index 00000000..4579b458
--- /dev/null
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -0,0 +1,69 @@
+import { NavLink } from 'react-router-dom';
+import styled from '@emotion/styled';
+
+import settlement from '@assets/icons/ic-sidebar-settlement.svg';
+
+const Settlements = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
+ return (
+
+
+
+ 정산관리
+
+
+ );
+};
+export default Settlements;
+
+const Container = styled(NavLink)<{ $isSidebarOpen?: boolean }>`
+ width: 100%;
+ height: ${props => (props.$isSidebarOpen ? '3.75rem' : '5rem')};
+
+ margin: 0.3125rem 0;
+ border-radius: 1.25rem;
+
+ color: ${props => props.theme.colors.black};
+
+ font-weight: ${props => props.theme.fontWeight.large};
+
+ cursor: pointer;
+
+ transition: all 0.3s;
+
+ &:hover,
+ &.active {
+ color: ${props => props.theme.colors.white};
+ background-color: ${props => props.theme.colors.hover};
+ }
+
+ &:link {
+ text-decoration: none;
+ }
+`;
+
+const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
+ width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
+ height: 100%;
+
+ display: flex;
+ flex-direction: ${props => (props.$isSidebarOpen ? 'low' : 'column')};
+ justify-content: ${props => (props.$isSidebarOpen ? 'flex-start' : 'center')};
+ align-items: center;
+`;
+
+const SettlementsIcon = styled.img<{ $isSidebarOpen?: boolean }>`
+ width: 1.5625rem;
+ height: 1.25rem;
+
+ margin: ${props =>
+ props.$isSidebarOpen ? '0 0.625rem 0 1.4375rem' : '0.625rem'};
+`;
+
+const SettlementsText = styled.span``;
From 9eac297cb57aad2354ee3f924e79aeefd4adef46 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 15:22:48 +0900
Subject: [PATCH 061/843] =?UTF-8?q?chore:=20page,=20components=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EA=B5=AC=EC=A1=B0=20=EC=98=88=EC=8B=9C=20=ED=83=80?=
=?UTF-8?q?=EC=9E=85=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ExampleFoo/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/ExampleFoo/index.tsx b/src/components/ExampleFoo/index.tsx
index 6011ccbb..beab898f 100644
--- a/src/components/ExampleFoo/index.tsx
+++ b/src/components/ExampleFoo/index.tsx
@@ -4,7 +4,7 @@ import ExampleBaz from './ExampleBaz';
import ExampleToast from '@components/common/ExampleToast';
const ExampleFoo = () => {
- const example: useExampleType = useExample();
+ const example = useExample();
return (
<>
From 8a043cebff508545c97156b4e11298d8764d8175 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 16:53:51 +0900
Subject: [PATCH 062/843] =?UTF-8?q?design:=20=EC=82=AC=EC=9D=B4=EB=93=9C?=
=?UTF-8?q?=20=EB=B0=94=20border=20=ED=86=B5=EC=9D=BC=20=EB=B0=8F=20transi?=
=?UTF-8?q?tion=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Sidebar/Header/index.tsx | 4 +++-
.../Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx | 4 ++--
.../common/Layout/Sidebar/Navigation/Settlements/index.tsx | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Header/index.tsx b/src/components/common/Layout/Sidebar/Header/index.tsx
index 782980ab..b7f3f6ae 100644
--- a/src/components/common/Layout/Sidebar/Header/index.tsx
+++ b/src/components/common/Layout/Sidebar/Header/index.tsx
@@ -38,12 +38,14 @@ const Hamberger = styled.button`
margin: 0.3125rem 0.625rem;
border: none;
- border-radius: 1.25rem;
+ border-radius: 0.6875rem;
background-color: transparent;
cursor: pointer;
+ transition: all 0.3s;
+
&:hover {
background-color: #e9eef6;
}
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
index 3df3cda8..e4246b12 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
@@ -66,7 +66,7 @@ const Link = styled(NavLink)`
height: 3.125rem;
margin: 0.3125rem;
- border-radius: 0.9375rem;
+ border-radius: 0.6875rem;
padding: 0.625rem 0.75rem;
display: flex;
@@ -82,7 +82,7 @@ const Link = styled(NavLink)`
cursor: pointer;
- transition: all 0.1s;
+ transition: all 0.3s;
&:hover,
&.active {
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index 4579b458..937c9877 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -27,7 +27,7 @@ const Container = styled(NavLink)<{ $isSidebarOpen?: boolean }>`
height: ${props => (props.$isSidebarOpen ? '3.75rem' : '5rem')};
margin: 0.3125rem 0;
- border-radius: 1.25rem;
+ border-radius: 0.6875rem;
color: ${props => props.theme.colors.black};
From 6bc132c9e7d4c5ac240e7f2a28c1ed62ce1b2466 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 17:05:55 +0900
Subject: [PATCH 063/843] =?UTF-8?q?design:=20low=20=EC=98=A4=ED=83=80=20ro?=
=?UTF-8?q?w=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
---
.../Sidebar/Navigation/Coupon/index.tsx | 19 ++++++++++++-------
.../Sidebar/Navigation/Settlements/index.tsx | 2 +-
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index df3a9dd9..334f2a96 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -76,12 +76,17 @@ const Container = styled(NavLink)<{
flex-direction: column;
// HACK: 조건 단순화 필요
- color: ${props =>
- props.$userPath === 'coupons'
- ? props.theme.colors.white
- : props.$isToggleOpen
- ? props.theme.colors.white
- : props.theme.colors.black};
+ color: ${props => {
+ if (props.$userPath === 'coupons') {
+ return props.theme.colors.white;
+ } else {
+ if (props.$isToggleOpen) {
+ return props.theme.colors.white;
+ } else {
+ return props.theme.colors.black;
+ }
+ }
+ }};
// HACK: 조건 단순화 필요
background-color: ${props =>
@@ -124,7 +129,7 @@ const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
height: ${props => (props.$isSidebarOpen ? '3.75rem' : '4.6875rem')};
display: flex;
- flex-direction: ${props => (props.$isSidebarOpen ? 'low' : 'column')};
+ flex-direction: ${props => (props.$isSidebarOpen ? 'row' : 'column')};
justify-content: ${props => (props.$isSidebarOpen ? 'flex-start' : 'center')};
align-items: center;
`;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index 937c9877..b8b30752 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -53,7 +53,7 @@ const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
height: 100%;
display: flex;
- flex-direction: ${props => (props.$isSidebarOpen ? 'low' : 'column')};
+ flex-direction: ${props => (props.$isSidebarOpen ? 'row' : 'column')};
justify-content: ${props => (props.$isSidebarOpen ? 'flex-start' : 'center')};
align-items: center;
`;
From a44c55597950347c117239a65d66da1a1ae59d6c Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 18:00:07 +0900
Subject: [PATCH 064/843] =?UTF-8?q?design:=20box-sizing:=20border-box;=20?=
=?UTF-8?q?=EC=9D=BC=EA=B4=84=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Header/index.tsx | 4 +---
src/components/common/Layout/Sidebar/index.tsx | 1 -
src/styles/GlobalStyle.tsx | 6 ++++++
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/components/common/Layout/Header/index.tsx b/src/components/common/Layout/Header/index.tsx
index 7dd2a58e..6b35d2d0 100644
--- a/src/components/common/Layout/Header/index.tsx
+++ b/src/components/common/Layout/Header/index.tsx
@@ -70,8 +70,6 @@ const Container = styled.header`
justify-content: space-between;
background-color: ${props => props.theme.colors.white};
-
- box-sizing: border-box;
`;
const LogoLink = styled(NavLink)`
@@ -95,7 +93,7 @@ const Accommodations = styled.select`
const Accommodation = styled.option``;
const UserIcon = styled.img`
- width: 2.5rem;
+ width: 0.31rem;
height: 2.5rem;
border-radius: 50%;
diff --git a/src/components/common/Layout/Sidebar/index.tsx b/src/components/common/Layout/Sidebar/index.tsx
index 7a8cb1b1..da781c71 100644
--- a/src/components/common/Layout/Sidebar/index.tsx
+++ b/src/components/common/Layout/Sidebar/index.tsx
@@ -36,7 +36,6 @@ const Container = styled.div<{ $isSidebarOpen?: boolean }>`
background-color: ${props => props.theme.colors.white};
- box-sizing: border-box;
overflow: hidden;
// HACK: z-index 상수화 (const enum, as const 학습 후 적용)
z-index: 100;
diff --git a/src/styles/GlobalStyle.tsx b/src/styles/GlobalStyle.tsx
index 08ce9058..431bc147 100644
--- a/src/styles/GlobalStyle.tsx
+++ b/src/styles/GlobalStyle.tsx
@@ -142,4 +142,10 @@ const resetCSS = css`
color: ${theme.colors.black};
background: ${theme.colors.background};
}
+
+ *,
+ *::before,
+ *::after {
+ box-sizing: border-box;
+ }
`;
From 5149444c95e30cb8bf2181e0474264595444239a Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 18:18:19 +0900
Subject: [PATCH 065/843] =?UTF-8?q?design:=20=EC=8A=A4=ED=83=80=EC=9D=BC?=
=?UTF-8?q?=20=EC=97=86=EB=8A=94=20=ED=83=9C=EA=B7=B8=20emotion=EC=97=90?=
=?UTF-8?q?=EC=84=9C=20=EC=9D=BC=EB=B0=98=20=ED=83=9C=EA=B7=B8=EB=A1=9C=20?=
=?UTF-8?q?=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Header/index.tsx | 6 ++--
.../Navigation/Coupon/CouponNav/index.tsx | 8 ++----
.../Sidebar/Navigation/Coupon/index.tsx | 28 +++++++------------
.../Sidebar/Navigation/Settlements/index.tsx | 4 +--
4 files changed, 16 insertions(+), 30 deletions(-)
diff --git a/src/components/common/Layout/Header/index.tsx b/src/components/common/Layout/Header/index.tsx
index 6b35d2d0..606ca6b4 100644
--- a/src/components/common/Layout/Header/index.tsx
+++ b/src/components/common/Layout/Header/index.tsx
@@ -37,12 +37,12 @@ const Header = () => {
value={selected}
>
{selectList.map(item => (
-
{item}
-
+
))}
@@ -90,8 +90,6 @@ const Accommodations = styled.select`
margin-right: 2rem;
`;
-const Accommodation = styled.option``;
-
const UserIcon = styled.img`
width: 0.31rem;
height: 2.5rem;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
index e4246b12..aed94675 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
@@ -16,7 +16,7 @@ const CouponNav = () => {
src={home}
alt="홈"
/>
- 홈
+ 홈
{
src={coupons}
alt="쿠폰 조회"
/>
- 쿠폰 조회
+ 쿠폰 조회
{
src={couponRegister}
alt="쿠폰 등록"
/>
- 쿠폰 등록
+ 쿠폰 등록
);
@@ -111,5 +111,3 @@ const CouponRegisterIcon = styled.img`
margin-right: 0.9375rem;
`;
-
-const Text = styled.span``;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 334f2a96..cf17dfd5 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -37,7 +37,7 @@ const Coupon = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
alt="쿠폰"
$isSidebarOpen={isSidebarOpen}
/>
- 쿠폰
+ 쿠폰
{
export default Coupon;
const Container = styled(NavLink)<{
- $isSidebarOpen?: boolean;
- $isToggleOpen?: boolean;
- $userPath?: string;
+ $isSidebarOpen: boolean;
+ $isToggleOpen: boolean;
+ $userPath: string;
}>`
width: 100%;
height: ${props =>
@@ -75,18 +75,12 @@ const Container = styled(NavLink)<{
display: flex;
flex-direction: column;
- // HACK: 조건 단순화 필요
- color: ${props => {
- if (props.$userPath === 'coupons') {
- return props.theme.colors.white;
- } else {
- if (props.$isToggleOpen) {
- return props.theme.colors.white;
- } else {
- return props.theme.colors.black;
- }
- }
- }};
+ color: ${props =>
+ props.$userPath === 'coupons'
+ ? props.theme.colors.white
+ : props.$isToggleOpen
+ ? props.theme.colors.white
+ : props.theme.colors.black};
// HACK: 조건 단순화 필요
background-color: ${props =>
@@ -160,5 +154,3 @@ const CouponIcon = styled.img<{ $isSidebarOpen?: boolean }>`
margin: ${props =>
props.$isSidebarOpen ? '0 0.625rem 0 1.5625rem' : '0.625rem'};
`;
-
-const CouponText = styled.span``;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index b8b30752..4aaa822b 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -15,7 +15,7 @@ const Settlements = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
alt="정산관리"
$isSidebarOpen={isSidebarOpen}
/>
- 정산관리
+ 정산관리
);
@@ -65,5 +65,3 @@ const SettlementsIcon = styled.img<{ $isSidebarOpen?: boolean }>`
margin: ${props =>
props.$isSidebarOpen ? '0 0.625rem 0 1.4375rem' : '0.625rem'};
`;
-
-const SettlementsText = styled.span``;
From 2fa39a5acde4ea3a01801c8605f4f7ab7a485a22 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 18:49:02 +0900
Subject: [PATCH 066/843] =?UTF-8?q?chore:=20Example=20=EC=82=AD=EC=A0=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ExampleFoo/ExampleBar/index.tsx | 5 -----
.../ExampleFoo/ExampleBaz/index.tsx | 5 -----
src/components/ExampleFoo/index.tsx | 19 -------------------
src/components/common/ExampleToast/index.tsx | 5 -----
src/components/index.tsx | 2 +-
src/pages/.gitkeep | 0
src/pages/Example/index.tsx | 13 -------------
src/pages/index.tsx | 1 -
8 files changed, 1 insertion(+), 49 deletions(-)
delete mode 100644 src/components/ExampleFoo/ExampleBar/index.tsx
delete mode 100644 src/components/ExampleFoo/ExampleBaz/index.tsx
delete mode 100644 src/components/ExampleFoo/index.tsx
delete mode 100644 src/components/common/ExampleToast/index.tsx
create mode 100644 src/pages/.gitkeep
delete mode 100644 src/pages/Example/index.tsx
delete mode 100644 src/pages/index.tsx
diff --git a/src/components/ExampleFoo/ExampleBar/index.tsx b/src/components/ExampleFoo/ExampleBar/index.tsx
deleted file mode 100644
index 886acfe8..00000000
--- a/src/components/ExampleFoo/ExampleBar/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-const ExampleBar = () => {
- return <>>;
-};
-
-export default ExampleBar;
diff --git a/src/components/ExampleFoo/ExampleBaz/index.tsx b/src/components/ExampleFoo/ExampleBaz/index.tsx
deleted file mode 100644
index ed33a8b8..00000000
--- a/src/components/ExampleFoo/ExampleBaz/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-const ExampleBaz = () => {
- return <>>;
-};
-
-export default ExampleBaz;
diff --git a/src/components/ExampleFoo/index.tsx b/src/components/ExampleFoo/index.tsx
deleted file mode 100644
index beab898f..00000000
--- a/src/components/ExampleFoo/index.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { useExample } from '@hooks/index';
-import ExampleBar from './ExampleBar';
-import ExampleBaz from './ExampleBaz';
-import ExampleToast from '@components/common/ExampleToast';
-
-const ExampleFoo = () => {
- const example = useExample();
-
- return (
- <>
- {example}
-
-
-
- >
- );
-};
-
-export default ExampleFoo;
diff --git a/src/components/common/ExampleToast/index.tsx b/src/components/common/ExampleToast/index.tsx
deleted file mode 100644
index 5c669dc2..00000000
--- a/src/components/common/ExampleToast/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-const ExampleToast = () => {
- return <>>;
-};
-
-export default ExampleToast;
diff --git a/src/components/index.tsx b/src/components/index.tsx
index 1da8cdf7..01606592 100644
--- a/src/components/index.tsx
+++ b/src/components/index.tsx
@@ -1 +1 @@
-export { default as ExampleFoo } from './ExampleFoo';
+export { default as ExampleFoo } from './Example/ExampleFoo';
diff --git a/src/pages/.gitkeep b/src/pages/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/pages/Example/index.tsx b/src/pages/Example/index.tsx
deleted file mode 100644
index 2f96f1c6..00000000
--- a/src/pages/Example/index.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { ExampleFoo } from '@components/index';
-import { ExampleToast } from '@components/common';
-
-const Example = () => {
- return (
- <>
-
-
- >
- );
-};
-
-export default Example;
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
deleted file mode 100644
index 5415efe6..00000000
--- a/src/pages/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { default as Example } from './Example';
From fa65a5ed8177bea5ca943cc7bfa99c5c62f0b45c Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 18:49:17 +0900
Subject: [PATCH 067/843] =?UTF-8?q?fix:=20=EC=82=BC=ED=95=AD=20=EC=97=B0?=
=?UTF-8?q?=EC=82=B0=EC=9E=90=20=EA=B0=80=EB=8F=85=EC=84=B1=20=ED=96=A5?=
=?UTF-8?q?=EC=83=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Sidebar/Navigation/Coupon/index.tsx | 32 +++++++++++--------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index cf17dfd5..4b6f554f 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -75,22 +75,26 @@ const Container = styled(NavLink)<{
display: flex;
flex-direction: column;
- color: ${props =>
- props.$userPath === 'coupons'
- ? props.theme.colors.white
- : props.$isToggleOpen
- ? props.theme.colors.white
- : props.theme.colors.black};
+ color: ${props => {
+ if (props.$userPath === 'coupons') {
+ return props.theme.colors.white;
+ } else if (props.$isToggleOpen) {
+ return props.theme.colors.white;
+ } else {
+ return props.theme.colors.black;
+ }
+ }};
// HACK: 조건 단순화 필요
- background-color: ${props =>
- props.$userPath === 'coupons'
- ? props.theme.colors.hover
- : props.$isSidebarOpen
- ? props.$isToggleOpen
- ? props.theme.colors.ink100
- : 'transparent'
- : 'transparent'};
+ background-color: ${props => {
+ if (props.$userPath === 'coupons') {
+ return props.theme.colors.hover;
+ } else if (props.$isSidebarOpen) {
+ return props.$isToggleOpen ? props.theme.colors.ink100 : 'transparent';
+ } else {
+ return 'transparent';
+ }
+ }};
font-weight: ${props => props.theme.fontWeight.large};
From dab43cf8f341e293ff8fd8ee8a2e0db196341362 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 19:07:10 +0900
Subject: [PATCH 068/843] =?UTF-8?q?fix:=20=EC=82=AC=EC=9D=B4=EB=93=9C=20?=
=?UTF-8?q?=EB=B0=94=20style=20props=20=ED=83=80=EC=9E=85=20=EC=A7=80?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Layout/Sidebar/Navigation/Coupon/index.tsx | 17 +++++------------
.../Sidebar/Navigation/Settlements/index.tsx | 6 +++---
.../common/Layout/Sidebar/Navigation/index.tsx | 2 +-
src/components/common/Layout/Sidebar/index.tsx | 2 +-
src/types/sidebar.d.ts | 10 ++++++++++
5 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 4b6f554f..966d24fb 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -56,11 +56,7 @@ const Coupon = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
export default Coupon;
-const Container = styled(NavLink)<{
- $isSidebarOpen: boolean;
- $isToggleOpen: boolean;
- $userPath: string;
-}>`
+const Container = styled(NavLink)`
width: 100%;
height: ${props =>
props.$isSidebarOpen
@@ -110,10 +106,7 @@ const Container = styled(NavLink)<{
}
`;
-const Header = styled.div<{
- $isSidebarOpen?: boolean;
- $isToggleOpen?: boolean;
-}>`
+const Header = styled.div`
width: 100%;
height: 100%;
@@ -122,7 +115,7 @@ const Header = styled.div<{
transition: all 0.3s;
`;
-const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
+const Contents = styled.div`
width: 100%;
height: ${props => (props.$isSidebarOpen ? '3.75rem' : '4.6875rem')};
@@ -132,7 +125,7 @@ const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
align-items: center;
`;
-const Toggle = styled.button<{ $isSidebarOpen?: boolean }>`
+const Toggle = styled.button`
width: 1.25rem;
height: 100%;
@@ -151,7 +144,7 @@ const ToggleIcon = styled.img`
height: 0.625rem;
`;
-const CouponIcon = styled.img<{ $isSidebarOpen?: boolean }>`
+const CouponIcon = styled.img`
width: 1.25rem;
height: 1.5625rem;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index 4aaa822b..3b046332 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -22,7 +22,7 @@ const Settlements = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
};
export default Settlements;
-const Container = styled(NavLink)<{ $isSidebarOpen?: boolean }>`
+const Container = styled(NavLink)`
width: 100%;
height: ${props => (props.$isSidebarOpen ? '3.75rem' : '5rem')};
@@ -48,7 +48,7 @@ const Container = styled(NavLink)<{ $isSidebarOpen?: boolean }>`
}
`;
-const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
+const Contents = styled.div`
width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
height: 100%;
@@ -58,7 +58,7 @@ const Contents = styled.div<{ $isSidebarOpen?: boolean }>`
align-items: center;
`;
-const SettlementsIcon = styled.img<{ $isSidebarOpen?: boolean }>`
+const SettlementsIcon = styled.img`
width: 1.5625rem;
height: 1.25rem;
diff --git a/src/components/common/Layout/Sidebar/Navigation/index.tsx b/src/components/common/Layout/Sidebar/Navigation/index.tsx
index b337ec66..489cfc61 100644
--- a/src/components/common/Layout/Sidebar/Navigation/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/index.tsx
@@ -13,7 +13,7 @@ const Navigation = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
};
export default Navigation;
-const Container = styled.nav<{ $isSidebarOpen?: boolean }>`
+const Container = styled.nav`
width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
display: flex;
diff --git a/src/components/common/Layout/Sidebar/index.tsx b/src/components/common/Layout/Sidebar/index.tsx
index da781c71..194cd708 100644
--- a/src/components/common/Layout/Sidebar/index.tsx
+++ b/src/components/common/Layout/Sidebar/index.tsx
@@ -26,7 +26,7 @@ const Sidebar = () => {
};
export default Sidebar;
-const Container = styled.div<{ $isSidebarOpen?: boolean }>`
+const Container = styled.div`
position: fixed;
width: ${props => (props.$isSidebarOpen ? '15.625rem' : '6.25rem')};
diff --git a/src/types/sidebar.d.ts b/src/types/sidebar.d.ts
index 9c893e0d..dbc3d95d 100644
--- a/src/types/sidebar.d.ts
+++ b/src/types/sidebar.d.ts
@@ -2,3 +2,13 @@ type SidebarHeader = {
isSidebarOpen: boolean;
setIsSidebarOpen: React.Dispatch>;
};
+
+type SidebarStyleProps = {
+ $isSidebarOpen: boolean;
+ $isToggleOpen: boolean;
+ $userPath: string;
+};
+
+type SidebarOpen = Pick;
+type ToggleOpen = Pick;
+type Opens = Omit;
From 63707f673dff2a8909c5ce90a525b1855cecad27 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 19:10:30 +0900
Subject: [PATCH 069/843] =?UTF-8?q?chore:=20components=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20export=20=EC=98=88?=
=?UTF-8?q?=EC=8B=9C=20=EC=9E=91=EC=84=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/index.tsx | 1 -
src/components/index.tsx | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/components/common/index.tsx b/src/components/common/index.tsx
index 49c170ff..6c48faec 100644
--- a/src/components/common/index.tsx
+++ b/src/components/common/index.tsx
@@ -1,2 +1 @@
-export { default as ExampleToast } from './ExampleToast';
export { default as Layout } from './Layout';
diff --git a/src/components/index.tsx b/src/components/index.tsx
index 01606592..567e60aa 100644
--- a/src/components/index.tsx
+++ b/src/components/index.tsx
@@ -1 +1 @@
-export { default as ExampleFoo } from './Example/ExampleFoo';
+// export { default as ExampleFoo } from './Login/LiginInputs';
From bd6ed1cda04b1041eed36555dc97bfff14d73952 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 19:28:21 +0900
Subject: [PATCH 070/843] =?UTF-8?q?fix:=20=EA=B0=9C=ED=96=89=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Sidebar/Header/index.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/components/common/Layout/Sidebar/Header/index.tsx b/src/components/common/Layout/Sidebar/Header/index.tsx
index b7f3f6ae..2710474d 100644
--- a/src/components/common/Layout/Sidebar/Header/index.tsx
+++ b/src/components/common/Layout/Sidebar/Header/index.tsx
@@ -21,6 +21,7 @@ const Header = ({ isSidebarOpen, setIsSidebarOpen }: SidebarHeader) => {
);
};
+
export default Header;
const Container = styled.div`
From a7dda3cd5287cb281859b016aa797e2a5baed692 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 19:36:15 +0900
Subject: [PATCH 071/843] =?UTF-8?q?fix:=20Container,=20height=20if=20else?=
=?UTF-8?q?=20=EB=AC=B8=EC=9C=BC=EB=A1=9C=20=EA=B0=80=EB=8F=85=EC=84=B1=20?=
=?UTF-8?q?=ED=96=A5=EC=83=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Layout/Sidebar/Navigation/Coupon/index.tsx | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 966d24fb..9226819b 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -58,12 +58,15 @@ export default Coupon;
const Container = styled(NavLink)`
width: 100%;
- height: ${props =>
- props.$isSidebarOpen
- ? props.$isToggleOpen
- ? '15.635rem'
- : '3.75rem'
- : '5rem'};
+ height: ${props => {
+ if (!props.$isSidebarOpen) {
+ return '5rem';
+ } else if (props.$isToggleOpen) {
+ return '15.635rem';
+ } else {
+ return '3.75rem';
+ }
+ }};
margin: 0.3125rem 0;
border-radius: 0.6875rem;
From bc56c323c3fa1414d7a494fe447094ef91dc18cb Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 19:42:41 +0900
Subject: [PATCH 072/843] =?UTF-8?q?fix:=20export=20default=20=EA=B0=9C?=
=?UTF-8?q?=ED=96=89=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx | 1 +
.../common/Layout/Sidebar/Navigation/Settlements/index.tsx | 1 +
src/components/common/Layout/Sidebar/Navigation/index.tsx | 1 +
src/components/common/Layout/Sidebar/index.tsx | 1 +
4 files changed, 4 insertions(+)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
index aed94675..cf749831 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
@@ -41,6 +41,7 @@ const CouponNav = () => {
);
};
+
export default CouponNav;
const Container = styled.nav`
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index 3b046332..f815fed8 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -20,6 +20,7 @@ const Settlements = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
);
};
+
export default Settlements;
const Container = styled(NavLink)`
diff --git a/src/components/common/Layout/Sidebar/Navigation/index.tsx b/src/components/common/Layout/Sidebar/Navigation/index.tsx
index 489cfc61..37afa9b8 100644
--- a/src/components/common/Layout/Sidebar/Navigation/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/index.tsx
@@ -11,6 +11,7 @@ const Navigation = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
);
};
+
export default Navigation;
const Container = styled.nav`
diff --git a/src/components/common/Layout/Sidebar/index.tsx b/src/components/common/Layout/Sidebar/index.tsx
index 194cd708..72ea94c3 100644
--- a/src/components/common/Layout/Sidebar/index.tsx
+++ b/src/components/common/Layout/Sidebar/index.tsx
@@ -24,6 +24,7 @@ const Sidebar = () => {
>
);
};
+
export default Sidebar;
const Container = styled.div`
From 4bf7c45d3ae15957231323f4fec71279a860fd05 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Tue, 9 Jan 2024 21:49:15 +0900
Subject: [PATCH 073/843] =?UTF-8?q?feat:=20toRem=20=EC=9C=A0=ED=8B=B8?=
=?UTF-8?q?=EB=A6=AC=ED=8B=B0=20=ED=95=A8=EC=88=98=20=EC=84=B8=ED=8C=85=20?=
=?UTF-8?q?=EB=B0=8F=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/Header/index.tsx | 19 ++++----
.../common/Layout/Sidebar/Header/index.tsx | 19 ++++----
.../Navigation/Coupon/CouponNav/index.tsx | 45 +++++++------------
.../Sidebar/Navigation/Coupon/index.tsx | 27 +++++------
.../Sidebar/Navigation/Settlements/index.tsx | 15 ++++---
.../Layout/Sidebar/Navigation/index.tsx | 5 ++-
.../common/Layout/Sidebar/index.tsx | 7 +--
src/components/common/Layout/index.tsx | 9 ++--
src/utils/index.ts | 1 +
src/utils/lib/toRem.ts | 3 ++
10 files changed, 74 insertions(+), 76 deletions(-)
create mode 100644 src/utils/lib/toRem.ts
diff --git a/src/components/common/Layout/Header/index.tsx b/src/components/common/Layout/Header/index.tsx
index 606ca6b4..8b313168 100644
--- a/src/components/common/Layout/Header/index.tsx
+++ b/src/components/common/Layout/Header/index.tsx
@@ -5,6 +5,7 @@ import styled from '@emotion/styled';
import logo from '@assets/icons/ic-logo.svg';
// HACK: 디자이너에게 유저 아이콘 다시 받을 예정
import user from '@assets/icons/ic-header-user.svg';
+import { toRem } from '@utils/index';
const Header = () => {
// HACK: 예시 데이터, 백엔드에 리스트로 넘겨 받기
@@ -59,11 +60,11 @@ export default Header;
const Container = styled.header`
width: 100%;
- height: 5.3rem;
+ height: ${toRem(85)};
- border-radius: 1.25rem;
- padding: 1.25rem;
- padding-left: 1.875rem;
+ border-radius: ${toRem(20)};
+ padding: ${toRem(20)};
+ padding-left: ${toRem(30)};
display: flex;
align-items: center;
@@ -73,8 +74,8 @@ const Container = styled.header`
`;
const LogoLink = styled(NavLink)`
- width: 8.75rem;
- height: 1.875rem;
+ width: ${toRem(140)};
+ height: ${toRem(30)};
`;
const LogoIcon = styled.img`
@@ -87,12 +88,12 @@ const Buttons = styled.div`
`;
const Accommodations = styled.select`
- margin-right: 2rem;
+ margin-right: ${toRem(32)};
`;
const UserIcon = styled.img`
- width: 0.31rem;
- height: 2.5rem;
+ width: ${toRem(40)};
+ height: ${toRem(40)};
border-radius: 50%;
`;
diff --git a/src/components/common/Layout/Sidebar/Header/index.tsx b/src/components/common/Layout/Sidebar/Header/index.tsx
index 2710474d..e31b82cb 100644
--- a/src/components/common/Layout/Sidebar/Header/index.tsx
+++ b/src/components/common/Layout/Sidebar/Header/index.tsx
@@ -2,6 +2,7 @@ import styled from '@emotion/styled';
import hamberger from '@assets/icons/ic-sidebar-hamberger.svg';
import logo from '@assets/icons/ic-logo.svg';
+import { toRem } from '@utils/index';
const Header = ({ isSidebarOpen, setIsSidebarOpen }: SidebarHeader) => {
return (
@@ -34,12 +35,12 @@ const Container = styled.div`
`;
const Hamberger = styled.button`
- width: 3.75rem;
- height: 3.75rem;
+ width: ${toRem(60)};
+ height: ${toRem(60)};
- margin: 0.3125rem 0.625rem;
+ margin: ${toRem(5)} ${toRem(10)};
border: none;
- border-radius: 0.6875rem;
+ border-radius: ${toRem(11)};
background-color: transparent;
@@ -53,13 +54,13 @@ const Hamberger = styled.button`
`;
const HambergerIcon = styled.img`
- width: 1.875rem;
- height: 1.25rem;
+ width: ${toRem(30)};
+ height: ${toRem(20)};
`;
const LogoIcon = styled.img`
- width: 7.5rem;
- height: 1.875rem;
+ width: ${toRem(120)};
+ height: ${toRem(30)};
- margin-right: 1.8rem;
+ margin-right: ${toRem(30)};
`;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
index cf749831..d3598f6e 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/CouponNav/index.tsx
@@ -4,6 +4,7 @@ import { NavLink } from 'react-router-dom';
import home from '@assets/icons/ic-sidebar-home.svg';
import coupons from '@assets/icons/ic-sidebar-coupons.svg';
import couponRegister from '@assets/icons/ic-sidebar-couponRegister.svg';
+import { toRem } from '@utils/index';
const CouponNav = () => {
return (
@@ -12,7 +13,7 @@ const CouponNav = () => {
to="/"
end
>
-
@@ -22,7 +23,7 @@ const CouponNav = () => {
to="/coupons"
end
>
-
@@ -32,7 +33,7 @@ const CouponNav = () => {
to="/coupons/register"
end
>
-
@@ -51,24 +52,24 @@ const Container = styled.nav`
flex-direction: column;
align-items: center;
- font-size: 0.875rem;
+ font-size: ${toRem(14)};
&:hover {
color: ${props => props.theme.colors.white};
}
&:last-child {
- margin-bottom: 0.625rem;
+ margin-bottom: ${toRem(10)};
}
`;
const Link = styled(NavLink)`
- width: 11.875rem;
- height: 3.125rem;
+ width: ${toRem(190)};
+ height: ${toRem(50)};
- margin: 0.3125rem;
- border-radius: 0.6875rem;
- padding: 0.625rem 0.75rem;
+ margin: ${toRem(5)};
+ border-radius: ${toRem(11)};
+ padding: ${toRem(10)} ${toRem(12)};
display: flex;
justify-content: flex-start;
@@ -76,7 +77,7 @@ const Link = styled(NavLink)`
color: ${props => props.theme.colors.white};
- font-size: 0.875rem;
+ font-size: ${toRem(14)};
font-weight: 400;
box-sizing: border-box;
@@ -92,23 +93,9 @@ const Link = styled(NavLink)`
}
`;
-const HomeIcon = styled.img`
- width: 1.5rem;
- height: 1.5rem;
+const Icon = styled.img`
+ width: ${toRem(24)};
+ height: ${toRem(24)};
- margin-right: 0.9375rem;
-`;
-
-const CouponsIcon = styled.img`
- width: 1.5rem;
- height: 1.5rem;
-
- margin-right: 0.9375rem;
-`;
-
-const CouponRegisterIcon = styled.img`
- width: 1.5rem;
- height: 1.5rem;
-
- margin-right: 0.9375rem;
+ margin-right: ${toRem(15)};
`;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 9226819b..71ab83c1 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -5,6 +5,7 @@ import styled from '@emotion/styled';
import CouponNav from './CouponNav';
import toggle from '@assets/icons/ic-sidebar-toggle.svg';
import coupon from '@assets/icons/ic-sidebar-coupon.svg';
+import { toRem } from '@utils/index';
const Coupon = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
const [isToggleOpen, setIsToggleOpen] = useState(true);
@@ -60,16 +61,16 @@ const Container = styled(NavLink)`
width: 100%;
height: ${props => {
if (!props.$isSidebarOpen) {
- return '5rem';
+ return toRem(80);
} else if (props.$isToggleOpen) {
- return '15.635rem';
+ return toRem(250);
} else {
- return '3.75rem';
+ return toRem(60);
}
}};
- margin: 0.3125rem 0;
- border-radius: 0.6875rem;
+ margin: ${toRem(5)} 0;
+ border-radius: ${toRem(11)};
display: flex;
flex-direction: column;
@@ -120,7 +121,7 @@ const Header = styled.div`
const Contents = styled.div`
width: 100%;
- height: ${props => (props.$isSidebarOpen ? '3.75rem' : '4.6875rem')};
+ height: ${props => (props.$isSidebarOpen ? toRem(60) : toRem(75))};
display: flex;
flex-direction: ${props => (props.$isSidebarOpen ? 'row' : 'column')};
@@ -129,10 +130,10 @@ const Contents = styled.div`
`;
const Toggle = styled.button`
- width: 1.25rem;
+ width: ${toRem(20)};
height: 100%;
- margin-right: 1.25rem;
+ margin-right: ${toRem(20)};
border: none;
display: ${props => (props.$isSidebarOpen ? 'relative' : 'none')};
@@ -143,14 +144,14 @@ const Toggle = styled.button`
`;
const ToggleIcon = styled.img`
- width: 0.9375rem;
- height: 0.625rem;
+ width: ${toRem(15)};
+ height: ${toRem(10)};
`;
const CouponIcon = styled.img`
- width: 1.25rem;
- height: 1.5625rem;
+ width: ${toRem(20)};
+ height: ${toRem(25)};
margin: ${props =>
- props.$isSidebarOpen ? '0 0.625rem 0 1.5625rem' : '0.625rem'};
+ props.$isSidebarOpen ? `0 ${toRem(10)} 0 ${toRem(25)}` : toRem(10)};
`;
diff --git a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
index f815fed8..0f386b9a 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Settlements/index.tsx
@@ -2,6 +2,7 @@ import { NavLink } from 'react-router-dom';
import styled from '@emotion/styled';
import settlement from '@assets/icons/ic-sidebar-settlement.svg';
+import { toRem } from '@utils/index';
const Settlements = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
return (
@@ -25,10 +26,10 @@ export default Settlements;
const Container = styled(NavLink)`
width: 100%;
- height: ${props => (props.$isSidebarOpen ? '3.75rem' : '5rem')};
+ height: ${props => (props.$isSidebarOpen ? toRem(60) : toRem(80))};
- margin: 0.3125rem 0;
- border-radius: 0.6875rem;
+ margin: ${toRem(5)} 0;
+ border-radius: ${toRem(11)};
color: ${props => props.theme.colors.black};
@@ -50,7 +51,7 @@ const Container = styled(NavLink)`
`;
const Contents = styled.div`
- width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
+ width: ${props => (props.$isSidebarOpen ? '100%' : toRem(80))};
height: 100%;
display: flex;
@@ -60,9 +61,9 @@ const Contents = styled.div`
`;
const SettlementsIcon = styled.img`
- width: 1.5625rem;
- height: 1.25rem;
+ width: ${toRem(25)};
+ height: ${toRem(20)};
margin: ${props =>
- props.$isSidebarOpen ? '0 0.625rem 0 1.4375rem' : '0.625rem'};
+ props.$isSidebarOpen ? `0 ${toRem(10)} 0 ${toRem(23)}` : toRem(10)};
`;
diff --git a/src/components/common/Layout/Sidebar/Navigation/index.tsx b/src/components/common/Layout/Sidebar/Navigation/index.tsx
index 37afa9b8..b1f67883 100644
--- a/src/components/common/Layout/Sidebar/Navigation/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/index.tsx
@@ -2,6 +2,7 @@ import styled from '@emotion/styled';
import Coupon from './Coupon';
import Settlements from './Settlements';
+import { toRem } from '@utils/index';
const Navigation = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
return (
@@ -15,10 +16,10 @@ const Navigation = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
export default Navigation;
const Container = styled.nav`
- width: ${props => (props.$isSidebarOpen ? '100%' : '5rem')};
+ width: ${props => (props.$isSidebarOpen ? '100%' : toRem(80))};
display: flex;
flex-direction: column;
- font-size: ${props => (props.$isSidebarOpen ? '0.875rem' : '0.75rem')};
+ font-size: ${props => (props.$isSidebarOpen ? toRem(14) : toRem(12))};
`;
diff --git a/src/components/common/Layout/Sidebar/index.tsx b/src/components/common/Layout/Sidebar/index.tsx
index 72ea94c3..e78e7e5d 100644
--- a/src/components/common/Layout/Sidebar/index.tsx
+++ b/src/components/common/Layout/Sidebar/index.tsx
@@ -3,6 +3,7 @@ import styled from '@emotion/styled';
import Header from './Header';
import Navigation from './Navigation';
+import { toRem } from '@utils/index';
const Sidebar = () => {
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
@@ -30,10 +31,10 @@ export default Sidebar;
const Container = styled.div`
position: fixed;
- width: ${props => (props.$isSidebarOpen ? '15.625rem' : '6.25rem')};
+ width: ${props => (props.$isSidebarOpen ? toRem(250) : toRem(100))};
min-height: 100vh;
- padding: 1.25rem 0.625rem;
+ padding: ${toRem(20)} ${toRem(10)};
background-color: ${props => props.theme.colors.white};
@@ -45,7 +46,7 @@ const Container = styled.div`
`;
const Menu = styled.div`
- width: 14.375rem;
+ width: ${toRem(230)};
height: 100%;
display: flex;
diff --git a/src/components/common/Layout/index.tsx b/src/components/common/Layout/index.tsx
index aa2854b6..b48e660b 100644
--- a/src/components/common/Layout/index.tsx
+++ b/src/components/common/Layout/index.tsx
@@ -1,6 +1,7 @@
import styled from '@emotion/styled';
import { Outlet } from 'react-router-dom';
+import { toRem } from '@utils/index';
import Sidebar from './Sidebar';
import Header from './Header';
@@ -35,8 +36,8 @@ const Section = styled.section`
width: 100%;
min-height: 100%;
- margin-left: 6.25rem;
- padding: 0.8rem 1.4rem;
+ margin-left: ${toRem(100)};
+ padding: ${toRem(13)} ${toRem(22)};
display: flex;
flex-direction: column;
@@ -46,8 +47,8 @@ const OutletLayout = styled.div`
width: 100%;
height: 100%;
- margin-top: 1rem;
- border-radius: 1.25rem;
+ margin-top: ${toRem(16)};
+ border-radius: ${toRem(20)};
background-color: ${props => props.theme.colors.white};
`;
diff --git a/src/utils/index.ts b/src/utils/index.ts
index e277bd7d..ecaf11ae 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1 +1,2 @@
export { exampleMinus, examplePlus } from './lib/exampleCalculate';
+export { default as toRem } from './lib/toRem';
diff --git a/src/utils/lib/toRem.ts b/src/utils/lib/toRem.ts
new file mode 100644
index 00000000..53f74125
--- /dev/null
+++ b/src/utils/lib/toRem.ts
@@ -0,0 +1,3 @@
+const toRem = (pixel: number) => `${pixel / 16}rem`;
+
+export default toRem;
From fd5734a0a355f18c8f3c3c350f83f332566c897d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Mon, 8 Jan 2024 18:28:29 +0900
Subject: [PATCH 074/843] =?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=EB=A7=88=ED=81=AC=EC=97=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Login/index.tsx | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 src/pages/Login/index.tsx
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
new file mode 100644
index 00000000..fd1a5fc8
--- /dev/null
+++ b/src/pages/Login/index.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+
+const Login = () => {
+ return (
+
+
+ {/*
*/}
+
사장님 비서ya
+
통합 로그인
+
+
+
+ );
+};
+
+export default Login;
From bf3c2dcd44c58a732e72f79d4fafad5c83933ea2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Mon, 8 Jan 2024 18:30:29 +0900
Subject: [PATCH 075/843] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=EB=9D=BC?=
=?UTF-8?q?=EC=9A=B0=ED=84=B0=EC=97=90=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?=
=?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/routes/MainRouter/index.tsx | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 2c6ef1c8..ab897a3b 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,3 +1,4 @@
+import Login from '@pages/Login';
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
@@ -6,9 +7,7 @@ const MainRouter = () => {
🧃 로그인 페이지 입주 예정 🧃
- }
+ element={}
/>
Date: Tue, 9 Jan 2024 02:20:36 +0900
Subject: [PATCH 076/843] =?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=EB=A7=88=ED=81=AC?=
=?UTF-8?q?=EC=97=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Login/index.tsx | 2 +-
src/pages/SignUp/Footer/index.tsx | 16 ++++++++++
src/pages/SignUp/index.tsx | 52 +++++++++++++++++++++++++++++++
3 files changed, 69 insertions(+), 1 deletion(-)
create mode 100644 src/pages/SignUp/Footer/index.tsx
create mode 100644 src/pages/SignUp/index.tsx
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
index fd1a5fc8..190140c1 100644
--- a/src/pages/Login/index.tsx
+++ b/src/pages/Login/index.tsx
@@ -18,7 +18,7 @@ const Login = () => {
placeholder="비밀번호 입력"
/>
- 회원가입
+ 회원가입
);
diff --git a/src/pages/SignUp/Footer/index.tsx b/src/pages/SignUp/Footer/index.tsx
new file mode 100644
index 00000000..6fac6fd5
--- /dev/null
+++ b/src/pages/SignUp/Footer/index.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+
+const Footer = () => {
+ return (
+
+
이용약관
+
개인정보 처리방침
+
+ (주) 야놀자 Copyright © 2005-2023 Yanolja Co., Ltd. All rights
+ reserved.
+
+
+ );
+};
+
+export default Footer;
diff --git a/src/pages/SignUp/index.tsx b/src/pages/SignUp/index.tsx
new file mode 100644
index 00000000..e8151437
--- /dev/null
+++ b/src/pages/SignUp/index.tsx
@@ -0,0 +1,52 @@
+import React from 'react';
+import Footer from './Footer';
+
+const SignUp = () => {
+ return (
+ <>
+ {/* */}
+ 사장님 비서ya
+
+
회원가입
+
야놀자가 준비한 사장님 비서ya만의 혜택을 받아보세요.
+
+
+
+ >
+ );
+};
+
+export default SignUp;
From b944c23698bfd40e1d694a0bcafc89a12cf7fb1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Tue, 9 Jan 2024 02:21:12 +0900
Subject: [PATCH 077/843] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=EB=9D=BC?=
=?UTF-8?q?=EC=9A=B0=ED=84=B0=EC=97=90=20=ED=9A=8C=EC=9B=90=EA=B0=80?=
=?UTF-8?q?=EC=9E=85=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/routes/MainRouter/index.tsx | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index ab897a3b..94d37b91 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,4 +1,5 @@
import Login from '@pages/Login';
+import SignUp from '@pages/SignUp';
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
@@ -11,9 +12,7 @@ const MainRouter = () => {
/>
🧃 회원가입 페이지 입주 예정 🧃
- }
+ element={}
/>
}>
Date: Tue, 9 Jan 2024 23:52:45 +0900
Subject: [PATCH 078/843] =?UTF-8?q?design:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?=
=?UTF-8?q?=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=94=94=EC=9E=90=EC=9D=B8=20?=
=?UTF-8?q?=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 3 +-
src/pages/Login/index.tsx | 163 +++++++++++++++++++++++++++++++++-----
2 files changed, 145 insertions(+), 21 deletions(-)
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index da9fec22..f98224e3 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -14,6 +14,7 @@ module.exports = {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true }
- ]
+ ],
+ '@typescript-eslint/no-unused-vars': 0
}
};
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
index 190140c1..e30a3694 100644
--- a/src/pages/Login/index.tsx
+++ b/src/pages/Login/index.tsx
@@ -1,27 +1,150 @@
-import React from 'react';
+import React, { useState } from 'react';
+import styled from '@emotion/styled';
const Login = () => {
+ // HACK: 유효성 검사 기능 구현 후 유효성 메세지 노출 여부 결정
+ const [isInvalid, setIsInvalid] = useState(true);
return (
-
-
- {/*
*/}
-
사장님 비서ya
-
통합 로그인
-
-
-
+ <>
+
+
+ {/* HACK: 지훈님 레이아웃 pull받아서 로고 이미지로 변경 예정 */}
+ 사장님 비서ya
+ 통합 로그인
+
+
+
+ {/* HACK: 모달 제작 후 오류 메세지 표시 예정 */}
+ >
);
};
export default Login;
+
+const Container = styled.div`
+ max-width: 524px;
+
+ margin: 175px auto 0;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ gap: 65px;
+`;
+
+const TitleWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ gap: 11px;
+
+ text-align: center;
+`;
+
+const Title = styled.h1`
+ color: #1a2849;
+ font-size: 44.374px;
+ font-weight: 900;
+ line-height: 51.769px;
+`;
+
+const Inputs = styled.div<{ $isInvalid: boolean }>`
+ margin-bottom: ${props => (props.$isInvalid ? '10px' : '65px')};
+
+ display: flex;
+ flex-direction: column;
+ gap: 19px;
+`;
+
+const Input = styled.input`
+ width: 524px;
+
+ border-radius: 16px;
+ border: 2px solid #757676;
+ padding: 23px 20px;
+
+ display: flex;
+ align-items: center;
+
+ color: #1a2849;
+ font-size: 18px;
+ font-weight: 500;
+ line-height: 32px;
+
+ ::placeholder {
+ color: #979c9e;
+ font-size: 18px;
+ font-weight: 500;
+ line-height: 32px;
+ }
+
+ :focus {
+ outline: none;
+ border: 5px solid #1a2849;
+ }
+`;
+
+const ValidationText = styled.p`
+ padding-left: 12px;
+
+ color: #da1e28;
+ font-size: 15px;
+ font-weight: 500;
+ line-height: 32px;
+`;
+
+const ValidationBoldText = styled.span`
+ font-weight: 700;
+`;
+
+const Buttons = styled.div<{ $isInvalid: boolean }>`
+ margin-top: ${props => (props.$isInvalid ? '23px' : 0)};
+
+ display: flex;
+ flex-direction: column;
+ gap: 13px;
+`;
+
+const LoginButton = styled.button<{ $type: string }>`
+ min-width: 524px;
+
+ border: none;
+ border-radius: 16px;
+ padding: 23px 0;
+
+ color: #fff;
+ font-size: 22px;
+ font-weight: 700;
+ line-height: 32px;
+
+ background: ${props =>
+ props.$type === 'login'
+ ? '#1A2849'
+ : 'linear-gradient(91deg, #FF3478 1.39%, #FF83AD 98.63%)'};
+
+ :hover {
+ cursor: pointer;
+ }
+`;
+
+const SignUpButton = styled(LoginButton)<{ $type: string }>``;
From 4ad8ba6488437e720659a51eab6b47ef4fa241af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Wed, 10 Jan 2024 00:18:23 +0900
Subject: [PATCH 079/843] =?UTF-8?q?move:=20Footer=20=ED=8F=B4=EB=8D=94=20?=
=?UTF-8?q?=EC=9C=84=EC=B9=98=20pages=20->=20components=20=ED=8F=B4?=
=?UTF-8?q?=EB=8D=94=20=ED=95=98=EC=9C=84=EB=A1=9C=20=EC=9D=B4=EB=8F=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/{pages/SignUp => components/common}/Footer/index.tsx | 0
src/components/common/index.tsx | 1 +
src/pages/SignUp/index.tsx | 2 +-
3 files changed, 2 insertions(+), 1 deletion(-)
rename src/{pages/SignUp => components/common}/Footer/index.tsx (100%)
diff --git a/src/pages/SignUp/Footer/index.tsx b/src/components/common/Footer/index.tsx
similarity index 100%
rename from src/pages/SignUp/Footer/index.tsx
rename to src/components/common/Footer/index.tsx
diff --git a/src/components/common/index.tsx b/src/components/common/index.tsx
index 6c48faec..21773a97 100644
--- a/src/components/common/index.tsx
+++ b/src/components/common/index.tsx
@@ -1 +1,2 @@
export { default as Layout } from './Layout';
+export { default as Footer } from './Footer';
diff --git a/src/pages/SignUp/index.tsx b/src/pages/SignUp/index.tsx
index e8151437..c246674a 100644
--- a/src/pages/SignUp/index.tsx
+++ b/src/pages/SignUp/index.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import Footer from './Footer';
+import { Footer } from '@components/common';
const SignUp = () => {
return (
From 5d8b82e95489180e3ab48f2506414867a03f0ed9 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Wed, 10 Jan 2024 00:29:30 +0900
Subject: [PATCH 080/843] =?UTF-8?q?design:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?=
=?UTF-8?q?=EB=93=9C=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=88=EC=9D=B4?=
=?UTF-8?q?=EC=95=84=EC=9B=83=20=EC=B4=88=EC=95=88=20=EB=A7=88=ED=81=AC?=
=?UTF-8?q?=EC=97=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dashboard/CouponRankingSection/index.tsx | 18 +++
.../Dashboard/CouponStatusSection/index.tsx | 18 +++
.../Dashboard/DashboardHeader/index.tsx | 49 ++++++++
.../Dashboard/GraphSection/index.tsx | 117 ++++++++++++++++++
src/components/Dashboard/index.tsx | 4 +
src/pages/Dashboard.tsx/index.tsx | 52 ++++++++
src/routes/MainRouter/index.tsx | 3 +-
7 files changed, 260 insertions(+), 1 deletion(-)
create mode 100644 src/components/Dashboard/CouponRankingSection/index.tsx
create mode 100644 src/components/Dashboard/CouponStatusSection/index.tsx
create mode 100644 src/components/Dashboard/DashboardHeader/index.tsx
create mode 100644 src/components/Dashboard/GraphSection/index.tsx
create mode 100644 src/components/Dashboard/index.tsx
create mode 100644 src/pages/Dashboard.tsx/index.tsx
diff --git a/src/components/Dashboard/CouponRankingSection/index.tsx b/src/components/Dashboard/CouponRankingSection/index.tsx
new file mode 100644
index 00000000..930cf17e
--- /dev/null
+++ b/src/components/Dashboard/CouponRankingSection/index.tsx
@@ -0,0 +1,18 @@
+import styled from '@emotion/styled';
+
+const CouponRankingSection = () => {
+ return ;
+};
+
+export default CouponRankingSection;
+
+const StyledContainer = styled.div`
+ display: flex;
+
+ width: 100%;
+ height: 50vh;
+
+ background-color: green;
+
+ box-sizing: border-box;
+`;
diff --git a/src/components/Dashboard/CouponStatusSection/index.tsx b/src/components/Dashboard/CouponStatusSection/index.tsx
new file mode 100644
index 00000000..e0a52497
--- /dev/null
+++ b/src/components/Dashboard/CouponStatusSection/index.tsx
@@ -0,0 +1,18 @@
+import styled from '@emotion/styled';
+
+const CouponStatusSection = () => {
+ return ;
+};
+
+export default CouponStatusSection;
+
+const StyledContainer = styled.div`
+ display: flex;
+
+ width: 100%;
+ height: 100vh;
+
+ background-color: orange;
+
+ box-sizing: border-box;
+`;
diff --git a/src/components/Dashboard/DashboardHeader/index.tsx b/src/components/Dashboard/DashboardHeader/index.tsx
new file mode 100644
index 00000000..66f34f72
--- /dev/null
+++ b/src/components/Dashboard/DashboardHeader/index.tsx
@@ -0,0 +1,49 @@
+import styled from '@emotion/styled';
+
+const DashboardHeader = () => {
+ return (
+
+
+ 쿠폰현황
+ 누적리포트
+
+ 쿠폰 등록하기
+
+ );
+};
+
+export default DashboardHeader;
+
+const StyledContainer = styled.div`
+ display: flex;
+ justify-content: space-between;
+
+ width: 100%;
+ padding: 0 20px 0 20px;
+
+ background-color: red;
+
+ box-sizing: border-box;
+`;
+
+const StyledMenuContainer = styled.div`
+ display: flex;
+`;
+
+const StyledMenu = styled.div`
+ padding: 40px;
+
+ color: black;
+
+ cursor: pointer;
+`;
+
+const StyledButton = styled.button`
+ display: flex;
+
+ padding: 1rem;
+
+ color: pink;
+
+ align-self: flex-end;
+`;
diff --git a/src/components/Dashboard/GraphSection/index.tsx b/src/components/Dashboard/GraphSection/index.tsx
new file mode 100644
index 00000000..4fb14bbc
--- /dev/null
+++ b/src/components/Dashboard/GraphSection/index.tsx
@@ -0,0 +1,117 @@
+import styled from '@emotion/styled';
+import {
+ Chart as ChartJS,
+ LinearScale,
+ CategoryScale,
+ BarElement,
+ PointElement,
+ LineElement,
+ Legend,
+ Tooltip,
+ LineController,
+ BarController
+} from 'chart.js';
+import { Chart } from 'react-chartjs-2';
+
+ChartJS.register(
+ LinearScale,
+ CategoryScale,
+ BarElement,
+ PointElement,
+ LineElement,
+ Legend,
+ Tooltip,
+ LineController,
+ BarController
+);
+
+const labels = ['1월', '2월', '3월', '4월', '5월', '6월', '7월']; //x축 기준
+
+export const options = {
+ responsive: true,
+ plugins: {
+ legend: {
+ display: false
+ }
+ },
+ scales: {
+ x: {
+ grid: {
+ display: false
+ },
+ ticks: {
+ color: 'gray',
+ font: {
+ size: 20,
+ weight: 500
+ },
+ padding: 20
+ }
+ },
+ y: {
+ beginAtZero: true,
+ max: 1200,
+ grid: {
+ display: false
+ }
+ }
+ }
+};
+
+export const data = {
+ labels,
+ datasets: [
+ {
+ type: 'line' as const,
+ label: 'dd',
+ borderColor: 'rgb(25, 99, 132)',
+ borderWidth: 2,
+ fill: false,
+ data: [300, 400, 200, 200, 400, 600, 700]
+ },
+ {
+ type: 'bar' as const,
+ fill: true,
+ label: '쿠폰매출',
+ data: [300, 400, 200, 200, 400, 600, 700],
+ backgroundColor: 'rgba(255, 22, 255, 0.5)'
+ },
+
+ {
+ type: 'bar' as const,
+ fill: true,
+ label: '전체매출',
+ data: [600, 500, 400, 500, 600, 800, 800],
+ backgroundColor: 'rgba(255, 99, 132, 0.5)',
+ borderRadius: 8
+ }
+ ]
+};
+
+const GraphSection = () => {
+ return (
+
+ 월간 쿠폰 적용 매출 vs 전체 매출 비교 그래프
+
+
+ );
+};
+
+export default GraphSection;
+
+const StyledContainer = styled.div`
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 50vh;
+ background-color: skyblue;
+`;
+
+const StyledHeader = styled.div`
+ font-size: 2rem;
+`;
diff --git a/src/components/Dashboard/index.tsx b/src/components/Dashboard/index.tsx
new file mode 100644
index 00000000..3b64a32a
--- /dev/null
+++ b/src/components/Dashboard/index.tsx
@@ -0,0 +1,4 @@
+export { default as CouponRankingSection } from './CouponRankingSection';
+export { default as CouponStatusSection } from './CouponStatusSection';
+export { default as DashboardHeader } from './DashboardHeader';
+export { default as GraphSection } from './GraphSection';
diff --git a/src/pages/Dashboard.tsx/index.tsx b/src/pages/Dashboard.tsx/index.tsx
new file mode 100644
index 00000000..50597fae
--- /dev/null
+++ b/src/pages/Dashboard.tsx/index.tsx
@@ -0,0 +1,52 @@
+import styled from '@emotion/styled';
+
+import {
+ DashboardHeader,
+ GraphSection,
+ CouponRankingSection,
+ CouponStatusSection
+} from '@components/Dashboard';
+
+const Dashboard = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Dashboard;
+
+const StyledContainer = styled.div`
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100vh;
+ background-color: ghostwhite;
+`;
+
+const StyledInnerContainer = styled.div`
+ display: flex;
+ flex-direction: row;
+`;
+
+const StyledSectionLeft = styled.div`
+ display: flex;
+ flex-direction: column;
+ width: 60%;
+`;
+
+const StyledSectionRight = styled.div`
+ display: flex;
+ flex-direction: column;
+ width: 40%;
+`;
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 262f93c1..ca555f58 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,11 +1,12 @@
import { Route, Routes } from 'react-router-dom';
+import Dashboard from '@pages/Dashboard.tsx';
const MainRouter = () => {
return (
메인페이지}
+ element={}
/>
Date: Wed, 10 Jan 2024 00:35:19 +0900
Subject: [PATCH 081/843] =?UTF-8?q?design:=20Footer=20=EB=94=94=EC=9E=90?=
=?UTF-8?q?=EC=9D=B8=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Footer/index.tsx | 53 +++++++++++++++++++++++---
1 file changed, 47 insertions(+), 6 deletions(-)
diff --git a/src/components/common/Footer/index.tsx b/src/components/common/Footer/index.tsx
index 6fac6fd5..673361f5 100644
--- a/src/components/common/Footer/index.tsx
+++ b/src/components/common/Footer/index.tsx
@@ -1,16 +1,57 @@
import React from 'react';
+import styled from '@emotion/styled';
const Footer = () => {
return (
-
-
이용약관
-
개인정보 처리방침
-
+
+
+ 이용약관
+ |
+ 개인정보 처리방침
+
+
(주) 야놀자 Copyright © 2005-2023 Yanolja Co., Ltd. All rights
reserved.
-
-
+
+
);
};
export default Footer;
+
+const Container = styled.div`
+ margin: 32px auto;
+
+ display: flex;
+ flex-direction: column;
+ gap: 7px;
+`;
+
+const Policy = styled.div`
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ gap: 7px;
+`;
+
+const Text = styled.p`
+ color: #404446;
+ font-size: 12px;
+ font-weight: 400;
+ line-height: 18px;
+`;
+
+const BoldText = styled.p`
+ color: #404446;
+ font-size: 12px;
+ font-weight: 700;
+ line-height: 18px;
+`;
+
+const Copyright = styled.p`
+ color: #e3e5e5;
+ font-size: 10px;
+ font-weight: 400;
+ line-height: 15px;
+ text-align: center;
+`;
From 64e014535696e6169229d68f5926d0223c66d370 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 10 Jan 2024 02:12:31 +0900
Subject: [PATCH 082/843] =?UTF-8?q?chore:=20tanstack-query=20(devtools,=20?=
=?UTF-8?q?eslint)=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 211 ++++++++++++++++++++++++++++++++++++++++++++++
package.json | 3 +
src/App.tsx | 20 +++--
3 files changed, 228 insertions(+), 6 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 26dc31fa..874b6595 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,8 @@
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
+ "@tanstack/react-query": "^5.17.9",
+ "@tanstack/react-query-devtools": "^5.17.9",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
@@ -17,6 +19,7 @@
"devDependencies": {
"@swc/core": "^1.3.102",
"@swc/jest": "^0.2.29",
+ "@tanstack/eslint-plugin-query": "^5.17.7",
"@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
@@ -2472,6 +2475,193 @@
"integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==",
"dev": true
},
+ "node_modules/@tanstack/eslint-plugin-query": {
+ "version": "5.17.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.17.7.tgz",
+ "integrity": "sha512-RpKZXIuplRrUZLqqh+jTM1yJP8/Ck21FpaSB5uGyc9LY8LNwxC8AwgaRAXVOZzKVeQMunnt3HrK83HME+7jnGw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/utils": "^5.62.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "eslint": "^8.0.0"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@tanstack/eslint-plugin-query/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/@tanstack/query-core": {
+ "version": "5.17.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.17.9.tgz",
+ "integrity": "sha512-8xcvpWIPaRMDNLMvG9ugcUJMgFK316ZsqkPPbsI+TMZsb10N9jk0B6XgPk4/kgWC2ziHyWR7n7wUhxmD0pChQw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/query-devtools": {
+ "version": "5.17.7",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.17.7.tgz",
+ "integrity": "sha512-TfgvOqza5K7Sk6slxqkRIvXlEJoUoPSsGGwpuYSrpqgSwLSSvPPpZhq7hv7hcY5IvRoTNGoq6+MT01C/jILqoQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "5.17.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.17.9.tgz",
+ "integrity": "sha512-M5E9gwUq1Stby/pdlYjBlL24euIVuGbWKIFCbtnQxSdXI4PgzjTSdXdV3QE6fc+itF+TUvX/JPTKIwq8yuBXcg==",
+ "dependencies": {
+ "@tanstack/query-core": "5.17.9"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0"
+ }
+ },
+ "node_modules/@tanstack/react-query-devtools": {
+ "version": "5.17.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.17.9.tgz",
+ "integrity": "sha512-1viWP/jlO0LaeCdtTFqtF1k2RfM3KVpvwVffWv+PMNkS2u4s8YGUM17r3p82udbF9BY1mE7aHqQ3MM1errF5lQ==",
+ "dependencies": {
+ "@tanstack/query-devtools": "5.17.7"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "@tanstack/react-query": "^5.17.9",
+ "react": "^18.0.0"
+ }
+ },
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
@@ -6554,6 +6744,27 @@
}
}
},
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
diff --git a/package.json b/package.json
index bb78fda5..e1290fc1 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,8 @@
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
+ "@tanstack/react-query": "^5.17.9",
+ "@tanstack/react-query-devtools": "^5.17.9",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
@@ -20,6 +22,7 @@
"devDependencies": {
"@swc/core": "^1.3.102",
"@swc/jest": "^0.2.29",
+ "@tanstack/eslint-plugin-query": "^5.17.7",
"@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
diff --git a/src/App.tsx b/src/App.tsx
index 1e1181b4..180db848 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,17 +1,25 @@
-import GlobalStyle from '@styles/GlobalStyle';
-import { ThemeProvider } from '@emotion/react';
-import theme from '@styles/theme';
import { BrowserRouter } from 'react-router-dom';
+import { ThemeProvider } from '@emotion/react';
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
+
import { MainRouter } from './routes';
+import GlobalStyle from '@styles/GlobalStyle';
+import theme from '@styles/theme';
+
+const queryClient = new QueryClient();
const App = () => {
return (
<>
-
-
-
+
+
+
+
+
+
>
);
From 57c78afa6aa02253eb145d4850e488f7c3b98ff1 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 10 Jan 2024 02:24:46 +0900
Subject: [PATCH 083/843] =?UTF-8?q?chore:=20Recoil=20(eslint,=20root)=20?=
=?UTF-8?q?=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 11 +++++++++--
package-lock.json | 27 ++++++++++++++++++++++++++-
package.json | 3 ++-
src/App.tsx | 17 +++++++++--------
4 files changed, 46 insertions(+), 12 deletions(-)
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index da9fec22..ed1d7664 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -9,11 +9,18 @@ module.exports = {
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
- plugins: ['react-refresh'],
+ plugins: ['react-refresh', 'react-hooks'],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true }
]
- }
+ },
+ 'react-hooks/rules-of-hooks': 'error',
+ 'react-hooks/exhaustive-deps': [
+ 'warn',
+ {
+ additionalHooks: 'useRecoilCallback'
+ }
+ ]
};
diff --git a/package-lock.json b/package-lock.json
index 874b6595..ee567fe6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,8 @@
"@tanstack/react-query-devtools": "^5.17.9",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-router-dom": "^6.21.1"
+ "react-router-dom": "^6.21.1",
+ "recoil": "^0.7.7"
},
"devDependencies": {
"@swc/core": "^1.3.102",
@@ -4315,6 +4316,11 @@
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
"dev": true
},
+ "node_modules/hamt_plus": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hamt_plus/-/hamt_plus-1.0.2.tgz",
+ "integrity": "sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA=="
+ },
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -6274,6 +6280,25 @@
"react-dom": ">=16.8"
}
},
+ "node_modules/recoil": {
+ "version": "0.7.7",
+ "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.7.7.tgz",
+ "integrity": "sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==",
+ "dependencies": {
+ "hamt_plus": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.13.1"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
diff --git a/package.json b/package.json
index e1290fc1..134a79fb 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,8 @@
"@tanstack/react-query-devtools": "^5.17.9",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-router-dom": "^6.21.1"
+ "react-router-dom": "^6.21.1",
+ "recoil": "^0.7.7"
},
"devDependencies": {
"@swc/core": "^1.3.102",
diff --git a/src/App.tsx b/src/App.tsx
index 180db848..415aeca4 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,6 +2,7 @@ import { BrowserRouter } from 'react-router-dom';
import { ThemeProvider } from '@emotion/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
+import { RecoilRoot } from 'recoil';
import { MainRouter } from './routes';
import GlobalStyle from '@styles/GlobalStyle';
@@ -11,17 +12,17 @@ const queryClient = new QueryClient();
const App = () => {
return (
- <>
-
-
-
+
+
+
+
-
-
-
- >
+
+
+
+
);
};
From 3ddef8ebb38f624c1fe0e84116dee6389c55e99d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Wed, 10 Jan 2024 03:32:34 +0900
Subject: [PATCH 084/843] =?UTF-8?q?design:=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=EB=94=94=EC=9E=90?=
=?UTF-8?q?=EC=9D=B8=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/SignUp/index.tsx | 285 ++++++++++++++++++++++++++++++++-----
1 file changed, 246 insertions(+), 39 deletions(-)
diff --git a/src/pages/SignUp/index.tsx b/src/pages/SignUp/index.tsx
index c246674a..cc7b79fe 100644
--- a/src/pages/SignUp/index.tsx
+++ b/src/pages/SignUp/index.tsx
@@ -1,52 +1,259 @@
-import React from 'react';
+import React, { useState } from 'react';
+import styled from '@emotion/styled';
+
+import { toRem } from '@utils/index';
+import logo from '@assets/icons/ic-logo.svg';
import { Footer } from '@components/common';
const SignUp = () => {
+ // TODO: react-hook-form 사용해서 유효성 검사 예정
+ const [isInvalid, setIsInvalid] = useState(true);
+ const [isEmailValidationVisible, setIsEmailValidationVisible] =
+ useState(true);
+
+ // 버튼 disabled 처리하기 위한 state
+ // TODO: 변수명이 길어서 가독성이 떨어지는 것같아 더 좋은 이름이 있다면 추천 부탁드려요
+ const [isEmailValidationButtonDisabled, setIsEmailValidationButtonDisabled] =
+ useState(true);
+ const [isSubmitButtonDisabled, setIsSubmitButtonDisabled] = useState(true);
return (
<>
- {/* */}
- 사장님 비서ya
-
-
회원가입
-
야놀자가 준비한 사장님 비서ya만의 혜택을 받아보세요.
-
-
+ {isInvalid && (
+
+ 이름을 입력해 주세요.
+
+ )}
+
+
+
+
+
+
+
+ 중복확인
+
+
+ {isEmailValidationVisible && (
+
+ 사용 가능한 아이디입니다.
+
+ )}
+
+
+
+
+ {isInvalid && (
+
+ 비밀번호 형식이 아닙니다.
+
+ )}
+
+
+
+
+ {isInvalid && (
+
+ 비밀번호가 일치하지 않습니다.
+
+ )}
+
+
+ 회원가입
+
+
+
>
);
};
export default SignUp;
+
+const SubmitButton = styled.button<{ $isDisabled: boolean }>`
+ min-width: ${toRem(524)};
+ height: ${toRem(78)};
+
+ border: none;
+ border-radius: ${toRem(16)};
+ padding: ${toRem(23)} auto;
+
+ color: #fff;
+ font-size: ${toRem(22)};
+ font-weight: 700;
+ line-height: ${toRem(32)};
+
+ background: ${props => (props.$isDisabled ? '#C1C1C1' : '#1A2849')};
+
+ :hover {
+ cursor: pointer;
+ }
+`;
+const LogoIcon = styled.img`
+ width: ${toRem(172.8)};
+ height: ${toRem(36)};
+
+ margin-top: ${toRem(48)};
+ margin-left: ${toRem(57)};
+`;
+
+const Container = styled.div`
+ max-width: ${toRem(524)};
+
+ display: flex;
+ flex-direction: column;
+
+ margin: ${toRem(67)} auto ${toRem(141)};
+`;
+
+const TitleWrapper = styled.div`
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+`;
+
+const Title = styled.h1`
+ color: #202325;
+ font-size: ${toRem(26)};
+ font-weight: 700;
+ line-height: ${toRem(31)};
+ letter-spacing: ${toRem(-0.78)};
+`;
+
+const Description = styled.p`
+ color: #979c9e;
+ font-size: ${toRem(18)};
+ font-weight: 500;
+ line-height: ${toRem(32)};
+`;
+
+const InputLabelWrapper = styled.div`
+ display: flex;
+ flex-direction: column;
+`;
+
+const Form = styled.form`
+ margin-top: ${toRem(26)};
+
+ div:nth-child(1) {
+ margin-bottom: ${toRem(16)};
+ }
+ hr:nth-child(2) {
+ margin-bottom: ${toRem(7)};
+ }
+ div:nth-child(3) {
+ margin-bottom: ${toRem(47)};
+ }
+ div:nth-child(4) {
+ margin-bottom: ${toRem(8)};
+ }
+ div:nth-child(5) {
+ margin-bottom: ${toRem(30)};
+ }
+`;
+
+const Divider = styled.hr`
+ width: ${toRem(525)};
+
+ margin: 0;
+ border: ${toRem(0.25)} solid #c7c7c7;
+`;
+
+const Label = styled.label`
+ margin-bottom: ${toRem(10)};
+
+ color: #757676;
+ font-size: ${toRem(18)};
+ font-weight: 700;
+ line-height: ${toRem(32)};
+`;
+
+const Input = styled.input`
+ width: ${toRem(524)};
+ height: ${toRem(79)};
+
+ border-radius: ${toRem(16)};
+ border: ${toRem(2)} solid #757676;
+ padding: ${toRem(23)} ${toRem(20)};
+
+ display: flex;
+ align-items: center;
+
+ color: #1a2849;
+ font-size: ${toRem(18)};
+ font-weight: 500;
+ line-height: ${toRem(32)};
+
+ ::placeholder {
+ color: #979c9e;
+ font-size: ${toRem(18)};
+ font-weight: 500;
+ line-height: ${toRem(32)};
+ }
+
+ :focus {
+ outline: none;
+ border: ${toRem(5)} solid #1a2849;
+ }
+`;
+
+const EmailInputWrapper = styled.div`
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+`;
+
+const EmailInput = styled(Input)`
+ width: ${toRem(358)};
+`;
+
+const EmailValidationButton = styled(SubmitButton)`
+ min-width: ${toRem(152)};
+`;
+
+const ValidationText = styled.p<{ $isInvalid: boolean }>`
+ margin-top: ${toRem(2)};
+ margin-left: ${toRem(12)};
+
+ color: ${props => (props.$isInvalid ? '#DA1E28' : '#1a2849')};
+ font-size: ${toRem(15)};
+ font-weight: 700;
+ line-height: ${toRem(32)};
+`;
From 7c978ddccfe0b4da6cd366fb441d7e1992a6061c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Wed, 10 Jan 2024 03:45:28 +0900
Subject: [PATCH 085/843] =?UTF-8?q?modify:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?=
=?UTF-8?q?=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=AA=A8=EB=93=A0=20px?=
=?UTF-8?q?=EC=97=90=20toRem=20=ED=95=A8=EC=88=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Login/index.tsx | 57 ++++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
index e30a3694..08a33aad 100644
--- a/src/pages/Login/index.tsx
+++ b/src/pages/Login/index.tsx
@@ -1,6 +1,8 @@
import React, { useState } from 'react';
import styled from '@emotion/styled';
+import { toRem } from '@utils/index';
+
const Login = () => {
// HACK: 유효성 검사 기능 구현 후 유효성 메세지 노출 여부 결정
const [isInvalid, setIsInvalid] = useState(true);
@@ -42,75 +44,76 @@ const Login = () => {
export default Login;
const Container = styled.div`
- max-width: 524px;
+ max-width: ${toRem(524)};
- margin: 175px auto 0;
+ margin: ${toRem(175)} auto 0;
display: flex;
flex-direction: column;
justify-content: center;
- gap: 65px;
+ gap: ${toRem(65)};
`;
const TitleWrapper = styled.div`
display: flex;
flex-direction: column;
justify-content: center;
- gap: 11px;
+ gap: ${toRem(11)};
text-align: center;
`;
const Title = styled.h1`
color: #1a2849;
- font-size: 44.374px;
+ font-size: ${toRem(44.374)};
font-weight: 900;
- line-height: 51.769px;
+ line-height: ${toRem(51.769)};
`;
const Inputs = styled.div<{ $isInvalid: boolean }>`
- margin-bottom: ${props => (props.$isInvalid ? '10px' : '65px')};
+ margin-bottom: ${props =>
+ props.$isInvalid ? '${toRem(10)}' : '${toRem(65)}'};
display: flex;
flex-direction: column;
- gap: 19px;
+ gap: ${toRem(19)};
`;
const Input = styled.input`
- width: 524px;
+ width: ${toRem(524)};
- border-radius: 16px;
- border: 2px solid #757676;
- padding: 23px 20px;
+ border-radius: ${toRem(16)};
+ border: ${toRem(2)} solid #757676;
+ padding: ${toRem(23)} ${toRem(20)};
display: flex;
align-items: center;
color: #1a2849;
- font-size: 18px;
+ font-size: ${toRem(18)};
font-weight: 500;
- line-height: 32px;
+ line-height: ${toRem(32)};
::placeholder {
color: #979c9e;
- font-size: 18px;
+ font-size: ${toRem(18)};
font-weight: 500;
- line-height: 32px;
+ line-height: ${toRem(32)};
}
:focus {
outline: none;
- border: 5px solid #1a2849;
+ border: ${toRem(5)} solid #1a2849;
}
`;
const ValidationText = styled.p`
- padding-left: 12px;
+ padding-left: ${toRem(12)};
color: #da1e28;
- font-size: 15px;
+ font-size: ${toRem(15)};
font-weight: 500;
- line-height: 32px;
+ line-height: ${toRem(32)};
`;
const ValidationBoldText = styled.span`
@@ -118,24 +121,24 @@ const ValidationBoldText = styled.span`
`;
const Buttons = styled.div<{ $isInvalid: boolean }>`
- margin-top: ${props => (props.$isInvalid ? '23px' : 0)};
+ margin-top: ${props => (props.$isInvalid ? '${toRem(23)}' : 0)};
display: flex;
flex-direction: column;
- gap: 13px;
+ gap: ${toRem(13)};
`;
const LoginButton = styled.button<{ $type: string }>`
- min-width: 524px;
+ min-width: ${toRem(524)};
border: none;
- border-radius: 16px;
- padding: 23px 0;
+ border-radius: ${toRem(16)};
+ padding: ${toRem(23)} 0;
color: #fff;
- font-size: 22px;
+ font-size: ${toRem(22)};
font-weight: 700;
- line-height: 32px;
+ line-height: ${toRem(32)};
background: ${props =>
props.$type === 'login'
From f3a8476b00b7e0494d3b01f15d1991d122568a2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Wed, 10 Jan 2024 03:55:13 +0900
Subject: [PATCH 086/843] =?UTF-8?q?modify:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?=
=?UTF-8?q?=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A1=9C=EA=B3=A0=20=ED=85=8D?=
=?UTF-8?q?=EC=8A=A4=ED=8A=B8=20->=20=EC=9D=B4=EB=AF=B8=EC=A7=80=EB=A1=9C?=
=?UTF-8?q?=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Login/index.tsx | 13 +++++++++++--
src/pages/SignUp/index.tsx | 1 +
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
index 08a33aad..a6a6de3b 100644
--- a/src/pages/Login/index.tsx
+++ b/src/pages/Login/index.tsx
@@ -2,6 +2,7 @@ import React, { useState } from 'react';
import styled from '@emotion/styled';
import { toRem } from '@utils/index';
+import logo from '@assets/icons/ic-logo.svg';
const Login = () => {
// HACK: 유효성 검사 기능 구현 후 유효성 메세지 노출 여부 결정
@@ -10,8 +11,10 @@ const Login = () => {
<>
- {/* HACK: 지훈님 레이아웃 pull받아서 로고 이미지로 변경 예정 */}
- 사장님 비서ya
+
통합 로그인
);
};
From cd9480d284c84e3d2fadc04109d1998e01217686 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 10 Jan 2024 10:17:10 +0900
Subject: [PATCH 089/843] =?UTF-8?q?modify:=20components=20=ED=8C=8C?=
=?UTF-8?q?=EC=9D=BC=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 4 ++--
src/components/ErrorFallback/index.tsx | 1 +
src/components/Loading/index.tsx | 1 +
src/components/index.tsx | 5 -----
4 files changed, 4 insertions(+), 7 deletions(-)
create mode 100644 src/components/ErrorFallback/index.tsx
create mode 100644 src/components/Loading/index.tsx
delete mode 100644 src/components/index.tsx
diff --git a/src/App.tsx b/src/App.tsx
index 1dee45ee..1b34a332 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -7,10 +7,10 @@ import { ErrorBoundary } from 'react-error-boundary';
import { Suspense } from 'react';
import { MainRouter } from './routes';
-import LoadingApp from '@components/Loading/LoadingApp';
import GlobalStyle from '@styles/GlobalStyle';
import theme from '@styles/theme';
-import { FallbackApp } from './components';
+import { FallbackApp } from '@components/ErrorFallback';
+import { LoadingApp } from '@components/Loading';
const queryClient = new QueryClient();
diff --git a/src/components/ErrorFallback/index.tsx b/src/components/ErrorFallback/index.tsx
new file mode 100644
index 00000000..676af5d4
--- /dev/null
+++ b/src/components/ErrorFallback/index.tsx
@@ -0,0 +1 @@
+export { default as FallbackApp } from './FallbackApp';
diff --git a/src/components/Loading/index.tsx b/src/components/Loading/index.tsx
new file mode 100644
index 00000000..6cdde82e
--- /dev/null
+++ b/src/components/Loading/index.tsx
@@ -0,0 +1 @@
+export { default as LoadingApp } from './LoadingApp';
diff --git a/src/components/index.tsx b/src/components/index.tsx
deleted file mode 100644
index efc2ae38..00000000
--- a/src/components/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-// Loading
-export { default as LoadingApp } from './Loading/LoadingApp';
-
-// ErrorFallback
-export { default as FallbackApp } from './ErrorFallback/FallbackApp';
From 2a93e86c64ef1d412de9d20c26a325dca6f3c718 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 10 Jan 2024 10:22:51 +0900
Subject: [PATCH 090/843] =?UTF-8?q?rename:=20FallbackApp=20=EC=97=90?=
=?UTF-8?q?=EC=84=9C=20ErrorApp=20=EC=9C=BC=EB=A1=9C=20=EC=BB=B4=ED=8F=AC?=
=?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EB=AA=85=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 4 ++--
.../ErrorFallback/{FallbackApp => ErrorApp}/index.tsx | 4 ++--
src/components/ErrorFallback/index.tsx | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
rename src/components/ErrorFallback/{FallbackApp => ErrorApp}/index.tsx (70%)
diff --git a/src/App.tsx b/src/App.tsx
index 1b34a332..c07c7c41 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -9,7 +9,7 @@ import { Suspense } from 'react';
import { MainRouter } from './routes';
import GlobalStyle from '@styles/GlobalStyle';
import theme from '@styles/theme';
-import { FallbackApp } from '@components/ErrorFallback';
+import { ErrorApp } from '@components/ErrorFallback';
import { LoadingApp } from '@components/Loading';
const queryClient = new QueryClient();
@@ -29,7 +29,7 @@ const App = () => {
{
+const ErrorApp = ({ error, resetErrorBoundary }: FallbackProps) => {
return (
{
);
};
-export default FallbackApp;
+export default ErrorApp;
diff --git a/src/components/ErrorFallback/index.tsx b/src/components/ErrorFallback/index.tsx
index 676af5d4..b673b5ba 100644
--- a/src/components/ErrorFallback/index.tsx
+++ b/src/components/ErrorFallback/index.tsx
@@ -1 +1 @@
-export { default as FallbackApp } from './FallbackApp';
+export { default as ErrorApp } from './ErrorApp';
From 1f2f8124dfb3e5e2ba1d935131d19c2b83127a83 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Wed, 10 Jan 2024 10:41:15 +0900
Subject: [PATCH 091/843] =?UTF-8?q?chore:=20react-error-boundary=20+=20rea?=
=?UTF-8?q?ct-query=20onReset=20=EC=84=B8=ED=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.tsx | 19 +++++++++++--------
.../ErrorFallback/ErrorApp/index.tsx | 8 +++-----
2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/App.tsx b/src/App.tsx
index c07c7c41..5389b322 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,6 +1,10 @@
import { BrowserRouter } from 'react-router-dom';
import { ThemeProvider } from '@emotion/react';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import {
+ QueryClient,
+ QueryClientProvider,
+ useQueryErrorResetBoundary
+} from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { RecoilRoot } from 'recoil';
import { ErrorBoundary } from 'react-error-boundary';
@@ -23,21 +27,20 @@ const queryClient = new QueryClient();
*/
const App = () => {
+ const { reset } = useQueryErrorResetBoundary();
+
return (
{
- // Reset the state of your app so the error doesn't happen again
- }}
-
- // onError={logError}
+ /* HACK: logError 논의 필요
+
+ onError={logError}
*/
>
diff --git a/src/components/ErrorFallback/ErrorApp/index.tsx b/src/components/ErrorFallback/ErrorApp/index.tsx
index 25200ace..76b4dc83 100644
--- a/src/components/ErrorFallback/ErrorApp/index.tsx
+++ b/src/components/ErrorFallback/ErrorApp/index.tsx
@@ -2,12 +2,10 @@ import { FallbackProps } from 'react-error-boundary';
const ErrorApp = ({ error, resetErrorBoundary }: FallbackProps) => {
return (
-
-
App 에러 발생
+
+
App 전체 에러 발생
{error.message}
+
);
};
From 33195ede52ebe3455ded04b72b95bb6e70e45e2d Mon Sep 17 00:00:00 2001
From: jiohjung98
Date: Wed, 10 Jan 2024 18:01:16 +0900
Subject: [PATCH 092/843] =?UTF-8?q?design:=20Settlement=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20?=
=?UTF-8?q?=EB=B6=84=EB=A6=AC=20=EB=B0=8F=20=EB=B0=B1=EA=B7=B8=EB=9D=BC?=
=?UTF-8?q?=EC=9A=B4=EB=93=9C=20=EC=A0=81=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/icons/receipt-sharp.svg | 27 +++++++++++++++++++
.../SettlementsLeft/Settlemented/index.tsx | 9 +++++++
.../SettlementsCalendar/index.tsx | 9 +++++++
.../SettlementsHeader/index.tsx | 9 +++++++
.../Settlements/SettlementsLeft/index.tsx | 27 +++++++++++++++++++
.../SettlementsBefore/index.tsx | 9 +++++++
.../SettlementsExpected/index.tsx | 9 +++++++
.../Settlements/SettlementsRight/index.tsx | 13 +++++++++
src/components/Settlements/index.tsx | 2 ++
src/pages/Settlements/index.tsx | 11 ++++++++
src/routes/MainRouter/index.tsx | 18 +++++--------
11 files changed, 131 insertions(+), 12 deletions(-)
create mode 100644 src/assets/icons/receipt-sharp.svg
create mode 100644 src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
create mode 100644 src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
create mode 100644 src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
create mode 100644 src/components/Settlements/SettlementsLeft/index.tsx
create mode 100644 src/components/Settlements/SettlementsRight/SettlementsBefore/index.tsx
create mode 100644 src/components/Settlements/SettlementsRight/SettlementsExpected/index.tsx
create mode 100644 src/components/Settlements/SettlementsRight/index.tsx
create mode 100644 src/components/Settlements/index.tsx
create mode 100644 src/pages/Settlements/index.tsx
diff --git a/src/assets/icons/receipt-sharp.svg b/src/assets/icons/receipt-sharp.svg
new file mode 100644
index 00000000..5aa90f5e
--- /dev/null
+++ b/src/assets/icons/receipt-sharp.svg
@@ -0,0 +1,27 @@
+
diff --git a/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx b/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
new file mode 100644
index 00000000..ddb55011
--- /dev/null
+++ b/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
@@ -0,0 +1,9 @@
+const Settlemented = () => {
+ return (
+
+
+
+ )
+}
+
+export default Settlemented
diff --git a/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx b/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
new file mode 100644
index 00000000..18d7e0fd
--- /dev/null
+++ b/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
@@ -0,0 +1,9 @@
+const SettlemntsCalender = () => {
+ return (
+
+
+
+ )
+}
+
+export default SettlemntsCalender
diff --git a/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx b/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
new file mode 100644
index 00000000..05325b9b
--- /dev/null
+++ b/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
@@ -0,0 +1,9 @@
+const SettlementsHeader = () => {
+ return (
+
+
+
+ )
+}
+
+export default SettlementsHeader
diff --git a/src/components/Settlements/SettlementsLeft/index.tsx b/src/components/Settlements/SettlementsLeft/index.tsx
new file mode 100644
index 00000000..c29480b5
--- /dev/null
+++ b/src/components/Settlements/SettlementsLeft/index.tsx
@@ -0,0 +1,27 @@
+import styled from '@emotion/styled';
+
+import Settlemented from './Settlemented';
+import SettlemntsCalender from './SettlementsCalendar';
+import SettlementsHeader from './SettlementsHeader';
+
+const SettlementsLeft = () => {
+ return (
+
+
+
+
+
+ )
+}
+
+export default SettlementsLeft
+
+const Container = styled.div`
+ width: 80%;
+ height: 100%;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background-color: #111F3F;
+`;
\ No newline at end of file
diff --git a/src/components/Settlements/SettlementsRight/SettlementsBefore/index.tsx b/src/components/Settlements/SettlementsRight/SettlementsBefore/index.tsx
new file mode 100644
index 00000000..442ebb90
--- /dev/null
+++ b/src/components/Settlements/SettlementsRight/SettlementsBefore/index.tsx
@@ -0,0 +1,9 @@
+const SettlementsBefore = () => {
+ return (
+
+
+
+ )
+}
+
+export default SettlementsBefore
diff --git a/src/components/Settlements/SettlementsRight/SettlementsExpected/index.tsx b/src/components/Settlements/SettlementsRight/SettlementsExpected/index.tsx
new file mode 100644
index 00000000..72f3f478
--- /dev/null
+++ b/src/components/Settlements/SettlementsRight/SettlementsExpected/index.tsx
@@ -0,0 +1,9 @@
+const SettlementsExpected = () => {
+ return (
+
+
+
+ )
+}
+
+export default SettlementsExpected
diff --git a/src/components/Settlements/SettlementsRight/index.tsx b/src/components/Settlements/SettlementsRight/index.tsx
new file mode 100644
index 00000000..d0a4486d
--- /dev/null
+++ b/src/components/Settlements/SettlementsRight/index.tsx
@@ -0,0 +1,13 @@
+import SettlementsBefore from "./SettlementsBefore"
+import SettlementsExpected from "./SettlementsExpected"
+
+const SettlementsRight = () => {
+ return (
+
+
+
+
+ )
+}
+
+export default SettlementsRight
diff --git a/src/components/Settlements/index.tsx b/src/components/Settlements/index.tsx
new file mode 100644
index 00000000..ba1eb407
--- /dev/null
+++ b/src/components/Settlements/index.tsx
@@ -0,0 +1,2 @@
+export { default as SettlementsLeft } from './SettlementsLeft';
+export { default as SettlementRight } from './SettlementsRight';
\ No newline at end of file
diff --git a/src/pages/Settlements/index.tsx b/src/pages/Settlements/index.tsx
new file mode 100644
index 00000000..f033cc56
--- /dev/null
+++ b/src/pages/Settlements/index.tsx
@@ -0,0 +1,11 @@
+import React from 'react'
+
+const index = () => {
+ return (
+
+
+
+ )
+}
+
+export default index
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 2c6ef1c8..8d4d8a79 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,5 +1,6 @@
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
+import { SettlementsLeft, SettlementRight } from '@components/Settlements';
const MainRouter = () => {
return (
@@ -42,7 +43,7 @@ const MainRouter = () => {
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
- fontSize: '1.5rem'
+ fontSize: '1.5rem',
}}
>
🧃 쿠폰 조회 페이지 입주 예정 🧃
@@ -68,17 +69,10 @@ const MainRouter = () => {
- 🧃 정산관리 페이지 입주 예정 🧃
-
+ <>
+
+
+ >
}
/>
From 609f6bf8050a0b3d52ed9b00a3d9719d7382ecce Mon Sep 17 00:00:00 2001
From: ovoxiix
Date: Wed, 10 Jan 2024 20:24:32 +0900
Subject: [PATCH 093/843] =?UTF-8?q?design:=20=EC=BF=A0=ED=8F=B0=20?=
=?UTF-8?q?=EB=93=B1=EB=A1=9D=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=88?=
=?UTF-8?q?=EC=9D=B4=EC=95=84=EC=9B=83=20=EB=A7=88=ED=81=AC=EC=97=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Register/index.tsx | 71 +++++++++++++++++++++++++++++++++
src/routes/MainRouter/index.tsx | 15 +------
2 files changed, 73 insertions(+), 13 deletions(-)
create mode 100644 src/pages/Register/index.tsx
diff --git a/src/pages/Register/index.tsx b/src/pages/Register/index.tsx
new file mode 100644
index 00000000..d6468fb8
--- /dev/null
+++ b/src/pages/Register/index.tsx
@@ -0,0 +1,71 @@
+import styled from '@emotion/styled';
+
+const Register = () => {
+ return (
+
+
+
+ 신규 쿠폰 등록하기
+
+
+
+ );
+};
+
+export default Register;
+
+const Background = styled.div`
+ width: 100%;
+ height: 100%;
+
+ padding: 2.5%;
+ border-radius: 20px;
+
+ background: linear-gradient(
+ 115deg,
+ #fff 0%,
+ rgba(163, 191, 255, 0.1) 49.57%,
+ #fff 100%
+ );
+`;
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+
+ border-radius: 0px 60px;
+
+ background: rgba(255, 255, 255, 0.8);
+ box-shadow:
+ 0px 17.525px 21.907px 0px rgba(0, 0, 0, 0.05),
+ -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset;
+ backdrop-filter: blur(71px);
+`;
+
+const TitleWrapper = styled.div`
+ width: 100%;
+ height: 25%;
+
+ padding: 27px 54px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+
+ border-radius: 0px 60px;
+ background: rgba(255, 255, 255, 0.9);
+ box-shadow:
+ 0px 17.525px 21.907px 0px rgba(0, 0, 0, 0.05),
+ -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset;
+ backdrop-filter: blur(71px);
+`;
+
+// FIXME: 폰트 적용 후 수정 필요
+const Title = styled.span`
+ font-family: Noto Sans KR;
+ font-size: 26px;
+ font-style: normal;
+ font-weight: 700;
+ line-height: 31.062px; /* 119.468% */
+ letter-spacing: -0.78px;
+`;
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 2c6ef1c8..cfd87df9 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,5 +1,6 @@
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
+import Register from '@pages/Register';
const MainRouter = () => {
return (
@@ -51,19 +52,7 @@ const MainRouter = () => {
/>
- 🧃 쿠폰 등록 페이지 입주 예정 🧃
-
- }
+ element={}
/>
Date: Wed, 10 Jan 2024 20:29:36 +0900
Subject: [PATCH 094/843] =?UTF-8?q?design:=20=EB=B0=B1=EA=B7=B8=EB=9D=BC?=
=?UTF-8?q?=EC=9A=B4=EB=93=9C=20=EC=BB=AC=EB=9F=AC=20=EA=B7=B8=EB=9D=BC?=
=?UTF-8?q?=EB=8D=B0=EC=9D=B4=EC=85=98=20=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Settlements/SettlementsLeft/index.tsx | 7 +-----
.../Settlements/SettlementsRight/index.tsx | 17 ++++++++++---
src/components/Settlements/index.tsx | 2 +-
src/pages/Settlements/index.tsx | 24 ++++++++++++++-----
src/routes/MainRouter/index.tsx | 6 ++---
5 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/src/components/Settlements/SettlementsLeft/index.tsx b/src/components/Settlements/SettlementsLeft/index.tsx
index c29480b5..5778feba 100644
--- a/src/components/Settlements/SettlementsLeft/index.tsx
+++ b/src/components/Settlements/SettlementsLeft/index.tsx
@@ -14,14 +14,9 @@ const SettlementsLeft = () => {
)
}
-export default SettlementsLeft
+export default SettlementsLeft;
const Container = styled.div`
width: 80%;
height: 100%;
-
- display: flex;
- justify-content: space-between;
- align-items: center;
- background-color: #111F3F;
`;
\ No newline at end of file
diff --git a/src/components/Settlements/SettlementsRight/index.tsx b/src/components/Settlements/SettlementsRight/index.tsx
index d0a4486d..4ed9dbab 100644
--- a/src/components/Settlements/SettlementsRight/index.tsx
+++ b/src/components/Settlements/SettlementsRight/index.tsx
@@ -1,13 +1,24 @@
+import styled from '@emotion/styled';
+
import SettlementsBefore from "./SettlementsBefore"
import SettlementsExpected from "./SettlementsExpected"
const SettlementsRight = () => {
return (
-
+
-
+
)
}
-export default SettlementsRight
+export default SettlementsRight;
+
+const Container = styled.div`
+ width: 20%;
+ height: 100%;
+
+ background-color: #1A2849;
+`;
+
+
diff --git a/src/components/Settlements/index.tsx b/src/components/Settlements/index.tsx
index ba1eb407..5fb96e1e 100644
--- a/src/components/Settlements/index.tsx
+++ b/src/components/Settlements/index.tsx
@@ -1,2 +1,2 @@
export { default as SettlementsLeft } from './SettlementsLeft';
-export { default as SettlementRight } from './SettlementsRight';
\ No newline at end of file
+export { default as SettlementsRight } from './SettlementsRight';
diff --git a/src/pages/Settlements/index.tsx b/src/pages/Settlements/index.tsx
index f033cc56..11256b03 100644
--- a/src/pages/Settlements/index.tsx
+++ b/src/pages/Settlements/index.tsx
@@ -1,11 +1,23 @@
-import React from 'react'
+import styled from '@emotion/styled';
-const index = () => {
+import { SettlementsRight, SettlementsLeft } from '@components/Settlements';
+
+const Settlements = () => {
return (
-
-
-
+
+
+
+
)
}
-export default index
+export default Settlements;
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+
+ background: linear-gradient(45deg, rgba(17, 31, 63, 1), rgba(26, 40, 73, 0.75));
+`;
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 8d4d8a79..3826b2a5 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,6 +1,7 @@
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
-import { SettlementsLeft, SettlementRight } from '@components/Settlements';
+
+import Settlements from '../../pages/Settlements'
const MainRouter = () => {
return (
@@ -70,8 +71,7 @@ const MainRouter = () => {
path="/settlements"
element={
<>
-
-
+
>
}
/>
From 99612f64439f59798f9696bf086e4054a890bad6 Mon Sep 17 00:00:00 2001
From: jiohjung98
Date: Wed, 10 Jan 2024 21:34:06 +0900
Subject: [PATCH 095/843] =?UTF-8?q?design:=20=EC=A0=95=EC=82=B0=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=99=BC=EC=AA=BD=20=ED=97=A4=EB=8D=94=20?=
=?UTF-8?q?=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../icons/information-circle-outline.svg | 6 ++
src/assets/icons/settlements-admin.svg | 4 ++
.../SettlementsHeader/index.tsx | 72 +++++++++++++++++--
.../Settlements/SettlementsRight/index.tsx | 4 +-
src/pages/Settlements/index.tsx | 1 +
5 files changed, 82 insertions(+), 5 deletions(-)
create mode 100644 src/assets/icons/information-circle-outline.svg
create mode 100644 src/assets/icons/settlements-admin.svg
diff --git a/src/assets/icons/information-circle-outline.svg b/src/assets/icons/information-circle-outline.svg
new file mode 100644
index 00000000..8592c7eb
--- /dev/null
+++ b/src/assets/icons/information-circle-outline.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/assets/icons/settlements-admin.svg b/src/assets/icons/settlements-admin.svg
new file mode 100644
index 00000000..170495c1
--- /dev/null
+++ b/src/assets/icons/settlements-admin.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx b/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
index 05325b9b..a9777283 100644
--- a/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
+++ b/src/components/Settlements/SettlementsLeft/SettlementsHeader/index.tsx
@@ -1,9 +1,73 @@
+import styled from '@emotion/styled';
+
+import settlementsAdminIcon from '@assets/icons/settlements-admin.svg';
+import informationIcon from '@assets/icons/information-circle-outline.svg'
+
const SettlementsHeader = () => {
return (
-
-
-
+
+
+
+
+ 쿠폰 프로모션에 적용한 정산 내역을 확인할 수 있습니다.
+
+
+
+
)
}
-export default SettlementsHeader
+export default SettlementsHeader;
+
+const Container = styled.nav`
+ margin-left: 43px;
+ margin-top: 96px;
+`;
+
+const Header = styled.nav`
+ margin-bottom: 30px;
+
+ display: flex;
+
+ align-items: center;
+`;
+
+const SettlementsAdminIcon = styled.img`
+ width: 44px;
+ height: 34.57px;
+
+ margin-right: 10px;
+`;
+
+const HeaderText = styled.div`
+ font-size: 32px;
+ font-weight: bold;
+ color: white;
+`;
+
+const Middle = styled.div`
+ display: flex;
+
+ align-items: center;
+`;
+
+const MiddleText = styled.div`
+ margin-right: 5px;
+
+ font-size: 18px;
+ color: white;
+`;
+
+const InformationIcon = styled.img`
+ margin-bottom: 5px;
+`;
+
diff --git a/src/components/Settlements/SettlementsRight/index.tsx b/src/components/Settlements/SettlementsRight/index.tsx
index 4ed9dbab..1f715f68 100644
--- a/src/components/Settlements/SettlementsRight/index.tsx
+++ b/src/components/Settlements/SettlementsRight/index.tsx
@@ -18,7 +18,9 @@ const Container = styled.div`
width: 20%;
height: 100%;
- background-color: #1A2849;
+ background-color: rgba(205, 207, 208, 0.75);
+ border-top-right-radius: 1.25rem;
+ border-bottom-right-radius: 1.25rem;
`;
diff --git a/src/pages/Settlements/index.tsx b/src/pages/Settlements/index.tsx
index 11256b03..6b894103 100644
--- a/src/pages/Settlements/index.tsx
+++ b/src/pages/Settlements/index.tsx
@@ -20,4 +20,5 @@ const Container = styled.div`
display: flex;
background: linear-gradient(45deg, rgba(17, 31, 63, 1), rgba(26, 40, 73, 0.75));
+ border-radius: 1.25rem;
`;
From 4587f29daa36cd9035ec45fe2fa0e399210d48aa Mon Sep 17 00:00:00 2001
From: jinjoo-jung
Date: Thu, 11 Jan 2024 06:41:46 +0900
Subject: [PATCH 096/843] =?UTF-8?q?feat:=20=EC=BF=A0=ED=8F=B0=EC=95=84?=
=?UTF-8?q?=EC=9D=B4=ED=85=9C=20=ED=97=A4=EB=8D=94=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/CouponList/CouponItem.tsx | 132 ++++++++++++++++++++---
src/routes/MainRouter/index.tsx | 15 +--
2 files changed, 118 insertions(+), 29 deletions(-)
diff --git a/src/components/CouponList/CouponItem.tsx b/src/components/CouponList/CouponItem.tsx
index 06bbc3f3..0c963291 100644
--- a/src/components/CouponList/CouponItem.tsx
+++ b/src/components/CouponList/CouponItem.tsx
@@ -1,28 +1,128 @@
import React from 'react';
import exposeIcon from '@assets/icons/CouponList/ic_expose.svg';
import toggleOnIcon from '@assets/icons/CouponList/ic_toggle_on.svg';
+import styled from '@emotion/styled';
const CouponItem = () => {
return (
-
-
-
-
현재 노출 중
-
-
-
+
+
+
+
+ 현재 노출 중
+
+
+ ON
+
+
+
+
+ 적용 객실
+ 전체
+
+
);
};
export default CouponItem;
+
+const CouponHeader = styled.div`
+ width: 218px;
+ height: 77px;
+
+ border-radius: 10.608px 10.608px 0px 0px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ background: var(
+ --gradient,
+ linear-gradient(91deg, #ff3478 1.39%, #ff83ad 98.63%)
+ );
+`;
+
+const ExposeContainer = styled.div`
+ display: flex;
+ justify-content: space-between;
+ padding: 4px 10px;
+`;
+
+const ExposeWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ExposeText = styled.div`
+ color: ${props => props.theme.colors.white};
+ font-size: 12px;
+`;
+
+const ToggleWrap = styled.div`
+ width: 48.229px;
+ height: 23.526px;
+
+ border-radius: 17.68px;
+ border: 1px solid #e3e5e5;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 3px;
+ padding-left: 5px;
+
+ background-color: ${props => props.theme.colors.white};
+`;
+
+const ToggleText = styled.div`
+ font-size: 10px;
+
+ color: ${props => props.theme.colors.pink500};
+`;
+
+const RoomWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ApplyRoom = styled.div`
+ position: relative;
+
+ width: 194px;
+ height: 31px;
+
+ padding-top: 12px;
+ padding-left: 10px;
+ border-radius: 8px;
+
+ background-color: ${props => props.theme.colors.white};
+
+ font-size: 10px;
+ color: #404446;
+`;
+
+const RoomButton = styled.button`
+ position: absolute;
+
+ width: 113px;
+ height: 23px;
+
+ margin-left: 76px;
+ border-radius: 12px;
+ border: 1px solid #ffadc8;
+
+ background-color: transparent;
+
+ color: ${props => props.theme.colors.pink500};
+ font-size: 11px;
+`;
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 15609ade..284e32bf 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,6 +1,7 @@
// import CouponList from '@pages/CouponList';
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
+import CouponList from '@pages/CouponList';
const MainRouter = () => {
return (
@@ -36,19 +37,7 @@ const MainRouter = () => {
/>
- 🧃 쿠폰 조회 페이지 입주 예정 🧃
-
- }
+ element={}
/>
Date: Thu, 11 Jan 2024 14:43:17 +0900
Subject: [PATCH 097/843] =?UTF-8?q?feat:=20=EC=BA=98=EB=A6=B0=EB=8D=94=20?=
=?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=83=9D=EC=84=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 118 ++++++++++++++++++
package.json | 2 +
src/assets/icons/calendar-number-outline.svg | 32 +++++
.../SettlementsCalendar/index.tsx | 63 +++++++++-
.../Settlements/SettlementsLeft/index.tsx | 11 +-
5 files changed, 219 insertions(+), 7 deletions(-)
create mode 100644 src/assets/icons/calendar-number-outline.svg
diff --git a/package-lock.json b/package-lock.json
index 26dc31fa..522bec7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"react": "^18.2.0",
+ "react-datepicker": "^4.25.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
},
@@ -19,6 +20,7 @@
"@swc/jest": "^0.2.29",
"@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
+ "@types/react-datepicker": "^4.19.5",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.14.0",
"@typescript-eslint/parser": "^6.14.0",
@@ -2045,6 +2047,15 @@
"node": ">= 8"
}
},
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.1.tgz",
@@ -2593,6 +2604,18 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/react-datepicker": {
+ "version": "4.19.5",
+ "resolved": "https://registry.npmjs.org/@types/react-datepicker/-/react-datepicker-4.19.5.tgz",
+ "integrity": "sha512-tKpuj19p9T4sBQm3Bw13CPuhalo4CFOe/LcSUGJ5z6DmHoiBX3uq33iMKePeSEq7OxyU8O1rh5emAm92nyXZLg==",
+ "dev": true,
+ "dependencies": {
+ "@popperjs/core": "^2.9.2",
+ "@types/react": "*",
+ "date-fns": "^2.0.1",
+ "react-popper": "^2.2.5"
+ }
+ },
"node_modules/@types/react-dom": {
"version": "18.2.18",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
@@ -3246,6 +3269,11 @@
"integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
"dev": true
},
+ "node_modules/classnames": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
+ "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="
+ },
"node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
@@ -3386,6 +3414,21 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
+ "node_modules/date-fns": {
+ "version": "2.30.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0"
+ },
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -5645,6 +5688,14 @@
"node": ">=8"
}
},
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -5981,6 +6032,16 @@
"node": ">= 6"
}
},
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -6037,6 +6098,23 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-datepicker": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.25.0.tgz",
+ "integrity": "sha512-zB7CSi44SJ0sqo8hUQ3BF1saE/knn7u25qEMTO1CQGofY1VAKahO8k9drZtp0cfW1DMfoYLR3uSY1/uMvbEzbg==",
+ "dependencies": {
+ "@popperjs/core": "^2.11.8",
+ "classnames": "^2.2.6",
+ "date-fns": "^2.30.0",
+ "prop-types": "^15.7.2",
+ "react-onclickoutside": "^6.13.0",
+ "react-popper": "^2.3.0"
+ },
+ "peerDependencies": {
+ "react": "^16.9.0 || ^17 || ^18",
+ "react-dom": "^16.9.0 || ^17 || ^18"
+ }
+ },
"node_modules/react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
@@ -6049,11 +6127,43 @@
"react": "^18.2.0"
}
},
+ "node_modules/react-fast-compare": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
+ "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
+ },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/react-onclickoutside": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz",
+ "integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==",
+ "funding": {
+ "type": "individual",
+ "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md"
+ },
+ "peerDependencies": {
+ "react": "^15.5.x || ^16.x || ^17.x || ^18.x",
+ "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x"
+ }
+ },
+ "node_modules/react-popper": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz",
+ "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==",
+ "dependencies": {
+ "react-fast-compare": "^3.0.1",
+ "warning": "^4.0.2"
+ },
+ "peerDependencies": {
+ "@popperjs/core": "^2.0.0",
+ "react": "^16.8.0 || ^17 || ^18",
+ "react-dom": "^16.8.0 || ^17 || ^18"
+ }
+ },
"node_modules/react-router": {
"version": "6.21.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.1.tgz",
@@ -6748,6 +6858,14 @@
"makeerror": "1.0.12"
}
},
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index bb78fda5..4c3725af 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"react": "^18.2.0",
+ "react-datepicker": "^4.25.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1"
},
@@ -22,6 +23,7 @@
"@swc/jest": "^0.2.29",
"@types/jest": "^29.5.11",
"@types/react": "^18.2.43",
+ "@types/react-datepicker": "^4.19.5",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.14.0",
"@typescript-eslint/parser": "^6.14.0",
diff --git a/src/assets/icons/calendar-number-outline.svg b/src/assets/icons/calendar-number-outline.svg
new file mode 100644
index 00000000..def1851f
--- /dev/null
+++ b/src/assets/icons/calendar-number-outline.svg
@@ -0,0 +1,32 @@
+
diff --git a/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx b/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
index 18d7e0fd..9a10880e 100644
--- a/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
+++ b/src/components/Settlements/SettlementsLeft/SettlementsCalendar/index.tsx
@@ -1,9 +1,62 @@
-const SettlemntsCalender = () => {
+import { useState } from 'react';
+import styled from '@emotion/styled';
+import DatePicker from 'react-datepicker';
+import 'react-datepicker/dist/react-datepicker.css';
+
+import CalendarIcon from '@assets/icons/calendar-number-outline.svg';
+
+const SettlementsCalender = () => {
+ const [startDate, setStartDate] = useState(null);
+ const [endDate, setEndDate] = useState(null);
+
+ const handleStartDateChange = (date: Date | null) => {
+ setStartDate(date);
+ };
+
+ const handleEndDateChange = (date: Date | null) => {
+ setEndDate(date);
+ };
+
return (
-
-
-
+
+
+ 기간 설정
+
+
+
+
)
}
-export default SettlemntsCalender
+export default SettlementsCalender;
+
+const Container = styled.nav`
+ margin-right: 43px;
+
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+`;
+
+const Calendar = styled.img`
+`;
+
+const CalendarText = styled.div`
+ font-size: 15px;
+ font-weight: bold;
+ color: white;
+`;
\ No newline at end of file
diff --git a/src/components/Settlements/SettlementsLeft/index.tsx b/src/components/Settlements/SettlementsLeft/index.tsx
index 5778feba..df239140 100644
--- a/src/components/Settlements/SettlementsLeft/index.tsx
+++ b/src/components/Settlements/SettlementsLeft/index.tsx
@@ -1,15 +1,18 @@
import styled from '@emotion/styled';
import Settlemented from './Settlemented';
-import SettlemntsCalender from './SettlementsCalendar';
+import SettlementsCalender from './SettlementsCalendar';
import SettlementsHeader from './SettlementsHeader';
const SettlementsLeft = () => {
return (
-
+
+
+
+
)
}
@@ -19,4 +22,8 @@ export default SettlementsLeft;
const Container = styled.div`
width: 80%;
height: 100%;
+`;
+
+const BreakLine = styled.div`
+ margin: 0 40px;
`;
\ No newline at end of file
From 859bbf41eb99aefffd644804dea04d44a6967bc0 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Thu, 11 Jan 2024 15:06:02 +0900
Subject: [PATCH 098/843] =?UTF-8?q?modify:=20=EC=BD=9C=EB=B0=B1=20?=
=?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=A0=9C=EA=B1=B0=EB=A1=9C=20=EB=A9=94?=
=?UTF-8?q?=EB=AA=A8=EB=A6=AC=20=EC=82=AC=EC=9A=A9=20=EA=B0=90=EC=86=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ErrorFallback/ErrorApp/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/ErrorFallback/ErrorApp/index.tsx b/src/components/ErrorFallback/ErrorApp/index.tsx
index 76b4dc83..af782ea1 100644
--- a/src/components/ErrorFallback/ErrorApp/index.tsx
+++ b/src/components/ErrorFallback/ErrorApp/index.tsx
@@ -5,7 +5,7 @@ const ErrorApp = ({ error, resetErrorBoundary }: FallbackProps) => {
App 전체 에러 발생
{error.message}
-
+
);
};
From 8859cd78b8b9ef6ea288440bbcabec574e0c035f Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Thu, 11 Jan 2024 16:01:32 +0900
Subject: [PATCH 099/843] =?UTF-8?q?fix:=20=EC=BF=A0=ED=8F=B0=20=ED=86=A0?=
=?UTF-8?q?=EA=B8=80=20focus=20outline=20=EA=B9=A8=EC=A7=90=20=ED=98=84?=
=?UTF-8?q?=EC=83=81=20=ED=95=B4=EA=B2=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Sidebar/Navigation/Coupon/index.tsx | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 71ab83c1..6dc33578 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -131,15 +131,19 @@ const Contents = styled.div`
const Toggle = styled.button`
width: ${toRem(20)};
- height: 100%;
+ height: ${toRem(20)};
margin-right: ${toRem(20)};
border: none;
- display: ${props => (props.$isSidebarOpen ? 'relative' : 'none')};
+ display: ${props => (props.$isSidebarOpen ? 'flex' : 'none')};
+ align-items: center;
+ justify-content: center;
background-color: transparent;
+ align-self: center;
+
cursor: pointer;
`;
From f60a3d29e508bc2c010211157c9c9e870ee171d1 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Thu, 11 Jan 2024 16:27:18 +0900
Subject: [PATCH 100/843] =?UTF-8?q?feat:=20=ED=86=A0=EA=B8=80=20=ED=81=B4?=
=?UTF-8?q?=EB=A6=AD=20=EC=8B=9C=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4?=
=?UTF-8?q?=EC=85=98=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Sidebar/Navigation/Coupon/index.tsx | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
index 6dc33578..ec41482f 100644
--- a/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
+++ b/src/components/common/Layout/Sidebar/Navigation/Coupon/index.tsx
@@ -42,6 +42,7 @@ const Coupon = ({ isSidebarOpen }: { isSidebarOpen: boolean }) => {
setIsToggleOpen(prev => !prev)}
>
`
align-items: center;
`;
-const Toggle = styled.button`
+const Toggle = styled.button`
width: ${toRem(20)};
height: ${toRem(20)};
@@ -139,12 +140,14 @@ const Toggle = styled.button`
display: ${props => (props.$isSidebarOpen ? 'flex' : 'none')};
align-items: center;
justify-content: center;
+ align-self: center;
background-color: transparent;
- align-self: center;
-
cursor: pointer;
+
+ transition: all 0.4s;
+ transform: rotate(${props => (props.$isToggleOpen ? '180deg' : '0deg')});
`;
const ToggleIcon = styled.img`
From fdea4fc24e194d05be03dd681967e5c8dc32e5ab Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:02:23 +0900
Subject: [PATCH 101/843] =?UTF-8?q?design:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?=
=?UTF-8?q?=EB=93=9C=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=88=EC=9D=B4?=
=?UTF-8?q?=EC=95=84=EC=9B=83=20=EB=B0=B0=EA=B2=BD=EC=83=89=20=EC=98=88?=
=?UTF-8?q?=EC=99=B8=EC=B2=98=EB=A6=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Layout/index.tsx | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/components/common/Layout/index.tsx b/src/components/common/Layout/index.tsx
index b48e660b..a0156dcf 100644
--- a/src/components/common/Layout/index.tsx
+++ b/src/components/common/Layout/index.tsx
@@ -1,17 +1,26 @@
import styled from '@emotion/styled';
import { Outlet } from 'react-router-dom';
+import { useLocation } from 'react-router-dom';
import { toRem } from '@utils/index';
import Sidebar from './Sidebar';
import Header from './Header';
const Layout = () => {
+ const location = useLocation();
+
return (
@@ -51,4 +60,8 @@ const OutletLayout = styled.div`
border-radius: ${toRem(20)};
background-color: ${props => props.theme.colors.white};
+
+ &.home {
+ background-color: transparent;
+ }
`;
From 04e589ce0215a8b099c863f5ed3bc018ff2cb965 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:04:54 +0900
Subject: [PATCH 102/843] =?UTF-8?q?chore:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?=
=?UTF-8?q?=EB=93=9C,=20=EB=88=84=EC=A0=81=EB=A6=AC=ED=8F=AC=ED=8A=B8=20?=
=?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Dashboard.tsx/index.tsx | 54 +++++++++++++++----------------
src/pages/Report.tsx/index.tsx | 41 +++++++++++++++++++++++
src/routes/MainRouter/index.tsx | 23 ++++---------
3 files changed, 73 insertions(+), 45 deletions(-)
create mode 100644 src/pages/Report.tsx/index.tsx
diff --git a/src/pages/Dashboard.tsx/index.tsx b/src/pages/Dashboard.tsx/index.tsx
index 50597fae..4461961d 100644
--- a/src/pages/Dashboard.tsx/index.tsx
+++ b/src/pages/Dashboard.tsx/index.tsx
@@ -1,52 +1,50 @@
import styled from '@emotion/styled';
import {
- DashboardHeader,
GraphSection,
- CouponRankingSection,
- CouponStatusSection
+ CouponStatusSection,
+ CouponRecommendSection,
+ DailyReportSection
} from '@components/Dashboard';
const Dashboard = () => {
return (
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
);
};
export default Dashboard;
-const StyledContainer = styled.div`
+const Container = styled.div`
display: flex;
- flex-direction: column;
- width: 100%;
- height: 100vh;
- background-color: ghostwhite;
-`;
+ justify-content: space-between;
+ gap: 25px;
-const StyledInnerContainer = styled.div`
- display: flex;
- flex-direction: row;
+ width: 100%;
+ height: 100%;
`;
-const StyledSectionLeft = styled.div`
+const SectionLeft = styled.div`
display: flex;
flex-direction: column;
- width: 60%;
+
+ flex: 8;
+ height: 100%;
`;
-const StyledSectionRight = styled.div`
+const SectionRight = styled.div`
display: flex;
flex-direction: column;
- width: 40%;
+
+ flex: 2;
+ height: 100%;
`;
diff --git a/src/pages/Report.tsx/index.tsx b/src/pages/Report.tsx/index.tsx
new file mode 100644
index 00000000..4cca7495
--- /dev/null
+++ b/src/pages/Report.tsx/index.tsx
@@ -0,0 +1,41 @@
+import styled from '@emotion/styled';
+
+import { ReportGraphSection } from '@components/Report';
+
+const Report = () => {
+ return (
+
+
+
+
+
+
+ );
+};
+
+export default Report;
+
+const Container = styled.div`
+ display: flex;
+ justify-content: space-between;
+ gap: 25px;
+
+ width: 100%;
+ height: 100%;
+`;
+
+const SectionLeft = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ flex: 8;
+ height: 100%;
+`;
+
+const SectionRight = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ flex: 2;
+ height: 100%;
+`;
diff --git a/src/routes/MainRouter/index.tsx b/src/routes/MainRouter/index.tsx
index 50cc08c0..f77e3923 100644
--- a/src/routes/MainRouter/index.tsx
+++ b/src/routes/MainRouter/index.tsx
@@ -1,14 +1,11 @@
import { Route, Routes } from 'react-router-dom';
import { Layout } from '@components/common';
import Dashboard from '@pages/Dashboard.tsx';
+import Report from '@pages/Report.tsx';
const MainRouter = () => {
return (
- }
- />
{
}>
- 🧃 대시보드 페이지 입주 예정 🧃
-
- }
+ element={}
/>
{
}
/>
+ }
+ />
);
From ef6cd5ec39d3fe78b54949551550a999b80403c5 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:05:57 +0900
Subject: [PATCH 103/843] =?UTF-8?q?design:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?=
=?UTF-8?q?=EB=93=9C.=EB=A6=AC=ED=8F=AC=ED=8A=B8=20=ED=8E=98=EC=9D=B4?=
=?UTF-8?q?=EC=A7=80=20=EA=B3=B5=EC=9A=A9=ED=97=A4=EB=8D=94=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/DashboardHeader/index.tsx | 98 +++++++++++++++++++
src/components/common/index.tsx | 1 +
2 files changed, 99 insertions(+)
create mode 100644 src/components/common/DashboardHeader/index.tsx
diff --git a/src/components/common/DashboardHeader/index.tsx b/src/components/common/DashboardHeader/index.tsx
new file mode 100644
index 00000000..7831f6e1
--- /dev/null
+++ b/src/components/common/DashboardHeader/index.tsx
@@ -0,0 +1,98 @@
+import styled from '@emotion/styled';
+import { useNavigate, useLocation } from 'react-router-dom';
+
+const DashboardHeader = () => {
+ const navigate = useNavigate();
+ const location = useLocation();
+
+ return (
+
+
+ {
+ navigate('/');
+ }}
+ >
+ 대시보드
+
+ {
+ navigate('/report');
+ }}
+ >
+ 누적 리포트
+
+
+
+
+ );
+};
+
+export default DashboardHeader;
+
+const Container = styled.div`
+ position: relative;
+
+ width: 100%;
+
+ border-bottom: 2px solid #c5c5c57f;
+
+ display: flex;
+ justify-content: space-between;
+`;
+
+const Menucontainer = styled.div`
+ display: flex;
+`;
+
+const DashboardNav = styled.div`
+ margin-right: 45px;
+ padding: 16px 0;
+ border-bottom: none;
+ font-size: 17px;
+ font-weight: 700;
+ color: #73757c;
+
+ cursor: pointer;
+
+ &.dashboard {
+ border-bottom: 2px solid #001d6c;
+
+ color: #001d6c;
+ }
+`;
+
+const ReportNav = styled(DashboardNav)`
+ &.report {
+ border-bottom: 2px solid #001d6c;
+
+ color: #001d6c;
+ }
+`;
+
+const Button = styled.button`
+ display: flex;
+
+ width: 175px;
+ height: 44px;
+
+ margin-bottom: 10px;
+ padding: 14px 20px;
+ border-radius: 12px;
+ justify-content: center;
+ align-items: center;
+
+ border: none;
+
+ background: linear-gradient(273deg, #ff0a5c 43.78%, #ff4281 99.72%);
+ color: white;
+ font-size: 17px;
+
+ position: absolute;
+ bottom: 0;
+ right: 0;
+
+ cursor: pointer;
+`;
diff --git a/src/components/common/index.tsx b/src/components/common/index.tsx
index 6c48faec..51b9f107 100644
--- a/src/components/common/index.tsx
+++ b/src/components/common/index.tsx
@@ -1 +1,2 @@
export { default as Layout } from './Layout';
+export { default as DashboardHeader } from './DashboardHeader';
From d037018c2f9858447feb9ac397a2ae89b81e37cf Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:07:37 +0900
Subject: [PATCH 104/843] =?UTF-8?q?design:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?=
=?UTF-8?q?=EB=93=9C=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=88=EC=9D=B4?=
=?UTF-8?q?=EC=95=84=EC=9B=83=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dashboard/CouponRankingSection/index.tsx | 18 --
.../CouponRecommendSection/index.tsx | 22 +++
.../Dashboard/CouponStatusSection/index.tsx | 40 +++-
.../Dashboard/DailyReportSection/index.tsx | 30 +++
.../Dashboard/DashboardHeader/index.tsx | 49 -----
.../Dashboard/GraphSection/DownLoadReport.tsx | 45 +++++
.../Dashboard/GraphSection/GraphContainer.tsx | 174 ++++++++++++++++++
.../Dashboard/GraphSection/index.tsx | 139 ++++----------
src/components/Dashboard/index.tsx | 4 +-
9 files changed, 346 insertions(+), 175 deletions(-)
delete mode 100644 src/components/Dashboard/CouponRankingSection/index.tsx
create mode 100644 src/components/Dashboard/CouponRecommendSection/index.tsx
create mode 100644 src/components/Dashboard/DailyReportSection/index.tsx
delete mode 100644 src/components/Dashboard/DashboardHeader/index.tsx
create mode 100644 src/components/Dashboard/GraphSection/DownLoadReport.tsx
create mode 100644 src/components/Dashboard/GraphSection/GraphContainer.tsx
diff --git a/src/components/Dashboard/CouponRankingSection/index.tsx b/src/components/Dashboard/CouponRankingSection/index.tsx
deleted file mode 100644
index 930cf17e..00000000
--- a/src/components/Dashboard/CouponRankingSection/index.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import styled from '@emotion/styled';
-
-const CouponRankingSection = () => {
- return ;
-};
-
-export default CouponRankingSection;
-
-const StyledContainer = styled.div`
- display: flex;
-
- width: 100%;
- height: 50vh;
-
- background-color: green;
-
- box-sizing: border-box;
-`;
diff --git a/src/components/Dashboard/CouponRecommendSection/index.tsx b/src/components/Dashboard/CouponRecommendSection/index.tsx
new file mode 100644
index 00000000..767afe62
--- /dev/null
+++ b/src/components/Dashboard/CouponRecommendSection/index.tsx
@@ -0,0 +1,22 @@
+import styled from '@emotion/styled';
+
+const CouponRecommendSection = () => {
+ return ;
+};
+
+export default CouponRecommendSection;
+
+const Container = styled.div`
+ width: 100%;
+ height: 327px;
+
+ margin-top: 17px;
+ border-radius: 20px;
+
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+
+ background-color: white;
+`;
diff --git a/src/components/Dashboard/CouponStatusSection/index.tsx b/src/components/Dashboard/CouponStatusSection/index.tsx
index e0a52497..44dfa81e 100644
--- a/src/components/Dashboard/CouponStatusSection/index.tsx
+++ b/src/components/Dashboard/CouponStatusSection/index.tsx
@@ -1,18 +1,48 @@
import styled from '@emotion/styled';
const CouponStatusSection = () => {
- return ;
+ return (
+
+
+ 쿠폰 현황
+
+ );
};
export default CouponStatusSection;
-const StyledContainer = styled.div`
+const Container = styled.div`
+ height: 481px;
+
+ padding: 29px 15px;
+ border-radius: 20px;
+
display: flex;
+ flex-direction: column;
+ align-items: center;
+ background-color: white;
+`;
+
+const Header = styled.div`
width: 100%;
- height: 100vh;
+`;
- background-color: orange;
+const Title = styled.div`
+ padding: 16px 0;
- box-sizing: border-box;
+ font-size: 17px;
+ font-weight: 700;
+`;
+
+const InnerContainer = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
`;
diff --git a/src/components/Dashboard/DailyReportSection/index.tsx b/src/components/Dashboard/DailyReportSection/index.tsx
new file mode 100644
index 00000000..57408cb3
--- /dev/null
+++ b/src/components/Dashboard/DailyReportSection/index.tsx
@@ -0,0 +1,30 @@
+import styled from '@emotion/styled';
+
+const DailyReportSection = () => {
+ return (
+
+ 우리 숙소 일간 리포트
+
+ );
+};
+
+export default DailyReportSection;
+
+const Container = styled.div`
+ width: 100%;
+ height: 379px;
+
+ margin-top: 17px;
+ padding: 38.5px 15px 0px 15px;
+ border-radius: 20px;
+
+ display: flex;
+ flex-direction: column;
+
+ background-color: white;
+`;
+
+const Title = styled.div`
+ font-size: 17px;
+ font-weight: 700;
+`;
diff --git a/src/components/Dashboard/DashboardHeader/index.tsx b/src/components/Dashboard/DashboardHeader/index.tsx
deleted file mode 100644
index 66f34f72..00000000
--- a/src/components/Dashboard/DashboardHeader/index.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import styled from '@emotion/styled';
-
-const DashboardHeader = () => {
- return (
-
-
- 쿠폰현황
- 누적리포트
-
- 쿠폰 등록하기
-
- );
-};
-
-export default DashboardHeader;
-
-const StyledContainer = styled.div`
- display: flex;
- justify-content: space-between;
-
- width: 100%;
- padding: 0 20px 0 20px;
-
- background-color: red;
-
- box-sizing: border-box;
-`;
-
-const StyledMenuContainer = styled.div`
- display: flex;
-`;
-
-const StyledMenu = styled.div`
- padding: 40px;
-
- color: black;
-
- cursor: pointer;
-`;
-
-const StyledButton = styled.button`
- display: flex;
-
- padding: 1rem;
-
- color: pink;
-
- align-self: flex-end;
-`;
diff --git a/src/components/Dashboard/GraphSection/DownLoadReport.tsx b/src/components/Dashboard/GraphSection/DownLoadReport.tsx
new file mode 100644
index 00000000..cae0477d
--- /dev/null
+++ b/src/components/Dashboard/GraphSection/DownLoadReport.tsx
@@ -0,0 +1,45 @@
+import styled from '@emotion/styled';
+
+const DownLoadReport = () => {
+ return (
+
+
+
+
+ );
+};
+
+export default DownLoadReport;
+
+const Container = styled.div`
+ width: 100%;
+ height: 100%;
+
+ display: flex;
+ flex-direction: column;
+`;
+const Header = styled.div`
+ padding: 32px 0 16px 0;
+
+ display: flex;
+ flex-direction: row;
+ align-items: flex-end;
+`;
+
+const Title = styled.span`
+ color: #484e59;
+ font-size: 18px;
+ font-weight: 700;
+`;
+
+const InnerContainer = styled.div`
+ min-height: 363.88px;
+
+ border-radius: 20px;
+
+ flex: 1;
+
+ background-color: #fafafb;
+`;
diff --git a/src/components/Dashboard/GraphSection/GraphContainer.tsx b/src/components/Dashboard/GraphSection/GraphContainer.tsx
new file mode 100644
index 00000000..2e855f46
--- /dev/null
+++ b/src/components/Dashboard/GraphSection/GraphContainer.tsx
@@ -0,0 +1,174 @@
+import styled from '@emotion/styled';
+import { useState } from 'react';
+import {
+ Chart as ChartJS,
+ LinearScale,
+ CategoryScale,
+ BarElement,
+ PointElement,
+ LineElement,
+ Legend,
+ Tooltip,
+ LineController,
+ BarController
+} from 'chart.js';
+import { Chart } from 'react-chartjs-2';
+
+ChartJS.register(
+ LinearScale,
+ CategoryScale,
+ BarElement,
+ PointElement,
+ LineElement,
+ Legend,
+ Tooltip,
+ LineController,
+ BarController
+);
+
+//HACK: 그래프 데이터 렌더링에 대한 테스트파일입니다. 실제 기능 구현에서는 해당 파일 다소 변경될 것 같습니다.
+
+const labels = ['1월', '2월', '3월', '4월', '5월', '6월', '7월'];
+
+export const data = {
+ labels,
+ datasets: [
+ {
+ type: 'line' as const,
+ label: '전환율',
+ borderColor: '#FFADC8',
+ backgroundColor: '#FFADC8',
+ borderWidth: 2,
+ fill: false,
+ data: [900, 900, 900, 900, 800, 600, 800]
+ },
+ {
+ type: 'bar' as const,
+ // fill: true,
+ label: '쿠폰 다운로드',
+ data: [600, 500, 400, 500, 600, 800, 800],
+ backgroundColor: '#3182F6',
+ borderRadius: 5
+ },
+
+ {
+ type: 'bar' as const,
+ // fill: true,
+ label: '쿠폰 사용완료',
+ data: [300, 400, 200, 200, 400, 600, 700],
+ backgroundColor: '#FF3478',
+ borderRadius: 5
+ }
+ ]
+};
+
+const GraphContainer = () => {
+ const [doownLoad, setDownLoad] = useState(0);
+
+ const options: any = {
+ responsive: true,
+ plugins: {
+ // legend: {
+ // display: false
+ // }
+ },
+
+ scales: {
+ x: {
+ grid: {
+ display: false
+ },
+ ticks: {
+ color: 'gray',
+ font: {
+ size: 14,
+ weight: 500
+ },
+ padding: 15
+ }
+ },
+ y: {
+ beginAtZero: true,
+ max: 1200,
+ grid: {
+ display: false
+ }
+ }
+ },
+ onClick: (event: MouseEvent, elements: any[]) => {
+ if (elements.length > 0) {
+ const clickedIndex: number = elements[0].index;
+ const clickedLabel: string = labels[clickedIndex];
+
+ console.log(`Clicked on ${clickedLabel}`);
+
+ const allDataForClickedMonth: number[] = data.datasets.map(
+ dataset => dataset.data[clickedIndex]
+ );
+ console.log(`Data for ${clickedLabel}:`, allDataForClickedMonth);
+ setDownLoad(allDataForClickedMonth[1]);
+ }
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+
+ );
+};
+
+export default GraphContainer;
+
+const Container = styled.div`
+ width: 100%;
+
+ display: flex;
+ flex-direction: column;
+`;
+
+const Header = styled.div`
+ padding: 24.33px 0;
+
+ display: flex;
+ flex-direction: row;
+ align-items: flex-end;
+`;
+
+const Title = styled.span`
+ font-size: 22px;
+ font-weight: 700;
+ line-height: 100%;
+`;
+
+const GraphWrapper = styled.div`
+ min-height: 357px;
+ width: 100%;
+ height: 100%;
+ border-radius: 20px;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ background-color: #fafafb;
+`;
+
+const GraphInnerWrapper = styled.div`
+ width: 90%;
+
+ border-radius: 20px;
+
+ background-color: #fff;
+`;
diff --git a/src/components/Dashboard/GraphSection/index.tsx b/src/components/Dashboard/GraphSection/index.tsx
index 4fb14bbc..29254d57 100644
--- a/src/components/Dashboard/GraphSection/index.tsx
+++ b/src/components/Dashboard/GraphSection/index.tsx
@@ -1,117 +1,54 @@
import styled from '@emotion/styled';
-import {
- Chart as ChartJS,
- LinearScale,
- CategoryScale,
- BarElement,
- PointElement,
- LineElement,
- Legend,
- Tooltip,
- LineController,
- BarController
-} from 'chart.js';
-import { Chart } from 'react-chartjs-2';
-ChartJS.register(
- LinearScale,
- CategoryScale,
- BarElement,
- PointElement,
- LineElement,
- Legend,
- Tooltip,
- LineController,
- BarController
-);
-
-const labels = ['1월', '2월', '3월', '4월', '5월', '6월', '7월']; //x축 기준
-
-export const options = {
- responsive: true,
- plugins: {
- legend: {
- display: false
- }
- },
- scales: {
- x: {
- grid: {
- display: false
- },
- ticks: {
- color: 'gray',
- font: {
- size: 20,
- weight: 500
- },
- padding: 20
- }
- },
- y: {
- beginAtZero: true,
- max: 1200,
- grid: {
- display: false
- }
- }
- }
-};
-
-export const data = {
- labels,
- datasets: [
- {
- type: 'line' as const,
- label: 'dd',
- borderColor: 'rgb(25, 99, 132)',
- borderWidth: 2,
- fill: false,
- data: [300, 400, 200, 200, 400, 600, 700]
- },
- {
- type: 'bar' as const,
- fill: true,
- label: '쿠폰매출',
- data: [300, 400, 200, 200, 400, 600, 700],
- backgroundColor: 'rgba(255, 22, 255, 0.5)'
- },
-
- {
- type: 'bar' as const,
- fill: true,
- label: '전체매출',
- data: [600, 500, 400, 500, 600, 800, 800],
- backgroundColor: 'rgba(255, 99, 132, 0.5)',
- borderRadius: 8
- }
- ]
-};
+import { DashboardHeader } from '@components/common';
+import GraphContainer from './GraphContainer';
+import DownLoadReport from './DownLoadReport';
const GraphSection = () => {
return (
-
- 월간 쿠폰 적용 매출 vs 전체 매출 비교 그래프
-
-
+
+
+
+
+
+
+
+
+
+
+
);
};
export default GraphSection;
-const StyledContainer = styled.div`
+const Container = styled.div`
+ width: 100%;
+ height: 533px;
+
+ padding: 37px 18px 35px 37px;
+ border-radius: 20px;
+
display: flex;
flex-direction: column;
+
+ background-color: white;
+`;
+
+const InnerContainer = styled.div`
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ gap: 12px;
+
width: 100%;
- height: 50vh;
- background-color: skyblue;
+ height: 100%;
+`;
+
+const LeftSection = styled.div`
+ flex: 6;
`;
-const StyledHeader = styled.div`
- font-size: 2rem;
+const RightSection = styled.div`
+ flex: 4;
`;
diff --git a/src/components/Dashboard/index.tsx b/src/components/Dashboard/index.tsx
index 3b64a32a..de115e1b 100644
--- a/src/components/Dashboard/index.tsx
+++ b/src/components/Dashboard/index.tsx
@@ -1,4 +1,4 @@
-export { default as CouponRankingSection } from './CouponRankingSection';
export { default as CouponStatusSection } from './CouponStatusSection';
-export { default as DashboardHeader } from './DashboardHeader';
export { default as GraphSection } from './GraphSection';
+export { default as CouponRecommendSection } from './CouponRecommendSection';
+export { default as DailyReportSection } from './DailyReportSection';
From 3e382f8d475d46cb05c9f6ce7b20f2b868f13402 Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:08:01 +0900
Subject: [PATCH 105/843] =?UTF-8?q?desing:=20=EB=88=84=EC=A0=81=EB=A6=AC?=
=?UTF-8?q?=ED=8F=AC=ED=8A=B8=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=A0=88?=
=?UTF-8?q?=EC=9D=B4=EC=95=84=EC=9B=83=20=EC=B4=88=EC=95=88=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Report/ReportGraphSection/index.tsx | 37 +++++++++++++++++++
src/components/Report/index.tsx | 1 +
2 files changed, 38 insertions(+)
create mode 100644 src/components/Report/ReportGraphSection/index.tsx
create mode 100644 src/components/Report/index.tsx
diff --git a/src/components/Report/ReportGraphSection/index.tsx b/src/components/Report/ReportGraphSection/index.tsx
new file mode 100644
index 00000000..0b7616b5
--- /dev/null
+++ b/src/components/Report/ReportGraphSection/index.tsx
@@ -0,0 +1,37 @@
+import styled from '@emotion/styled';
+
+import { DashboardHeader } from '@components/common';
+
+const ReportGraphSection = () => {
+ return (
+
+
+
+
+ );
+};
+
+export default ReportGraphSection;
+
+const Container = styled.div`
+ width: 100%;
+ height: 533px;
+
+ padding: 37px 18px 35px 37px;
+ border-radius: 20px;
+
+ display: flex;
+ flex-direction: column;
+
+ background-color: white;
+`;
+
+const InnerContainer = styled.div`
+ width: 100%;
+ height: 50vh;
+
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ gap: 12px;
+`;
diff --git a/src/components/Report/index.tsx b/src/components/Report/index.tsx
new file mode 100644
index 00000000..c2146487
--- /dev/null
+++ b/src/components/Report/index.tsx
@@ -0,0 +1 @@
+export { default as ReportGraphSection } from './ReportGraphSection';
From 0c4d062e88d585678b9779a72fd26072de75c94c Mon Sep 17 00:00:00 2001
From: jinjoo-jung
Date: Thu, 11 Jan 2024 17:10:49 +0900
Subject: [PATCH 106/843] =?UTF-8?q?feat:=20=EB=85=B8=EC=B6=9C=EC=A4=91=20?=
=?UTF-8?q?=EC=BF=A0=ED=8F=B0=20=ED=8D=BC=EB=B8=94=EB=A6=AC=EC=8B=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/CouponList/CouponItem.tsx | 128 --------
.../CouponList/CouponItem/CouponExpired.tsx | 0
.../CouponList/CouponItem/CouponExpose.tsx | 309 ++++++++++++++++++
.../CouponList/CouponItem/CouponStop.tsx | 0
.../CouponList/CouponItem/CouponWait.tsx | 0
5 files changed, 309 insertions(+), 128 deletions(-)
delete mode 100644 src/components/CouponList/CouponItem.tsx
create mode 100644 src/components/CouponList/CouponItem/CouponExpired.tsx
create mode 100644 src/components/CouponList/CouponItem/CouponExpose.tsx
create mode 100644 src/components/CouponList/CouponItem/CouponStop.tsx
create mode 100644 src/components/CouponList/CouponItem/CouponWait.tsx
diff --git a/src/components/CouponList/CouponItem.tsx b/src/components/CouponList/CouponItem.tsx
deleted file mode 100644
index 0c963291..00000000
--- a/src/components/CouponList/CouponItem.tsx
+++ /dev/null
@@ -1,128 +0,0 @@
-import React from 'react';
-import exposeIcon from '@assets/icons/CouponList/ic_expose.svg';
-import toggleOnIcon from '@assets/icons/CouponList/ic_toggle_on.svg';
-import styled from '@emotion/styled';
-
-const CouponItem = () => {
- return (
-
-
-
-
-
- 현재 노출 중
-
-
- ON
-
-
-
-
- 적용 객실
- 전체
-
-
-
- );
-};
-
-export default CouponItem;
-
-const CouponHeader = styled.div`
- width: 218px;
- height: 77px;
-
- border-radius: 10.608px 10.608px 0px 0px;
-
- display: flex;
- flex-direction: column;
- justify-content: center;
-
- background: var(
- --gradient,
- linear-gradient(91deg, #ff3478 1.39%, #ff83ad 98.63%)
- );
-`;
-
-const ExposeContainer = styled.div`
- display: flex;
- justify-content: space-between;
- padding: 4px 10px;
-`;
-
-const ExposeWrap = styled.div`
- display: flex;
- align-items: center;
- justify-content: center;
-`;
-
-const ExposeText = styled.div`
- color: ${props => props.theme.colors.white};
- font-size: 12px;
-`;
-
-const ToggleWrap = styled.div`
- width: 48.229px;
- height: 23.526px;
-
- border-radius: 17.68px;
- border: 1px solid #e3e5e5;
-
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding-top: 3px;
- padding-left: 5px;
-
- background-color: ${props => props.theme.colors.white};
-`;
-
-const ToggleText = styled.div`
- font-size: 10px;
-
- color: ${props => props.theme.colors.pink500};
-`;
-
-const RoomWrap = styled.div`
- display: flex;
- align-items: center;
- justify-content: center;
-`;
-
-const ApplyRoom = styled.div`
- position: relative;
-
- width: 194px;
- height: 31px;
-
- padding-top: 12px;
- padding-left: 10px;
- border-radius: 8px;
-
- background-color: ${props => props.theme.colors.white};
-
- font-size: 10px;
- color: #404446;
-`;
-
-const RoomButton = styled.button`
- position: absolute;
-
- width: 113px;
- height: 23px;
-
- margin-left: 76px;
- border-radius: 12px;
- border: 1px solid #ffadc8;
-
- background-color: transparent;
-
- color: ${props => props.theme.colors.pink500};
- font-size: 11px;
-`;
diff --git a/src/components/CouponList/CouponItem/CouponExpired.tsx b/src/components/CouponList/CouponItem/CouponExpired.tsx
new file mode 100644
index 00000000..e69de29b
diff --git a/src/components/CouponList/CouponItem/CouponExpose.tsx b/src/components/CouponList/CouponItem/CouponExpose.tsx
new file mode 100644
index 00000000..3ccf40bb
--- /dev/null
+++ b/src/components/CouponList/CouponItem/CouponExpose.tsx
@@ -0,0 +1,309 @@
+import React from 'react';
+import exposeIcon from '@assets/icons/CouponList/ic_expose.svg';
+import toggleOnIcon from '@assets/icons/CouponList/ic_toggle_on.svg';
+import styled from '@emotion/styled';
+
+const CouponItem = () => {
+ return (
+
+
+
+
+
+ 현재 노출 중
+
+
+ ON
+
+
+
+
+ 적용 객실
+ 전체
+
+
+
+ 크리스마스 이벤트1
+ 모든 고객 10% 할인
+
+
+
+
+ 다운로드
+ 50
+
+
+ 사용완료
+ 50
+
+
+
+
+ 가격 조건
+ 300,000원 이상
+
+
+ 일정 조건
+ 2박 이상, 금~토
+
+
+
+
+ 노출 일자
+ 2023.12.01 ~ 2023.12.31
+
+
+ 등록일
+ 2023.12.01
+
+
+
+
+ );
+};
+
+export default CouponItem;
+
+const CouponHeader = styled.div`
+ width: 219px;
+ height: 77px;
+
+ border-radius: 10.608px 10.608px 0px 0px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ background: var(
+ --gradient,
+ linear-gradient(91deg, #ff3478 1.39%, #ff83ad 98.63%)
+ );
+`;
+
+const ExposeContainer = styled.div`
+ display: flex;
+ justify-content: space-between;
+ padding: 4px 10px;
+`;
+
+const ExposeWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ExposeText = styled.div`
+ color: ${props => props.theme.colors.white};
+
+ margin-left: 2px;
+
+ font-size: 12px;
+`;
+
+const ToggleWrap = styled.div`
+ width: 48.229px;
+ height: 23.526px;
+
+ border-radius: 17.68px;
+ border: 1px solid #e3e5e5;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 3px;
+ padding-left: 5px;
+
+ background-color: ${props => props.theme.colors.white};
+ cursor: pointer;
+`;
+
+const ToggleText = styled.div`
+ font-size: 10px;
+
+ color: ${props => props.theme.colors.pink500};
+`;
+
+const RoomWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ApplyRoom = styled.div`
+ position: relative;
+
+ width: 194px;
+ height: 31px;
+
+ padding-top: 12px;
+ padding-left: 10px;
+ border-radius: 8px;
+
+ background-color: ${props => props.theme.colors.white};
+
+ font-size: 10px;
+ color: #404446;
+`;
+
+const RoomButton = styled.button`
+ position: absolute;
+
+ width: 113px;
+ height: 23px;
+
+ margin-left: 76px;
+ border-radius: 12px;
+ border: 1px solid #ffadc8;
+
+ background-color: transparent;
+
+ color: ${props => props.theme.colors.pink500};
+ font-size: 11px;
+`;
+
+const CouponNabWrap = styled.div`
+ width: 217px;
+ height: 72px;
+
+ margin-left: 1px;
+ padding: 15px;
+ box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.25);
+ border-bottom: 3px dashed ${props => props.theme.colors.pink500};
+
+ background-color: ${props => props.theme.colors.white};
+`;
+
+const CouponTitle = styled.div`
+ color: #6c7072;
+ font-size: 13px;
+`;
+
+const CouponCustomer = styled.div`
+ font-size: 16.997px;
+ font-weight: 700;
+
+ margin-top: 5px;
+ color: #202325;
+`;
+
+const CouponMain = styled.div`
+ width: 217px;
+ height: 245px;
+
+ margin-left: 1px;
+ border-bottom: 1px dashed #b2b2b2;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+ background: #fafafb;
+`;
+
+const CountWrap = styled.div`
+ display: flex;
+ margin-top: 15px;
+`;
+
+const CountItemWrap = styled.div`
+ width: 79px;
+ height: 83px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin: 8px;
+
+ border-radius: 12px;
+
+ background-color: ${props => props.theme.colors.white};
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+
+ p {
+ color: #404446;
+ font-size: 18px;
+ font-weight: 700;
+ }
+`;
+
+const CountItemText = styled.div`
+ font-size: 12px;
+ font-weight: 600;
+ color: #757676;
+ margin: 5px;
+`;
+
+const ConditionWrap = styled.div`
+ width: 176px;
+ height: 56px;
+
+ display: flex;
+ flex-direction: column;
+ padding: 16px 15px 13px 14px;
+ margin-top: 8px;
+
+ border-radius: 12px;
+ background-color: ${props => props.theme.colors.white};
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+`;
+
+const ConditionWrapText = styled.div`
+ display: flex;
+ margin-top: 2px;
+
+ div {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 600;
+ margin-right: 10px;
+ }
+
+ p {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 400;
+ }
+`;
+
+const ExposeDateContainer = styled.div`
+ margin-top: 18px;
+`;
+
+const ExposeDateWrap = styled.div`
+ display: flex;
+ align-items: center;
+
+ div {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 600;
+ margin-right: 3px;
+ }
+
+ p {
+ color: ${props => props.theme.colors.pink500};
+ font-size: 12px;
+ font-weight: 700;
+ text-decoration-line: underline;
+ }
+`;
+
+const RegisterDateWrap = styled.div`
+ display: flex;
+ align-items: center;
+
+ div {
+ color: #757676;
+ font-size: 9.724px;
+ font-weight: 400;
+ margin-top: 8px;
+ margin-right: 3px;
+ }
+`;
diff --git a/src/components/CouponList/CouponItem/CouponStop.tsx b/src/components/CouponList/CouponItem/CouponStop.tsx
new file mode 100644
index 00000000..e69de29b
diff --git a/src/components/CouponList/CouponItem/CouponWait.tsx b/src/components/CouponList/CouponItem/CouponWait.tsx
new file mode 100644
index 00000000..e69de29b
From c8e9688a9a1ccbad5d785b7275a70513aee1a268 Mon Sep 17 00:00:00 2001
From: jinjoo-jung
Date: Thu, 11 Jan 2024 17:38:15 +0900
Subject: [PATCH 107/843] =?UTF-8?q?feat:=20=EC=BF=A0=ED=8F=B0=20=EB=85=B8?=
=?UTF-8?q?=EC=B6=9C=20=EC=A4=91=EC=A7=80=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CouponList/CouponItem/CouponStop.tsx | 306 ++++++++++++++++++
src/pages/CouponList/index.tsx | 4 +-
2 files changed, 309 insertions(+), 1 deletion(-)
diff --git a/src/components/CouponList/CouponItem/CouponStop.tsx b/src/components/CouponList/CouponItem/CouponStop.tsx
index e69de29b..503bd2f3 100644
--- a/src/components/CouponList/CouponItem/CouponStop.tsx
+++ b/src/components/CouponList/CouponItem/CouponStop.tsx
@@ -0,0 +1,306 @@
+import styled from '@emotion/styled';
+import React from 'react';
+import exposeIcon from '@assets/icons/CouponList/ic_expose_stop.svg';
+import toggleOffIcon from '@assets/icons/CouponList/ic_toggle_off.svg';
+const CouponStop = () => {
+ const handleExpose = () => {};
+
+ return (
+
+
+
+
+
+ 쿠폰 노출 중지
+
+
+
+ OFF
+
+
+
+ 적용 객실
+ 전체
+
+
+
+ 크리스마스 이벤트1
+ 모든 고객 10% 할인
+
+
+
+
+ 다운로드
+ 50
+
+
+ 사용완료
+ 50
+
+
+
+
+ 가격 조건
+ 300,000원 이상
+
+
+ 일정 조건
+ 2박 이상, 금~토
+
+
+
+
+ 노출 일자
+ 2023.12.01 ~ 2023.12.31
+
+
+ 등록일
+ 2023.12.01
+
+
+
+
+ );
+};
+
+export default CouponStop;
+
+const CouponHeader = styled.div`
+ width: 219px;
+ height: 77px;
+
+ border-radius: 10.608px 10.608px 0px 0px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ background: #b1b1b1;
+`;
+
+const ExposeContainer = styled.div`
+ display: flex;
+ justify-content: space-between;
+ padding: 4px 10px;
+`;
+
+const ExposeWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ExposeText = styled.div`
+ color: #da1e28;
+
+ margin-left: 2px;
+
+ font-size: 12px;
+`;
+
+const ToggleWrap = styled.div`
+ width: 48.229px;
+ height: 23.526px;
+
+ border-radius: 17.68px;
+ border: 1px solid #e3e5e5;
+
+ display: flex;
+ align-items: center;
+ padding-top: 3px;
+ padding-left: 2px;
+
+ background-color: ${props => props.theme.colors.white};
+ cursor: pointer;
+`;
+
+const ToggleText = styled.div`
+ font-size: 10px;
+
+ color: #cdcfd0;
+`;
+
+const RoomWrap = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: center;
+`;
+
+const ApplyRoom = styled.div`
+ position: relative;
+
+ width: 194px;
+ height: 31px;
+
+ padding-top: 12px;
+ padding-left: 10px;
+ border-radius: 8px;
+
+ background-color: ${props => props.theme.colors.white};
+
+ font-size: 10px;
+ color: #404446;
+`;
+
+const RoomButton = styled.button`
+ position: absolute;
+
+ width: 113px;
+ height: 23px;
+
+ margin-left: 76px;
+ border-radius: 12px;
+ border: 1px solid #6c7072;
+
+ background-color: transparent;
+
+ color: #6c7072;
+ font-size: 11px;
+`;
+
+const CouponNabWrap = styled.div`
+ width: 217px;
+ height: 72px;
+
+ margin-left: 1px;
+ padding: 15px;
+ box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.25);
+ border-bottom: 3px dashed #cdcfd0;
+
+ background-color: ${props => props.theme.colors.white};
+`;
+
+const CouponTitle = styled.div`
+ color: #6c7072;
+ font-size: 13px;
+`;
+
+const CouponCustomer = styled.div`
+ font-size: 16.997px;
+ font-weight: 700;
+
+ margin-top: 5px;
+ color: #202325;
+`;
+
+const CouponMain = styled.div`
+ width: 217px;
+ height: 245px;
+
+ margin-left: 1px;
+ border-bottom: 1px dashed #b2b2b2;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+ background: #fafafb;
+`;
+
+const CountWrap = styled.div`
+ display: flex;
+ margin-top: 15px;
+`;
+
+const CountItemWrap = styled.div`
+ width: 79px;
+ height: 83px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin: 8px;
+
+ border-radius: 12px;
+
+ background-color: ${props => props.theme.colors.white};
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+
+ p {
+ color: #404446;
+ font-size: 18px;
+ font-weight: 700;
+ }
+`;
+
+const CountItemText = styled.div`
+ font-size: 12px;
+ font-weight: 600;
+ color: #757676;
+ margin: 5px;
+`;
+
+const ConditionWrap = styled.div`
+ width: 176px;
+ height: 56px;
+
+ display: flex;
+ flex-direction: column;
+ padding: 16px 15px 13px 14px;
+ margin-top: 8px;
+
+ border-radius: 12px;
+ background-color: ${props => props.theme.colors.white};
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+`;
+
+const ConditionWrapText = styled.div`
+ display: flex;
+ margin-top: 2px;
+
+ div {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 600;
+ margin-right: 10px;
+ }
+
+ p {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 400;
+ }
+`;
+
+const ExposeDateContainer = styled.div`
+ margin-top: 18px;
+`;
+
+const ExposeDateWrap = styled.div`
+ display: flex;
+ align-items: center;
+
+ div {
+ color: #404446;
+ font-size: 11px;
+ font-weight: 600;
+ margin-right: 3px;
+ }
+
+ p {
+ color: ${props => props.theme.colors.pink500};
+ font-size: 12px;
+ font-weight: 700;
+ text-decoration-line: underline;
+ }
+`;
+
+const RegisterDateWrap = styled.div`
+ display: flex;
+ align-items: center;
+
+ div {
+ color: #757676;
+ font-size: 9.724px;
+ font-weight: 400;
+ margin-top: 8px;
+ margin-right: 3px;
+ }
+`;
diff --git a/src/pages/CouponList/index.tsx b/src/pages/CouponList/index.tsx
index 09658ecc..86879801 100644
--- a/src/pages/CouponList/index.tsx
+++ b/src/pages/CouponList/index.tsx
@@ -1,10 +1,12 @@
-import CouponItem from '@components/CouponList/CouponItem';
+import CouponItem from '@components/CouponList/CouponItem/CouponExpose';
+import CouponStop from '@components/CouponList/CouponItem/CouponStop';
import React from 'react';
const CouponList = () => {
return (
+
);
};
From 6689bbd63d905eeb6a1ce0aef84ed02c75fbc7c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Thu, 11 Jan 2024 17:41:34 +0900
Subject: [PATCH 108/843] =?UTF-8?q?design:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8&?=
=?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=20=ED=8E=98=EC=9D=B4?=
=?UTF-8?q?=EC=A7=80=20=EB=B0=B0=EA=B2=BD=EC=83=89=EC=9D=84=20=ED=9D=B0?=
=?UTF-8?q?=EC=83=89=EC=9C=BC=EB=A1=9C=20=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/Login/index.tsx | 17 +++++++++++++++--
src/pages/SignUp/index.tsx | 17 +++++++++++++++--
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx
index a6a6de3b..878feb70 100644
--- a/src/pages/Login/index.tsx
+++ b/src/pages/Login/index.tsx
@@ -8,7 +8,7 @@ const Login = () => {
// HACK: 유효성 검사 기능 구현 후 유효성 메세지 노출 여부 결정
const [isInvalid, setIsInvalid] = useState(true);
return (
- <>
+
{
{/* HACK: 모달 제작 후 오류 메세지 표시 예정 */}
- >
+
);
};
export default Login;
+const WhiteBackground = styled.div`
+ position: relative;
+
+ width: 100%;
+ height: 100%;
+ min-height: 100vh;
+
+ display: flex;
+ flex-direction: column;
+
+ background-color: #fff;
+`;
+
const Container = styled.div`
max-width: ${toRem(524)};
diff --git a/src/pages/SignUp/index.tsx b/src/pages/SignUp/index.tsx
index 5678035a..89f011e7 100644
--- a/src/pages/SignUp/index.tsx
+++ b/src/pages/SignUp/index.tsx
@@ -17,7 +17,7 @@ const SignUp = () => {
useState(true);
const [isSubmitButtonDisabled, setIsSubmitButtonDisabled] = useState(true);
return (
- <>
+
{
- >
+
);
};
@@ -126,6 +126,19 @@ const SubmitButton = styled.button<{ $isDisabled: boolean }>`
}
`;
+const WhiteBackground = styled.div`
+ position: relative;
+
+ width: 100%;
+ height: 100%;
+ min-height: 100vh;
+
+ display: flex;
+ flex-direction: column;
+
+ background-color: #fff;
+`;
+
const LogoIcon = styled.img`
width: ${toRem(172.8)};
height: ${toRem(36)};
From 4827e6a1ae67f6b4380cff361c2b429767844fdf Mon Sep 17 00:00:00 2001
From: TeukHee
Date: Thu, 11 Jan 2024 17:43:51 +0900
Subject: [PATCH 109/843] =?UTF-8?q?fix:=20=EB=B0=B0=ED=8F=AC=EC=98=A4?=
=?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dashboard/GraphSection/GraphContainer.tsx | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/components/Dashboard/GraphSection/GraphContainer.tsx b/src/components/Dashboard/GraphSection/GraphContainer.tsx
index 2e855f46..cfa81f06 100644
--- a/src/components/Dashboard/GraphSection/GraphContainer.tsx
+++ b/src/components/Dashboard/GraphSection/GraphContainer.tsx
@@ -1,5 +1,4 @@
import styled from '@emotion/styled';
-import { useState } from 'react';
import {
Chart as ChartJS,
LinearScale,
@@ -63,8 +62,6 @@ export const data = {
};
const GraphContainer = () => {
- const [doownLoad, setDownLoad] = useState(0);
-
const options: any = {
responsive: true,
plugins: {
@@ -97,6 +94,7 @@ const GraphContainer = () => {
},
onClick: (event: MouseEvent, elements: any[]) => {
if (elements.length > 0) {
+ event.preventDefault;
const clickedIndex: number = elements[0].index;
const clickedLabel: string = labels[clickedIndex];
@@ -106,7 +104,6 @@ const GraphContainer = () => {
dataset => dataset.data[clickedIndex]
);
console.log(`Data for ${clickedLabel}:`, allDataForClickedMonth);
- setDownLoad(allDataForClickedMonth[1]);
}
}
};
From 85b762b50262f26b0eadde04bfcf0cbeb4a0cbd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=EB=B9=88?= <991012dabin@gmail.com>
Date: Thu, 11 Jan 2024 17:45:34 +0900
Subject: [PATCH 110/843] =?UTF-8?q?design:=20Footer=20=EB=86=92=EC=9D=B4?=
=?UTF-8?q?=20=EC=A7=80=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/common/Footer/index.tsx | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/components/common/Footer/index.tsx b/src/components/common/Footer/index.tsx
index 673361f5..7d66a30a 100644
--- a/src/components/common/Footer/index.tsx
+++ b/src/components/common/Footer/index.tsx
@@ -20,10 +20,15 @@ const Footer = () => {
export default Footer;
const Container = styled.div`
- margin: 32px auto;
+ position: relative;
+ bottom: 0;
+
+ height: 100px;
display: flex;
flex-direction: column;
+ justify-content: center;
+ align-items: center;
gap: 7px;
`;
From 371ec73f453054f57e054a2ab00b92712a045279 Mon Sep 17 00:00:00 2001
From: JitHoon
Date: Thu, 11 Jan 2024 17:57:59 +0900
Subject: [PATCH 111/843] =?UTF-8?q?design:=20select=20=ED=83=9C=EA=B7=B8?=
=?UTF-8?q?=20=EC=8A=A4=ED=83=80=EC=9D=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/Layout/Header/Select/index.tsx | 89 +++++++++++++++++++
src/components/common/Layout/Header/index.tsx | 33 +------
2 files changed, 91 insertions(+), 31 deletions(-)
create mode 100644 src/components/common/Layout/Header/Select/index.tsx
diff --git a/src/components/common/Layout/Header/Select/index.tsx b/src/components/common/Layout/Header/Select/index.tsx
new file mode 100644
index 00000000..3cef3be8
--- /dev/null
+++ b/src/components/common/Layout/Header/Select/index.tsx
@@ -0,0 +1,89 @@
+import { useState } from 'react';
+import styled from '@emotion/styled';
+
+const Select = () => {
+ // HACK: 예시 데이터, 백엔드에 리스트로 넘겨 받기
+ const selectList = [
+ '영덕 아이스 풀빌라',
+ '영덕 아이스 풀빌라2',
+ '영덕 아이스 풀빌라3',
+ '영덕 아이스 풀빌라4'
+ ];
+ const [selected, setSelected] = useState(selectList[0]);
+
+ // HACK: select 값에 따른 API 요청을 어떻게 보낼 건지 논의 필요
+ const handleSelect = (e: React.ChangeEvent) =>
+ setSelected(e.target.value);
+
+ return (
+
+
+ {selectList.map(item => (
+
+ {item}
+
+ ))}
+
+
+
+ );
+};
+
+export default Select;
+
+const Container = styled.div`
+ position: relative;
+`;
+
+const Accommodations = styled.select`
+ position: relative;
+
+ width: 200px;
+ height: 40px;
+
+ margin-right: 30px;
+ border: none;
+ border-radius: 12px;
+ padding: 10px 20px;
+
+ display: inline-block;
+
+ font-weight: 500;
+
+ color: rgba(60, 60, 67, 0.6);
+ background-color: rgba(247, 248, 252, 1);
+ outline-color: ${props => props.theme.colors.brand};
+
+ appearance: none;
+
+ &::-ms-expand {
+ display: none;
+ }
+`;
+
+const Accommodation = styled.option`
+ position: absolute;
+ top: 0;
+ right: 0;
+`;
+
+const SelectBtn = styled.div`
+ position: absolute;
+ top: 16px;
+ right: 45px;
+
+ width: 0;
+ height: 0;
+
+ border-style: solid;
+ border-width: 8px 5px 0 5px;
+ border-color: #9c9c9c transparent transparent transparent;
+
+ pointer-events: none;
+`;
diff --git a/src/components/common/Layout/Header/index.tsx b/src/components/common/Layout/Header/index.tsx
index 8b313168..f9d9e4c1 100644
--- a/src/components/common/Layout/Header/index.tsx
+++ b/src/components/common/Layout/Header/index.tsx
@@ -1,4 +1,3 @@
-import { useState } from 'react';
import { NavLink } from 'react-router-dom';
import styled from '@emotion/styled';
@@ -6,21 +5,9 @@ import logo from '@assets/icons/ic-logo.svg';
// HACK: 디자이너에게 유저 아이콘 다시 받을 예정
import user from '@assets/icons/ic-header-user.svg';
import { toRem } from '@utils/index';
+import Select from './Select';
const Header = () => {
- // HACK: 예시 데이터, 백엔드에 리스트로 넘겨 받기
- const selectList = [
- '영덕 아이스 풀빌라',
- '영덕 아이스 풀빌라2',
- '영덕 아이스 풀빌라3',
- '영덕 아이스 풀빌라4'
- ];
- const [selected, setSelected] = useState(selectList[0]);
-
- // HACK: select 값에 따른 API 요청을 어떻게 보낼 건지 논의 필요
- const handleSelect = (e: React.ChangeEvent) =>
- setSelected(e.target.value);
-
return (
{
/>
-
- {selectList.map(item => (
-
- ))}
-
+
Date: Thu, 11 Jan 2024 18:47:43 +0900
Subject: [PATCH 112/843] =?UTF-8?q?design:=20=EC=A0=95=EC=82=B0=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=A0=8C?=
=?UTF-8?q?=EB=8D=94=EB=A7=81=20=EB=B0=8F=20=EC=97=91=EC=85=80=EB=8B=A4?=
=?UTF-8?q?=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EB=B6=80=EB=B6=84=20=EB=94=94?=
=?UTF-8?q?=EC=9E=90=EC=9D=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/settlement-data-frame.png | Bin 0 -> 27973 bytes
src/assets/settlement-data-frame2.svg | 17 ++++
.../Settlemented/SettlementsTable/index.tsx | 89 ++++++++++++++++++
.../SettlementsLeft/Settlemented/index.tsx | 80 +++++++++++++++-
.../Settlements/SettlementsLeft/index.tsx | 2 +-
src/types/settlements.d.ts | 10 ++
6 files changed, 193 insertions(+), 5 deletions(-)
create mode 100644 src/assets/settlement-data-frame.png
create mode 100644 src/assets/settlement-data-frame2.svg
create mode 100644 src/components/Settlements/SettlementsLeft/Settlemented/SettlementsTable/index.tsx
create mode 100644 src/types/settlements.d.ts
diff --git a/src/assets/settlement-data-frame.png b/src/assets/settlement-data-frame.png
new file mode 100644
index 0000000000000000000000000000000000000000..efab506638ffc724c42d52725dcace573c1754bd
GIT binary patch
literal 27973
zcmYg&2|U#K|G)jV9lMfkBSm7j-4()?P_9XBM2kx9W6GI3*Eq+tS+$X)jU*wtVlWNH
z%~TpAat&j~IHp1}W5_X>`~RN9{(l}1j~?@x&+-1e->=v6^?W{GZ{53OVKpE^9l|5O-N^+1e0TGLbA*(X^giM5H&RcY9smcwiMV2MR;s4|
z&^-9?t)H2-nUoYdLz;ViyOdNA#qtlct1;g&CS$X_E!{T+P0r4fW7(6({ADgeE~I|{
zqV#{G&wh4|Hx4mghp^up^-qb%zVMkIf
z**)^%{s6`%C3Wg^%JUm9RDx8zAWcPxEBL0EcNaYfyF}l4e<;ff32=fmy)+FgLbac(
z(os~<@hC~!E&R6o4Wp52im9)^T4J;EEGc2N&%ogG+?-PML>T^_=<+i=7F(A(Dl*^;
zUTCP>W8WvC)u=q#*zR**RJRFFsJ%I0vhg%XKW`S7s=%CBCf
z+O%9C$6^?Hu6$VifSGWirDnW+d`i~_^l&YgLYw*4!b4Kw#|;b|cUz+i^7Cax2WHHr
z9XWFJran7%;$G2_?pud-N2j|wZbrG`;{5$9+&nz?h)?ZOs0pE|^fh)Qu)<&3oEZ2?
zJRL>MrUgCn=L-Hd2ekOXf7n$qkDDe{dDI@hFls>Fc~E$LrgU)p#Ep}cxg*xhf0d7b
zhy*X{7TG%a#$$OkAWv;b-}b(Eg2RiF6fI$C*9lPm9xZBQDye{Ju9C+
zdA{CtLU;pJHQKho?Sa(K6-C!)nwy(9w@YsPG}2I6MiD=7S28A5H5VMkA~TO&4i+MA
zhiF8%+-~g0u-{CnjLOk(@AVem?@U?!1;>Sbfe&h~9O=%tDVGG)o37N}u`y?BbUN>2
zQwqjBQ*X&oc)C>Pz1m}U4;zF8JkYN8)~fOpO=|bO24h&*x6Ya{w5)iP2E0UU+(gsI
zV*Hz}aWnC0scQk0UEzVTv8+hvM>+o!-4Op&=0G8)L~*pQGA_R4Ip
z+Wgk+?5Tx29fkmwuwQ46ZBq0QI66)$Y=sl2$vL{nH6{9EVFo-n?i=y9hX=jPsX
zRS8UCzIk)j?RCq`sqo>Bq1u5lNjPk0Bn2hm0_Xbkk?Uroa)AZnsP#V2QPt7WaU53;
zRGInRzyQz33vYL8;f8#mz&Ksih*=8^Wbk)K|SgWx(!%wZR?FKVc
z=Qywl=7zq9{M@{})XpB7iD-f{lPESeVRB;@nZ4%4muvd~l7e_Vm)vk>
zeecYvlJ}B@R-kP|RaLzmng*+srn*yf!xL8u&%39orWTm_ridm>)e)U!41uU%uSq@&
zqm}bEOl1a#I}gA1KwEg(nMaj=nLaR>exi=(E}7rZKTnXO*I!Vus}fC%^A}j_d3auVKuVP8I@Kc-8rdSVv?zA8-6NxdC_D((=v!x`
z6W%XVZ=i)3knNu*9#L(Pa{fu23*0Lzg&9CW`k;nK13Sc1d+IX)#4#q5smH1JL*;Mo
zUYVG9szU(v2E4ESh{EWu+A=53u9fe#WYuy4oWd)YsU&l@~OvnjWOGwiB5
zS60GB$5hprV%&t!bI-SkM&Atb
z?V#c>HRhR^D&`k)VK`M2G}46XcqyxBV2%)0cu*?tk&l!_suo2ed2
z9;nnNApKEx>j61FvFf5H+O-V^J|77Fv8YofQ!ECoLurViuA{!Y1);hdh|;3Uf^D(F8k{-Qe2*LNJJD7-ea
z`uWkC;MEdw9gqqyavlMzKs=jh=WJsNpDDYIJ
znWirxNp6*mRUUPZn#2{;``I|7%k(R2b*^`FcP-CubJq!^lL$P*2{%sm5Q)ST%d4(XS7dVa4WQ~_RBnnB6)?0A;F=3c6o4DE#DvG
z5_TY0T?F*E-piTZa4R9z%V-wX7p%_L9@7!!lT>>1aJem{HgI9MfSDZqByPvp-Ry%B
zuJDH4c^*)Q!>f<+-%@uryWk9Wn?DpU-*%Fff5=b9ws<{BJsvi_HXg2ME!
zaNUy2(_>>}MZ{L&Fr`lQQy8$pBi&Ez;UC{5zfqVEaM{`H(>^!6es2G~Xa*0(yOhvJ
zD(ogB=K7gIa=ik%H+PzSF+rNOy;Nc>9KET(82)oJT+=V$;WsF)r1cGV2md`$gM<;i`h)>#gM<
z-2PcK%roY9d@mbBbAA(j!sq*5rbm5#pL+^vm@bS8@r;Gw1*cN*daaFaV)fK}sX$Bp&GPdOOSIPQa`W`ITYG^rPJ8mZ=&{F|3S
zgbo_KuZJgw`}%&4Y#eXjg7u(pSqp47`w5&hzZ|jBIV0
zWBK`(lmAZ0if8GJZsqW`u#rLCZc?Jd7FgbPK(B)o|0o?vjPDbjcPN@dbAo>q(&DIu
z9b+9wPvRta_??Pb4VVlF2<*7N(nJw=JF^F-Y*r%>iH2KGuYzd#ucS2($pxyIg|L5i
z&$m&ls;ZIz+6RtmE2yYZ=@-i+xq7^X81~eYv05!NEUpY=Um^{YH|_!c*5BXX@F*u|
z!09e)N;JAx#~tNx&YYLNsDgG_LSFgc(uVZbeE@{Qzda4hjBocCx^c2zHe4Lf-G8&+
z`1L=%2meSm^KfxVfo$na=_9jD{mI%LBuLM4^p`Cf03q5xj?s4nBi;z(WD
z%Xu9U5s|zj15n&cI;VHv$q{F7vag+vmR2@xKWA6?X(OXvT`}hia#Cq}F;F)8v-_Xb
zqT6~~CgGUD1x`=J)h>Sse;*0YjOP3#dM$kRVO3EWx23CHIt+*iR5-eSqRFTBRI
zuKDEwosB@?_p5`ali@!n4pN4}X|6`dZYhZ)SAS*&k?5lD;#LIqXf8}V1jp9kb5Ur3-IYFzUyy;Hf_=|_0zH{dRi0%hv
zPFpx+4q!vt@#4A8ZvL6tEgW;G-0Lkks~Ig0-4hW220$w$TCofd_Wez`EewO4W5Xa`}LDgkYqTF%
zn^K~jA9X5w^HfD4B4phPE+v6L8CMkmWHFW;MZAvz8Yr>Ku$yw|^zRa?_eblbwo;n;
zX)yf_u~wSV$0f(RKp`s&3h-){)
zpK32-L=im784B8xdVX5zchkTl-GQT)i(@%PeQUf^IEv#}(cnKcstzi`MAJv!Go5q@zV>BLETx22G7r>QFV_j*}39u8VP3Dj5japC)^
zYR0|aOymd?`-HVvXR0dkch_E(Bvbdj{qrk+nWZjbu6*n1ri~4t&Tu<#3Fyy&qPBtp
zV%FausLyKoHqjuZa)k-+Yj3cB|Na!AdQV=zB`KL_>RuS-+c2Zf<^2>WFM$E`lQ@cb
zX0NVa|69{A@CE(gf4Bby3>%3=E{Ay`b~KNOF-~gck0agu*dyWv`pFtyqe%#)c&IU=
zT8{Nz6eow*;@bRhhH(__YIJODvmbQvB(smjVy)D)E@~t|L{TA?Zlt6-8s|nCt7w`p
z%S$N}JR7?4@?SBG8I+FB5;RSd7LZPL60NUr{&JQJ&gDoqI}U&g;N%kcuN`E-q^mtA
z12CViEf4y_OWJXD1!1-%%L6z+xFiGF5
zn2mb6Ye|kb17uxTSP&_p#;G`ZI?B`i%Rz4?Gl^ew=18~8OBYm5+sv=$i{OPJZOdJs
z-J>U?DoJ$A7Vmpyky)K&90Tg;-u(&+B1$85dU@~6>fFFMIqWp~^Sg}%PYH|~02l4p
z$(V^tI?fzb1I08^EJuE
zjwn>6E6+F}<+13Fj(!O{b^ybl#@|6axRX6b`%bv#nKFH4qq^Ndr#ZxW6u$
zDA?!EpFiCS)4N^OUg#vznt4hgO+_jS^8`q>1BkAzn)lQR+T`T!u2l(WlQ6n@W9VGmuhdo++Az_U|25Dp;lb?i^duI
z)ocrP1AebfDD6i-s`r&(Z3qw-fEOM*HJTM*T^B;xwPH#CrLe(cwN&)rSI0>qjROrX
z)iqK78Z7iG1MxI<;y)L~dBpVgF;Gd@IB@uzEn5?3U&TDLGBR=%^74XMHXWgSwp5w^
z*`57I=et7Id%vLHo1aN)lzH*cQN0^gW5jbDRo9HIig#?&(2c0ujVT;DEgpZx6QP@x
z0&ujdFPRJJ8v~
z!&idCr2+DE5MFn)wz5P6mWi2rxP|KH;h92n64EiZPvSOC+!zE$*5#`JX8q?(0{KXC
zKsPuRO@;IF#7lM7$VkQ-Jt~eNDT((w2u8og`&o2G<~Jt3RroacM_N+~lR&sqv8AEY
zblfIKAWuT!td-eo`Q8QR#4mr29yS*Evd@mU^FQyg%!%%mu*13C+a$9p^yL;PQP!J=
zZd}!^$fNygv;`l)(n)UrG)L68eI8t}Wg4GNdfPDz=x()by=RUCdTUA^CSsx1NRW1b
zcW-&6HX}PnzaQ=Bvjf!~aL;9F$&F9XM;a=gOfQtJ7W<)RZ0b`m8L9?MTNFuiOsFq7LMRqCT#p6#Fh4{FG2fRdJ)XM%~8*wKHdDdg1E)jjc4=5&S$J+#0ni3PRK
z$9a!Q$i&Fc?k?|KoFp=SUvTUKKv0JTPqEW*CWOsPWHyC$T4W?kJYE}GhLXZOv3~E&
zD5%5#M<0voDg2`zU3vq6ZB3U@Q%$VR_U70UBr^G|vNz|YJ_JH_b#t5Wce>j&qA@yp
zTKloY_)TWN>bQ`z|0RH(<)6G6Jh>gi)uKYveS80WE#MNZc5cE}KrH@oyO>`(58Bv(
zKne3x84xbuL5?mQ
z2}oh_SrIcu}|SvjgqG99NUpf>d!ZFWF&zV
z*sA_1>t;fh-(WOq+I>AFB%PNb8vWRi#wb7bkQr>t`rKCCX%BtbasgG=?gHxABm*Yl
zR5usq4}uv2>PP1A(p&o~pkKGxmVDpy^^TW^At7R&b%MCGfz)e0i7{M@Gm#hr-scBY
z$LSP+27Z7ih!Y~uraU4zPmQN*V4!d}n;0*Od)1wo{HLFe)@G>Yq?s3ci+#p3cfJq)
zYvD+D*o9olLTiug^l)~*SBwYtlcJ<5dY71{wkVqI2TDRxIchw2#tNz1YsqI}v~Jv+
zHtkMLO=WKt=wtQ+s=W&fL0k{fuvE8=s;3(nvPb|pOp*=}rbOf&*yBFV`+IwPO_6bf
zW(_*uGoKLSC039s^DksBz(lu7Qq>gbyn!FpeL#379-@3!FOooB7vQl^E#0*UrRt;p
z545)m6JQRhz;^=zLv-C4^LipWL-pdh)vEaR!*)o?8iAlkrw^zG7DOS58p9Hd@jeHP
zhZGFEizY`W);soklvk4y{;#nH`bmN7{sSIH%LhRN>GwZKi^U^PaRBpCni^aR-sUI`3*AJR6j-pLyQa{}HeW3aXb+U9kYI&Mvu07vbu-D24C(3dV8RfYA-s4{q+
zPiIegb@6|*A%8xsVR$~$(ZNA~p*P>0cb5Tc6)^xQ@3S1$a%W;EFzcR3utyizhi$T3
z@arlkL++=R3iR%Bb4C0{Y6c98?xlBoVGFyTPln`x
z=p%;MfRZVyg_)@#jY#{dUJsOl(L184gfaY)aS(L4K!q!J2EMS^Co%uN&|cI`DPJIJ
z_pV$K4erC^z{YXE;Ab&?<`3e5Aq`K_iT#8BRC>*dajpJ$X
z4}iz!ECWa?|GL+Et36pVbR!Fh1yGy;z;5*iEkqcxe~U7dbQBBATDrtib-R(-WSZwP
zpnBH>h5zIxe8R1&8@;WCk!@SK=~^p7YEiQxD00lPsOALm<}g3Ga;?C}-R~
zCT^;nTCcxAs<10>0ev_6*wGcRq?kK7qK8SHe)-L(0OcA`GM*1sx*JTzcn!z(YAJby
z{9oektgu-nBNv!gE)y?fo(Z>`iIW(K(|^{zz#Ps&C^yCiU|g1!wm9$ww<=1bX*$p%
z1WH_=7#Z&G?t31xxNa?4sdS^h=c9DcEe~^uIwXt=Y0=@CW3Wu#|5tdvQBivRl{M>T
ziyNFj>%{EG2WU2$v?K5-71REecoxk^Q_j{^p#F1aE;&C+hD8$kZBG1u=3(eY*~#Lv
zR?)T-^@r;~*_6%QD&V23k-&C%4Mg{$fq{X$HszfX?i#eYt2WiH3RrHbkrLmcXvoVX
zsmjdjp0W@*RZM&(`ei$4?d?coZZ3cM+5P^{qPeYow%5B5c&Zujl&C|e*QazvuXy?^
zv#E0L3=o`G+I_d86A&<9VS`DO)X5RhP)Wq9fJMc{-Pr1$T<3j!4kEND^szsOI|JHb
z^C6A#Td+R1Yvup9)PR)v5TK@Xeiz2^F
z6t8LvEVoyCGC+!VDtxKjcp_T3Q;VSTu-|~fxJ(Bf4ftiyFc#fFbswl~U@{QE>0my&
z$P@dmhZYQP|L4+FfN1%zq=gr&kDA_|SUcYWY#JbjB!Kp6!wd#0D*aH-mKp9DiJS(m
z#+<9tmf=1$ANl>#KEU6e=H~}%>F5-q_pG*y!^*4XXiDAs^*#@ic*dr_Z4q_p|8&Ja
zuy=(or~)VD`Opnu@<_xhXmt%dJ-v_f2A$Lfj3&gZt+p-DbAEQHnwl`U{a?ZCrb`g7O|L#boj~k;;i8YZ?amGQ=WLR21Cz{)IP2f|3E(07ahHjs@S*2`^
zhM|+Heyz5CCy7rtP;7HHl!RMJO4Yac=mk)(g+}@LV*W!|Yu{B7J3O=hWGX0vBu8}m
znzhpTEk1?@Rv3KhrA-*uJ0PGE#UhF4G$9Mnj^{@|>D$Kb_^;JCXy^t&`70_<(F`a6
zW~qeazV7Ks@x2oGk@k95t(Uy`VdmW9UcvB$V3irrlingU*Wn+U`i2KJMnQ=PyKq|c
znwfi*j-{)BZ7hP{1|&NjK#!29Fsd?<;#VAL&&Yvu}yx1n&$IcR^JMx*oa`h20EV&H7IcC476@2KApzsxN+6
zU;%otVnl5|m@l$qm{0tCeYf_($TJp7GH9wfrnlRGePJbT83lo20tzzc&AF{+;6A!^
zPR9jDJL(0n1EyWP>@r$ct0$kHyy2!r$aX+$k9`*9O{VnHHjWowM&<~J?w_sETR4;k
zU_+ti5%6Sre|c}=SQY4j@RJ=DB|h6{0E3_q+Qge?$4Pu(&PK
z3kYLp6X5^GN{;d$3w;W%Q&cAAbof^Hno;(14j((Zg5!i+%j1Khn
zoT$@@elpJiUI*%fDArzu836gEPz6+=u=)Q9=ozpoTPE}Vpv+Ui0v!l#o_$1cM6d6B
zxTTP`E178%9^s#an2D@A`#U3+=Jc~l4Q!DMpC|n3Ex*4a_rbKIgxs2d?PQKPf!dl
zM;qqT=y&wbf#egz!2KI3m^9TKQJ?CQ@C)7lZf~h*rtJWlRMTC+#jB8DT=zZmOx~)w
zc!ACVKhF^~q}y#M^#8NfX<~l3TqTw^Qn3hjU<`Cj_|x*hUY%KBQQB`NimB?MX#F!)
z%%=J}yRczv19@wKS@F;{NxLG%s=Bw-5wrju(Y_L`ubuMzC`PzHi^&Aw0yz0r6G~`u
z0V9wYfP4L^=zL36QUWFMFUiIUd_kIOAx1WEJtZ{~2U^60(hMMqBr#C?Vcgic@RV?p
zOmA1=T3ojFIRIn@Hlj!gg|stAm7%y6U&1VH&ED!o(_N6_i%~zRw7D6v_0CK
zZhUPj@~8!&a8gl(bW*BE01SgS{juDMo|=dq*e~uO1%Z8Svik$SHc>wN!(a^1cGn_2Kwj1BiI(zo
zg^rW5Q8#cU6TRT@dkgh0DDOEs}cf0R=Yo%E#>j+()1A@z*b8BD+|+=2Lkqj
zAEZ@ZPtQJ)=m;m~B)-c@c(-q$z=TtO^A9V*`go|IJbtlx&dv%-jsLW-aPwE$KiKO9
zjtmn8D?u-o+gqq_WW;$ZJhxMY{}qx5&S~N{55PmJkES@8l8oRwg*uzJbx!d%@euw+
z72X#M$Z}jMYK2w8S}TW4Vor`*QH>d9vT=hscaD&OU04@>c?v>fHMT^54(#|GSa5T3
zqPaZZFp9SK<1S-(uV5!+9i0KU@YZ3GK3NpnhI?=U%tw@Y&)VZFlyqA02t<)_YchmafAY
z`6)7#G!Ir|1pPbky7{h^0`O0U$$G5gJmlkdwlQZs^U6_NS6(b_TQ+}NuHdf8!gU7T
zbRA97g1HzwOmc74Xtlsh2GOg3U7+?@EPbr)ufA)#R#cAiW2eYG+Q?uxBgw2N=tdMt
zuR$F?3#AS(w@=N-FD$PhR6Vf-(#FUl>x~ZgjZS+3+71l`8)GXzBFz~DyV>eD%HsOGKcth+a<@QuleH7%`D!R}II2HSOhTDL>M!3qZF$1UNm
zR)T{C1#?ua1AnP~V`?Mo?z1(-hnkcB8)K~c42F9_x)ml8LS7X8)b8BhHN2A2-$!)JpV
z+v54mM&{w(bC+`YLn^$XR69ctYM}$9!O$T6-wu2Og&M=Y!M>Yjf?2Z|uIZ;1m!QZj
zI+jmou34-iO2`Z7x&pya3yM3A<1l7_I?9t9r{Oo|F=Ulh6jf99_3%cV>5nRvYqCm8
z3(vWGGEA6lq=9PsfxN=YM$tT;@#+f@41PJah&V&Fg4hu<3j^g~1Q9bW_O^mS^q5z<
z-sb|naBD54`cz2zSI
z0SfLJx{*ezIfCz}a{H(WX6*|ozt-mc;D()p7`oxxe!uiC
z8*B}I&f;Fay1sG5+C-eHr=N-Y0G6_!bOffqaf73x2P=bpytHsISmE%mu*w7)FC}i`
zwAI4K8Xb)t4MEZdE_=;Aj@USZjsV+P9?+x#JiEZB-*osH7^RfKhiX*{z&6v?bk*^E
zOmxD)M#2D+%9+~mKu@)ld2f`Lmrsub^_G~*J=$wM=5V()3@FLGg=c*4$C-Lne4y@Q
z?<y4=mcy$cmUm6IFNgiC!6qL8w#=Vu#mf>6p6jQ)Lck_
zX{2fhmg1?LJx@C(`(l&8^`2@@Q(o+fptDW-E|AhSEx~~4A8eHEtX&*GJ5i(jO|J$1
z^E31(9`qo$h5RH
z+jj1(jsT0@OvT1n@HRCV6cn!B-W+y3ZU)7ppp=jDR5)mr_>W7xsipY|Z97&LW|fo?
ze4ScY+tpP>Xf!O^JBcigB^`f>LUIKQ1N;Rq1b+^}&+hxq;@HU(%eNKUKH#h%$|Pi*
zin`$V5_1J4J&&ly>(1bI_wMHk-ojSa)6u#(l?;<*#hcw^7TaYZ!)JP~hJUB$*HS1sEUsoU7qMP4j}`Ei5J|Wy
z(p|Imp=D-m1_7PzWEu^MN$Q>xpX@X8TW25zPz?o~uThO3|AQ?5!}gt)Q1q&BDFnam
z&cXJhJ%3rZRp&Kgd5oRu`2z_4YA6!79orx`ulOwPAUy+DP?wUw(^BB06F(-cuz&wz
z)hu>Gt6@IsF?lt`vF#IX{R-QjRZhM%+UubryDyK9*4o{VE@Imu1$Way8g1}4*-<95
z*b9t;t^wY}fXV2mx!&Kbp=d@qf?W>fb{TXW@8aLo>bO_vO8OO6rtd1x37kXW8@gPn
z?9os`Lnx=AP-b84P!EFJzr^i#blMh8S__=jEnSm6XoOJTP3yPMkV$mkSYyN==O3z{
z^e-Ml_!ehjKL`H^X$-(#DOuGV9qO!?u69R~9dLZga@xG>`OX*Lc
zhx4Ro1<%mKHJUmJlXMS9j8S0l&J5|p@!zNB`^ksZz{*)a)DZ
zg|}pRo2Uk1z1uKm4`n1iAk-Vg5D8b<8t;)6Qb{}+_bR4&`LPVzAl*CR<1cE(dY7oz
z^Otfod0FekEJ4SLHim0pB6!4?{>>7yy@FKX_tYkH)4=BGsgJXEC2RKjak9tZMq|*E
z@7^uWyCx#r%CSH3u9^pQYcAQbUE^e7nNa3-=-2JGPk!f-D%%)>iu+evBcET*K3#fx
z7IBW%$X;o&G|a8|hNX6d<;eQd^oafV_J^#T2gJO)Tpm@xqyKi=nZF(?Sf8aXD^r)(
zWBh(r_JZsU#5WcsuKL@?KQa7>D*T1#8qz%5Jo;Drk(7a8uObe_nAwjV
z75qem%Xf76p;ya)yO$quCUMp=aaOZab&Avrg=n`Y81ruaL-v<>Nh+f|w83I|hwkx~
zpL}A@2|2`DP-&sKhTp%mv03(;Ect-t>x4CVBP|D>rIsM^z87nxMvK_&!~FbO--X>{
z=~?Gl9_7S0j56l3r#1q;45NvU@6CGo=myKY+i9zqr-yv47}Ho5$g+uj4U}2ndv&BCzuh{z7
z5pCOdYUZKPHYr(pI
zN?@%8F_~o6Lv?*T_5m#e+W4ujuJ~=gkQ?i4z^)%~Yiyfz!0CsglI0+3!O>;?8_2fy
zLp8*KBA8zf*3?Gjxw|Vyx)U?)>aJwR`jbfcYzG_unDblizotLtd2y>|Au;TqaG1#8
zT*C_se=_l6-a|aSW7miTujppxo-iJ&r
z4x#N?FBV;6O~0t{KdN{jZjqav0uAC@^-I`G`Mop>5>}3>_RzCr>wj21q_o-G>2N@?~ZDo7H--kBoIjzH<
zu|vdS|5*NNShm@A|6*In_2?T*mMp5nxj$L5{=eY)>HMxNUK;uIO9-hy-Cll55C%H^qY>_;H6ep-qnwXR!J70J}>
z+t;!?W(5Hng|t5`=L^5CG=9%MYUDiiyEdEyDXd@N)I{E<|2)IO20&I*$5Jl??uujE*=r_Wt|S
zkmy^8A)7akqm`lYg7HToZR3SB-xssg;lhTs&zK?O0k1i^rT1G)p^J@k+
z8t}kf3HZi@-o~~VH?|7*!%nE5*{a_4AB;UG8`q*E6YR$5q?E`Iyn(JA_PSC%!b);Gl&&Ul7v=+~$*nz)Hroo+l$UoKK{D?NU$n&&4;5OqKG<^J$
zv-1KMV@YTvbMO6rV}dxW!)WWM>`yCQl3CcN4$mH_pWIC7Y`Sws3r72FeV;RLd?|>Y
zafmwavhcKl%o?-=2-BbVL8xWs+W9f;>z51wtS+e^hC-s%()!e4m8R)sP@+n9M)r7p
zjh4od($M^Ri?L+(#-1PY3{1>7o3jb1l_h_=p5?-y2I&H97FC1)x0x5g%P;7a)7Y0y
z2U3ltSKcHyrh-tDjl~ye2<9o{^-J-*%RzjK4)+Au2W9T
z%@1hZ(fl>Q9e@i2_bLyuA%7Wly;5#JyUzo-0!vxW6}PnTB7ZmIdqJbc}G)oK{#XMhnN4c
zFs2TSKj7w6OzyK#kT;^Eum214Gl5ku{%v-jyu3m>9keuLgzAeM_a>~hPo5@(R^a<9
z-4EP}54sp!7!wS1490RT8dN$AjB%;;cifI85{_IE;mF%>OWmQl9!x4D
zvqmo&HC(@hprH{OxCSTFDb#_Sj#B0Y&Y=DJ$=k;Dvb9nAOB*Ux57rAtr0mjYzzDXF
zKZn$pYY#whP2=6sd!Cy@G5bFCjEsy_w$Io21f1Kxs(@Hlz$$e$aTZ$zl;K7}qwhRw
z>|Wg?0`@ufI>Z&Tt)iZ^kVcQr8j{Ix0f^*%qXxtP@p40rj-((`zFF$o)GLgeToY02zcvtVmt3v}dRAxzp(Jbrs(KQbW
zqk#amV}0RK{$fAP--R&IhPO(uw^l^dJy>b*oo%b+x*S9%v@JMRPdG#+WFa^Zlh#z;
zJszR4wYnv#+^V6d-hQ+|khP(?-kgK@6Ea)u7u~VMpO`b<;D^nRU+5ga(i!N!m^$#0l}0}it>bM2+2a~Y16Vzqsc#fwR-;4;o`JPGr8
zNI+aX5NWD^CFma?VJGBN0hT@C*;$$1?)guD6mgzM
zAocxJx`f6L+xkQlx^KQ(}EkT+rspOzW%sO0R-K@Ja@HVej@^r6_W)AwI=qnOqjwE3YH?y~#tv1K*NMaA1Xw
zbq}a4DHz$!InAmJOv-V*CP$h}<0@;1j-&9txE(nD?|1ON@POH8hUI}5tLA|8g~zKb
zFR8=xmF9UtU*a}^;0z05r{q^|1OC+To}@q&zE3YSuLSnd#n8c3r0R^cdA11l@RCE&
zYJ@=vESquzv$~PeXk-sd`IsVO=qoe|O!awj3u|Q5x?Q{b3-Yr8ra?9WcQ_jx(gjAR
zC0J^NF(#Q@5NDLD>Wlbkv7x_U!d&Qj-;*Cbby}Y%07hP19zaCi?=Lux0ka6|
z7pf(rKMF^&q+kw@UkR!ybae~}=0EPBVAKW6loOV%qf^s?1nX&;PyFr-&JSh7ckny0
z+H4HYE8>7#YsaIq%{u5^DO^Vm}sC(tsJlqbxbyMb(vcXu!4L>{7d#X7^PmZh5DD6dNB{T4U}T5
zfkTL2bmc93_>Z4f^i%E|7(mt;gPq|WM>oJe3ZWZsWIr$et=7JPQ^+5q7*e=v%jcnM
z=atr3U1N2Aq~NvYz_i*L#h3HmW1DplPF?BmUBQi$u*>u1{eg~VmdJm`lv4ArDJkDq
z%b3@Ab@U7E*8E0x$M$>C=@+SsSryv|byinPQG1$JLSvzgm$Rab4w9-*prQ?x+p(Jw
zyp9#0=oLP-X^pyCu+cWK8oJYUzGm!3LUdGA)VX+hR(V#nE|^whV34DLo-I$T-Y24n->stcm%=fj)H8~lkD?B
zGZg$|Kjm%N8R>Uzewl^1zaZWi=L(f%<6?G$21{1(RTfJcc5HuXY|pZdrM}!i7p)O5
zyqq4kRx43l&V&8b)a1xEyd3oH&38%9demlHIWH_sG|H;Ip5^r5UxdJhaVPb!LIkXV
zC1=xh#Nx|43wZlIR@9XP!wu6&_K(A(@t0WScg?=hZ@u{PyX}f$6wj*hzxT_eLMHz=6%#w&m>w}
z4}R+I?FLW3h4+aS84%CI8VJ`Sq2c3o@4Zt*&72
zLSy`;?+
zO~HC&ivzT^VpVxqHYpG9I@@yZ&NI8#Ea!4#zAEQGeheGK>lkIGcQx#0ZK<9cipOQVxd#Lm>f(ohIVWD2BUZA`qKYlh?FJGV`
zsKM*whDNmSq1D_;r0PYj@m;)Dd1UR+U=gTQXTj_p^5BI!noQkRMlK$zaUqD2!7~!?mf1KGo=lj%ahVng3l%l;dpi
zMiD9-1vEqtK6F6?78_*4DA=?jX)E77z_B-w=PZ#)@nbEH*)9
zed80_ma!vhWTa@^07k*gc3!{f<<3+aRaPF3)LITi^+39Gl~uB_T$x(D1Q2lw`J2*v)Hh
z3xA?nP{!~9BYPAvWK_=>*Kj}(wWuLj-|$=*jD1WKjQ))t9`9S`Ix0ELYX-OP1X<`8
z8tuZa>|Neb+%IS+I4)dmZJ5$_Y_((lp6_~&VZ%E%J86`gH%-B$#P5eXa=U<$1k3wW
z((?!2aUOKbsBX6KE_;j?>y&xX%D-+=Fr1lN$G#}>k-vwp>vNK$EQHAB0V_T
zW$JtI|D{|Od=9||DeRrxKD?GmepP$_#g&c28%_A&vF$MW*g)d?s1Q!A;laub>-;Rk
zmlbE?g`(TkFLykGepLGJ!k72)dw;ly=-d+%#C7XPh+PHxiNXe5SH;4>`T+xmUmoo-
z85h?{0DEbW7X->(FU`C0c1c#OD@DOhor$Z2(u=OPi7OAM*Q95mP}fq%yi|&OmEx?4
zbfk((4nNgn?Rlx(AD*vXZri`=AMNbPrgGY;t<@(8q>O}_Bk_i2OoOWrviU-3gq|PY
zHI0{#T;o_#75`_?a?K5LWd+ZdE;-|Qy?Mv>z)64#0i?D{ssbA36n3g+qK`0)9Yk1E<_qq^e?5T(^zr1lsHTQs{gqJ(bnPvq_mD=O_)K|azm
zL;H-OMbt5^Nx)D;mFby_`!(UxYs(YF`Vyc3&T~8C3azMy2UFCQ_Im+7+8$C_P?->!
zU>|MAUY@{QCS-@9hikc~mDPwo%6oA8XQ^JUm3hlShQU<>=}
z(ey*4W@N;bc?jsDjeR8-*OI80gY4oCb4>IFLW}tiw65N>Y3p+EM}&`|v#xl66Xa_$
ze`^uH;S~UYU---*uT?)_EenY;FqUr>XkB5&@P>{%u-BvG*&Hi~-eY^y_%55M!&eqY
zI83E;R(`tK7Ef17vBfKdu*-ZcmHV~PD+tbaQq|$^iO*1f4LBAyw){^Nbk-AX
zhSuu8c2FTtt6?&)499+U=Kh?OCLn!*#k7o1i5h~mlRq~3+j|Z~kZ9MBA@W^mhmOK1
zOg+H-P?0>!bFwe9aSm@#LJpm+^E+beQ%BTb@UOn$UQW-WiQ`llQIx9{^jfT_xoBvd2NR(>$Y!%0oJ5l+8<`@7s3WPT;AxltON
zl3Jq$fb!2Pey?dZwrB^^ZcHj5c)E~PT@@?VQd!=q7FckJ(4c}x{^bs&N~M(eQd)EHPCKityukD=NZfh1fPH2I$J@)rt35^5QTw4tIb)E9dN_4TrJaBNeS8Pe$Yw?S`xBSeN
z?MTSElUW_@Wea~lZAhZj3gRg}<-x2x^hw*Y>;qn11YL|GymE2Tb=%2;TaWM^_O(OV
zPF}3><=om}7VCBhSaH`!f)Zh^AKZvR*udQq8zz|
zSw-%Q7;=vjxmRp*+bW?jPA7|6NbbYdPByi%of7Mi+lI|F!f_d!g^f10{l4el?;m@7
zzu(XI{n_jNe7)Wu8|vH*3471@>%F0YlI6h4E7@%Ur;$j61-hES+Ie(T=hCi=p%*EmT)(355P&s6Eg!VJeX}
zu|i2{?<9k@3PShN0}lJk+ht#%(!Gbsx1wVCMPn6y^{X}AJ3zhsvZ$5o?xOBXpCvjtO(wi+`BbV0CGc~BGoP2t!M0Q
z#~wG^sEzH63v8Ng{mO;V(*QLd#=DN%uCFj?IDL1pmJIk&epX`6#`YFBTPL`V77Xl*
z=Q}k3Q{5zqRGN(LEXG$pYZpcGJz&iBDNlV0;m2rk%0y(}(9h<8nbEiKA077!OwcOm
z=RMnw#)6>
z)rdLHo6RsJ;#|>uxNs_ReNRchjk2Fy{v}0_o!oF0ddo44ei5~MOUt&P|GyFWt0gMD
zkd0jsKlO|YZjuthcvbxVoco4MbEcU>uRmyLb;xs%Ex4}~0o%Vc7e!yF4b3k_>P(pz
zs2FC4?-`3q8H_>}^kWrd%cq%W+Gw+3bBqDMeLyt8(ZuqU?2frb{|!db>pQ;OUIjK162ulEB#IpH_njchGV3X`2~mkfmk1Hw
zo?Afc(vzbT&>zV5k=Z3INvh>oFfpTW4Ptr
zT!ZqXHv=CIAc#$eC9}*Av!CiXxma6&s;wJ%Kj$cvBW;YYL5DJNDF)EwRIp(;$v0#E
z{Ah*903Im~+iV@^F0L9y-KN1CA~BuOEnaOVq!&1%ZQ*-O%=@ZMfSZ^prh^jLL~bk{
z&Y6ra0=W58DkssV3`3l4d&0?Gj_vK>RCM0rHMg8r_%?A{;AosloYm*r*=Yd>%Z*z9$%TuL
z%#nEr=8tSp$hb_3q%=G@HG%2YWs8{YYS_hM98a_gSO5aMa$v(6H|{|YZB06l5VyB3
zMaHG|#20qYSuehXFPQQUc3Yx}kqr!pcq%GIZNe!s=Ec<-c0KT@Z|dH}OLZ|Y`|Sc<3ZNOjv)ZUmQsVI?5c*X8;r!e~(uFaXFrEkp*1?-jmO;uV-*;U^)9^iO!ka6L`r{g3q
zDANXRlMZC9b6VD#A{s_qy-R|R>Txd)g~AWcP*QJVcR$j=|E-TYT#U0WJ<+
zB>3Tu!-d@R-ztir`oC5zA|6kapUk$nFZWRmQt9y{7T!x25ZqYO=>IN2g8rAXLsoCWfs?h6?8GX*@zL4U1D
zx0=G$`TUhbM!Q#r&*K;Yx&Cq!+0#)q
z<~MD23bUE|6)${=TGo2#LI3ALSjrc(hs!v;MMTGXXRzdB-k%nthEZ4Mu1{xDiTf^p
z%hmZ1Ar0yH#QRxQNrf*jXTP)pL)~fQi@(RlJ1MFi=YexZycZr2XL!R{-OpbaI%;7gXetZ|s
zZ+q-xQho;uueN`tsY%|=Q_!7?!0VVW@q2=HmIn>^el+J&I(xB}&B;~e!
zf@s8kMLo27dAgXs&FXbNN`C8h!wqRW2Ojf8C86T~E~!0!bnSH(k(uj9pv@7c0#wC?
zjZO>OJu68npMu6e0@6J9npH0dYS0Q1JHh!U
zme(-7U@xwJl!sM4vmYb4MQ265(P`G0NZsjZb@P&7KFLT?uE42pR&(76yZ`LG1I0fb{a40jldXAuvBzqT4+-HGlf=9K3O%(;8xHKaYPw8=;xvx9TC%#?0eanp-
z;zK#lM?{URA1}cJO8MpmUKL=ydo19SxthvKjFCxfs4Xt*FpTkBoenXqPv@^9Y^GORvpt1y8E9H*)8#XkAnD{nBZGB)FiLkwee%D
zq$iKzDJ>ZLLmePCBhh%&74`>ZX?ZDw;eyr=>>e8Vu@%=|v2vGZ`X^+0Sk#?}O3IDj
za#?XjU(TWXdk6b_lb^KM{+toJXX*R?i*a|mo1*>yA+`MUl~>|!I~g$=nt?8}@F1CF
zduBi4U6nv%kLE16pX)UBDjDHsqwEDw5H4x!ky3SSQtObV?3tDO)X}%&E|L=8%dJ@?
zG*vSKp?v4e-W^hqj4GpHSPBp52-Mfjxy
zllCwJ`RDryr;)a#;8>eT4+w9oZ^~Jt=&xi$S?ZS!k8rxb%1zXccngPSp$!#;uL`s0
zty_b<(_cRcNmB-X;TpR^UOS5%)%*h}2d;=$ipXLbdtD~lB`kemEWH@}v16)HmNas4
z#HIXxMZHI?W+BAEpX)PTyK5~gh+1zTSOhif^ERu`Dg`)wqB5(cCw~iJd2U#v^UQ4Tu;-6O1H@xNcf^}Rc99#xN)UG{S-m<9vq^hEXhphBkxXdGCMr)Iucg$r-q6
zCmdNNvDKqeuv<}4Ddh8NQ5eRsM7VlBq)-8s@;EJql?AdWt+N>^O*w~|0SWF4NW03g
zw50_C&ctR=Fz;9-+akI%7Nfshg3LW(tkkVHmn~5n@O1Z?-hTiYXA=x9p}Px6Q-Pmi9nIcI6vn58<=5js~wsY|I2NDi)pKdLY3xeB^=
zQ=WGVNMerNEiwLinVqY;)%7*nvk2Ujas(O8YS*yc)XdiO3>VXtB5_zRV}Ob4ZaH(3
z%{BscRlC|pbzNY|EkP7-m6AYv-iua_KcbR%T|i;4co5PPM-S!~$Ncs}CyNlth=s}k-4(1#n4M_SkC?`j&J(JtVrR8i4PZNrT69kQO(^
z)K2a!VQQJyu9KQLbk2XyS@1!&R4k{WXT7CiM>_>C*H6npI>Bg~uIJF_om>rpunZ|a
zm}&w|IFJK_+Q~GWeXl0o;rjrsJLBwpk9RMUKLyCJeQB;!6CeTt8`iW99sD&mt-$Cm
zN27peBLspFb_`;6Tj=B)>C0md0h{q<->ba&?WwR8DcML1kZB9ASu*xYfYxBtAob``
zTbi1(i98{b;vL(-)*cMN18~y@A3SypO6i|~X7)g68%Ae{?2yoa?Ju6ot#>HQfZWZ;
zvxH|X;i+sQMvROXWFe1BD+iXF;j%M8J7@Eg5X<|Ye~kmuTg@1HKPfI^d7b@fQg{-Q
zZ26R^nFx>ZQu!w=W9207&-$jFv6snjBb@h^2FINfT4l`hG950w4?p@NNcrXPj__TX
znXhMJKGW)x7heK!s*rG8=X4!j(XfxWmOQm0HDaUQ7vOHi6+<6*Ht#l55Sx-S8QjCN
zN<_HYCpq#ANZ8Wtnw7i!edt}Kv(L_n$r!tT4Bi&{g)aIXE2XBrV$A4<*)LNy@;gPR
zyNflGj=Xq)s5XZE^*!|vx7$NpXQL#|%-HZyxoE*oeT?~fvWRE=m7V*^*5}qqvsUkM
z@n4X_=)~`rU3d*jLyo*)hY0%pH}|1uKwV9@uX_3hlX(X^DwEl586B-_uHqD$2-c1T
zB7CNQ%o%^H&;4~K(u_yg0m?b5#ePzY|JhIaeBgzqo0dIe`g-{O`f%QX-}wm^6lE&Gc7iJB{h1I|oumt-ABt{4cVYo8&5|
z_Q-s??TKsm$%;~^Pc1%uXH0Ss%)sd=Znp%
z_`0T15bfP>*Z4&X03}q>?ru$$H`~n=U}MqO=Rye=2TiehnHJpb@^S{GqUVoket4a0$VeZd%Ls
zF8rri?(&2KwQ;)k+TNqwkqqyK*U$A$Byu_Lf=en^=L?8Y(kH1Gt|WY$LRr1k%z=er
zMGir^q4<#>$A{mQ4@hLazrw$%xvTnigkm`NLX(4e!lr@x?Rb^@73a<#+A!9d1ALu1
zfElJ{QHbz~pddkrz^g*b4DQ9i866?o!a7}e0W9MZ+sPHeI@~;T_SZP82dO(fC97Vg
zkug9$Ydl_x>4+^=;%;;P5(Ww-GceSJ05+vK
zhz?17;b(tqm*U)SK_(~SrzTdng`3J(XmthsMzg7jkFL`|>+M!*t#ys50>x|V!N
z*WE=X@lSD%)MgujM<;e4dgU#76J%$Uqv0}
zNL)LQjIiLJnZIZisG1CHeTWQhfRq;!2Fbw@xTGmh@lOP96TDT^zc=12@SYv6xmw8U
zq4r+Rj+|?ruGza+m5gbk{P6tw%d*PEHz!{0`d?~U+@BN;wYpf9W*u(#<|w8s!uH8q
zRDO0V)F4X#v*x#nz1vUDMMlQfQ_{&3O+MK4K!
zj8Md`l{Ph(FJ4{i_yw&?AS&=B_hg$HWN14|FGZ#sPg(2yRXab$SlRiA>mwdJ2K7
zb4k2VPbtV^M=5oU?_RleTN-qAlv(wAYFj0B4c}9u4jJ-O3IB7d{oxfU)_v^INX|M`
zIq~pbYx1F{^=4jK#=x(hYQ+;e7RtfIkFknM`TuH|IYq%-9}qJ)NaaVaiU(6e{MnH>
zSG*LjxvR*a$TaN8|2XB;-Ycje3wsBSu4i*g5V<$=H0EsJv(SA(-6!m0m3z;ONWo-6
zb>5!?`gKiFnEE!nN!MG?!TZ*LZ$
zuVvxJim#TJ0`1%tcd*wl&==2i6VPgX&d8XI*P4`iTB2k(?}61#k>2FrguKuGK_Ra&
zYqTYpGvVSKp6ByqvSSroO@84tmz_HuS7@6(^6n3HA}5R8rAtCHsv5Utm#}$vX9((L
zFecaLxwbWl)#nU!jG#^9aHR+YEZW&w!Yl&9K78N6@*iLv!pR{X|;O4~|n%Pp}Z
zFEhbkV#V}7BW>JfsS|Cy6TBsjU3KNSn5|T8U;b53m_a2FM1F4Pe^lcb`@Tm*>k3uq%Y_(kEGa!!->qpYzFC`q
z^@+3iU#eiN#^72lqCTF`3!Y?yA`%YR@5M>Wbiu3aWB5W{TVh~UCry4b?R&gL81MKS
z5CPMBio&5{_q{8pj(EUmBdn4OQS!&0=l-H
zB0}Iv(DUkJWxh#aMXi4%05u7_biMgE?@%9UlVCQu>H7iI2_E6`&d^MYy}C*jfh97V
zv?z)}_alw1Y!Qqhk|{l=M-vZ6BK*RU@6MT6P%}kL2Bc)zbo9$-R=kF^C
zaiv?sKU#?WfyzvH`)H!VKF6h^?MRM5KC|ICiGwEiX1WW!x(B=`Aa;CTODSj$7zY(#
z-}XFEe<30tQJQ$y-F@3a5JI3MXm)?Y%o;16uc@t9arRD{7A@c+8z!qb(1OJ2AN=gy
zfM;NqfMlhLx5RQeE)v5ycx19%J-NM!`yvt&GJ8U2LSsvI%PrK_nUlLEQ&9=w&96ec
z<)!ir?0O~QG?E(uNV+exFDdikz@VuIcxF|fYi1u8z@oTGALHDzu5>+(b$iG
z`BIkL;;cSy$Cv4Fe;7{3#rM?`JSD7D-dT2Xpt&D87Sm!pxe@S;*Ky>i`dQ23d)%pFDf6xuj>}vUtg-^}%
z=QWAohlRFR=NMo3$1-z9*G;YmwM1N@E*53mBp$v01b(SqaKANuIp%aqjEH!hR7Y!~
z>1^ydLFtUCOGckEZ6pRrrSAY#Xpp?~AOny7#}NI95dc6@kweDAFU*6==6>_joUU1@
zv{G@lT!H*55-UUsm^RZ46lE}#BhnQSi`_Ns0*0(z)5FX*Q%)e)YO*8=HCqg5)Z0f^}tD17g`p=%K
zs%JqmRe*d$vO&iBO9_P5oC_*#547^l2G8=AGxh0d4ADM3*eH0k!q2KRVc@@%HTc`R
zWkAHcbuAau?6T3J870c5RjO}h%+FUMTnfRpgAmk6|4zWU&FM9$Wq*Z%_m8PI7AH3f
zoX+k+qZkmvFZK8~5P;(eLOMI^Z>jGc`7$q)>w(|up1=8nG#gC9F4QdeyTqH`kxt(w
zyn$yyit7JEIqXBYP%Q(>*7E@qpw$#Wf}bwtx_)
z{QJGq+C$oOI*NkTwOw8{*k9~g)UVuOsxD?9izD<$<=Afmb{~Xr?Zdx#6F+Q9gD%Fw
zgqqIZ<9uUtQIRRVW^GDmdk-S5BP76_iA0;cGRDareN#34LtJ9>5#ILm)s*(9)H9~3
zjcgu|wJuypb|IXvg(q4Ea!+4D0E4WdOmG4vuAQx&hew$^yMRZ4<)a}IK$hC1Q2X0S
zqw7LeYxVZ=zruft3U=AY%iwROe4dyKv(NtrDdWuXjO}YTf14FxyDEd5vX=JoDuFO{
z7b*S;7NUtGx^u*-X(pSTM@)}n31eqo=JS5259m6h(R9TVxO4CK2iAXGM%K86$2QQ0
zMfW!@*(Jz3^&8ttNwg(YnM0~PZ!H`$HPz)J%{Q#dIQuSKF59Y9?;NO>e3h~aj4U$=;=2}tGx)0fMeU+_&{G-hHS4R5vOB|qru
z$R8$$E3~GAW*1-231PJ9>sPk4`u(C&JK+b6V#(26eGUGm^0WiY^NkJR-IW<~neh89
znl6vkSGTb`ByNCrRZmN_O%yjDutS=YHw#ttD#G;_#;OPKKp}L&6rTv@wd`;(j{J=^
zJMmLwj{Qe+IA!>^&@;`PcbSXqHxoqTkiukVPny~7n(K`#`F_X`)2jMbyu2ACNHKlL
zPT*~ebnc_i4qod6R(ly%udVt0i8(Lyv4&
zv`lC9&7T4q&}figIDYFV&M&~y10**;h+?kYnzd1+l7Gw_+i)DtOR3ZHVj@EAewP;x
zZyWb#aKz;FPYBi!%xr(VvH^B8?B?axLnVhB^BDVi9~;%aUSsOYY-=Q-+hpQ>z-rZ3
z<2NGX+qaKz%#eaPqf@)}uOlB6dTV&5l?9}J+{Yc7V%JS-|Dpg+ZS%tS!0f1$I%MZk
zZ0EqpnexlB9k)JRI1E2uwRHW+ho9DH0URDwyLz^>OqwgssHB*o9%FVnn^xUa*sb_0
z@Bu|y8K{r%Zu;rZ&CpLgSk~C;GL?W6^iMpPzPerIoR7{!0cku4$Rn)M&O^p>FC7whqTf
zz1^_?;8P;F5js`Zn)R>r_=a@@&Vlkp5G3ppHz~T`vV0hmbuzP{WL#gmZP138onA4k
zNRrTSvH8nsA)B6H?O|Qk<1L+>=P4@W@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Settlements/SettlementsLeft/Settlemented/SettlementsTable/index.tsx b/src/components/Settlements/SettlementsLeft/Settlemented/SettlementsTable/index.tsx
new file mode 100644
index 00000000..d1337d7e
--- /dev/null
+++ b/src/components/Settlements/SettlementsLeft/Settlemented/SettlementsTable/index.tsx
@@ -0,0 +1,89 @@
+import styled from '@emotion/styled';
+
+import { SettlementItem } from '../../../../../types/settlements';
+// import settlementsFrame from '@assets/settlement-data-frame.svg';
+// import settlementsFrame from '@assets/settlement-data-frame2.svg';
+
+const SettlementsTable = ({ data }: { data: SettlementItem[] }) => {
+ const keys = [
+ '쿠폰 적용일',
+ '쿠폰번호',
+ '관리 쿠폰명',
+ '사용 건수',
+ '쿠폰 할인 금액',
+ '쿠폰 취소 금액',
+ '정산 금액',
+ '정산 완료일'
+ ];
+
+ if (!data || data.length === 0) {
+ return (
+
+
+ {keys.map((key, index) => (
+ {key}
+ ))}
+
+
+ 데이터가 없습니다.
+
+
+ );
+ }
+
+ return (
+
+
+ {keys.map((key, index) => (
+ {key}
+ ))}
+
+ {data.map((row, index) => (
+
+ {Object.values(row).map((value, index) => (
+ {value}
+ ))}
+
+ ))}
+
+ );
+};
+
+export default SettlementsTable;
+
+const Container = styled.div`
+ margin-top: 30px;
+ display: flex;
+ flex-direction: column;
+`;
+
+const Header = styled.div`
+ padding: 20px 0;
+ margin-bottom: 20px;
+ display: flex;
+ justify-content: space-between;
+ border: 1px solid #000;
+ border-radius: 10px;
+ background-color: rgba(255, 255, 255, 0.05);
+`;
+
+const KeyElement = styled.div`
+ flex: 1;
+ text-align: center;
+ font-size: 14px;
+ font-weight: bold;
+ color: white;
+`;
+
+const Row = styled.div`
+ margin-bottom: 10px;
+ display: flex;
+ justify-content: space-between;
+`;
+
+const Frame = styled.div`
+ height: 500px;
+ background: white;
+// border-bottom: 6px dashed rgba(17, 31, 63, 1);
+ border-radius: 10px;
+`;
\ No newline at end of file
diff --git a/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx b/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
index ddb55011..1cc8943f 100644
--- a/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
+++ b/src/components/Settlements/SettlementsLeft/Settlemented/index.tsx
@@ -1,9 +1,81 @@
+import styled from '@emotion/styled';
+
+import SettlementsTable from './SettlementsTable';
+
const Settlemented = () => {
+
return (
-
-
-
+
+
+
+ 전체 내역 0개
+
+
+