diff --git a/package-lock.json b/package-lock.json index d6bd777..02b5ea1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "waiter-react", "version": "0.1.0", "dependencies": { + "@actbase/react-daum-postcode": "^1.0.4", "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@material-ui/core": "^4.12.4", @@ -22,15 +23,18 @@ "@types/node": "^16.18.11", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", - "axios": "^1.2.2", + "axios": "^1.2.5", "classnames": "^2.3.2", "dayjs": "^1.11.7", + "http-proxy-middleware": "^2.0.6", "include-media": "^1.4.10", "open-color": "^1.9.1", "react": "^18.2.0", "react-datepicker": "^4.8.0", "react-dom": "^18.2.0", + "react-geocode": "^0.2.3", "react-icons": "^4.7.1", + "react-naver-maps": "^0.0.13", "react-router-dom": "^6.6.1", "react-scripts": "5.0.1", "react-table": "^7.8.0", @@ -45,6 +49,11 @@ "eslint": "^8.32.0" } }, + "node_modules/@actbase/react-daum-postcode": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@actbase/react-daum-postcode/-/react-daum-postcode-1.0.4.tgz", + "integrity": "sha512-cTUnwfnKLM9LMh4dBPxbfGeCjpbJQcq/R6oW2aEJO20qz4i8cA7sPf0HkUyYqENfuGFU+vbsSJ8LJwNhTYoFLQ==" + }, "node_modules/@adobe/css-tools": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", @@ -5271,9 +5280,9 @@ } }, "node_modules/axios": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz", - "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.5.tgz", + "integrity": "sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -5838,6 +5847,11 @@ "node": ">=8" } }, + "node_modules/change-emitter": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", + "integrity": "sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw==" + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -6264,6 +6278,19 @@ "node": ">=10" } }, + "node_modules/create-react-context": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz", + "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==", + "dependencies": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -7156,6 +7183,14 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/enhanced-resolve": { "version": "5.12.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", @@ -8153,6 +8188,34 @@ "bser": "2.1.1" } }, + "node_modules/fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -8745,6 +8808,11 @@ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" }, + "node_modules/gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -9230,6 +9298,14 @@ "node": ">= 0.4" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -9627,6 +9703,15 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -11129,6 +11214,11 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/load-js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/load-js/-/load-js-3.1.1.tgz", + "integrity": "sha512-yAZcLdKtq/9e3rE8A+c6noD/M++6vryP5A96axcM8NReISX3tzTCHUS8apToXzToaPs9LlApqxfa5uCDBuv+SQ==" + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -11169,11 +11259,21 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -11189,6 +11289,11 @@ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -11537,6 +11642,23 @@ "tslib": "^2.0.3" } }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -13682,6 +13804,14 @@ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, + "node_modules/react-geocode": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/react-geocode/-/react-geocode-0.2.3.tgz", + "integrity": "sha512-sIpbgmn1IUzAxO4haOZ6jeeFnMD8ya9PC38yiNrmJ9vPWbvAO2D/2yfCBzZjGZVUm4PRzKAc0KghXfaEnug0TQ==", + "dependencies": { + "regenerator-runtime": "^0.13.3" + } + }, "node_modules/react-icons": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz", @@ -13695,6 +13825,37 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/react-naver-maps": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/react-naver-maps/-/react-naver-maps-0.0.13.tgz", + "integrity": "sha512-d4tagxVILGTzRaIW+GwFjZ9HhoBoODFy/Ly0ClWZ9neIJ7QCzCw/x0OPmZUYki0Kke6KcngQm6/mhx+mVdh3ug==", + "dependencies": { + "create-react-context": "^0.2.3", + "debug": "^3.1.0", + "hoist-non-react-statics": "^3.2.0", + "invariant": "^2.2.4", + "load-js": "^3.0.2", + "lodash.camelcase": "^4.3.0", + "lodash.debounce": "^4.0.8", + "lodash.difference": "^4.5.0", + "prop-types": "^15.6.2", + "react-resize-detector": "^2.2.0", + "recompose": "^0.26.0", + "shallowequal": "^1.1.0", + "warning": "^4.0.2" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0" + } + }, + "node_modules/react-naver-maps/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/react-onclickoutside": { "version": "6.12.2", "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", @@ -13730,6 +13891,20 @@ "node": ">=0.10.0" } }, + "node_modules/react-resize-detector": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-2.3.0.tgz", + "integrity": "sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ==", + "dependencies": { + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "prop-types": "^15.6.0", + "resize-observer-polyfill": "^1.5.0" + }, + "peerDependencies": { + "react": "^0.14.7 || ^15.0.0 || ^16.0.0" + } + }, "node_modules/react-router": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.1.tgz", @@ -13891,6 +14066,25 @@ "node": ">=8.10.0" } }, + "node_modules/recompose": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", + "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", + "dependencies": { + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "symbol-observable": "^1.0.4" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/recompose/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, "node_modules/recursive-readdir": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", @@ -14056,6 +14250,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -14589,6 +14788,11 @@ "node": ">= 0.8.0" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -15251,6 +15455,14 @@ "node": ">=4" } }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -15629,6 +15841,24 @@ "node": ">=4.2.0" } }, + "node_modules/ua-parser-js": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", diff --git a/package.json b/package.json index 950dbab..2ec1742 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@actbase/react-daum-postcode": "^1.0.4", "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@material-ui/core": "^4.12.4", @@ -17,15 +18,18 @@ "@types/node": "^16.18.11", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", - "axios": "^1.2.2", + "axios": "^1.2.5", "classnames": "^2.3.2", "dayjs": "^1.11.7", + "http-proxy-middleware": "^2.0.6", "include-media": "^1.4.10", "open-color": "^1.9.1", "react": "^18.2.0", "react-datepicker": "^4.8.0", "react-dom": "^18.2.0", + "react-geocode": "^0.2.3", "react-icons": "^4.7.1", + "react-naver-maps": "^0.0.13", "react-router-dom": "^6.6.1", "react-scripts": "5.0.1", "react-table": "^7.8.0", @@ -34,6 +38,7 @@ "typescript": "^4.9.4", "web-vitals": "^2.1.4" }, + "proxy": "https://naveropenapi.apigw.ntruss.com", "scripts": { "start": "react-scripts start", "build": "react-scripts build", diff --git a/public/index.html b/public/index.html index aa069f2..d3c4996 100644 --- a/public/index.html +++ b/public/index.html @@ -24,6 +24,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> + React App diff --git a/src/components/CustomerRegister/RegisterInput.tsx b/src/components/CustomerRegister/RegisterInput.tsx index 013e768..c77f1f8 100644 --- a/src/components/CustomerRegister/RegisterInput.tsx +++ b/src/components/CustomerRegister/RegisterInput.tsx @@ -19,16 +19,6 @@ export default function RegisterInput() { console.log(token) } - // -// const customerRegister =()=>{ -// //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위) -// axios.post('http://localhost:8000/api/v1/waitings/',{ -// store_id: localStorage.getItem('store_id'), -// people: people, -// token: 'token'}) -// .then((res) => console.log(res)) //(setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드, -// // res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body -// } return (
diff --git a/src/components/StoreRegister/StoreRegisterInput.scss b/src/components/StoreRegister/StoreRegisterInput.scss index e49498e..5de473b 100644 --- a/src/components/StoreRegister/StoreRegisterInput.scss +++ b/src/components/StoreRegister/StoreRegisterInput.scss @@ -22,4 +22,34 @@ color: black; border-radius: 10px; +} + +/* 모달창을 화면 중앙. 최상단에 노출 */ +.container { + /* 모달창 크기 */ + width: 300px; + height: 200px; + + /* 최상단 위치 */ + z-index: 999; + + /* 중앙 배치 */ + /* top, bottom, left, right 는 브라우저 기준으로 작동한다. */ + /* translate는 본인의 크기 기준으로 작동한다. */ + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + + /* 모달창 디자인 */ + background-color: gray; + border: 1px solid black; + border-radius: 8px; + } + + /* 모달창 내부 X버튼 */ + .close { + position: absolute; + right: 10px; + top: 10px; } \ No newline at end of file diff --git a/src/components/StoreRegister/StoreRegisterInput.tsx b/src/components/StoreRegister/StoreRegisterInput.tsx index 6957d19..f31891e 100644 --- a/src/components/StoreRegister/StoreRegisterInput.tsx +++ b/src/components/StoreRegister/StoreRegisterInput.tsx @@ -1,37 +1,54 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import Box from '@mui/material/Box'; import TextField from '@mui/material/TextField'; import './StoreRegisterInput.scss'; -import { - Link, useNavigate -} from "react-router-dom"; +import {Link, useNavigate} from "react-router-dom"; +// import StoreLocation from "./StoreLocation"; import axios from 'axios'; -//가게등록 export default function RegisterInput() { - const [name, setName] = useState('') const [phone_num, setPhone_num] = useState('') - const [posts, setPosts] = useState(0) //가게 주소 + const [posts, setPosts] = useState('') //가게 주소 const [email, setEmail] = useState('') const [password, setPassword] = useState('') - const navigate = useNavigate(); + const [latitude, setlatitude] = useState(0); + const [longitude, setLogitude] = useState(0); + + + const storeSearch =()=>{ + axios.get(`map-geocode/v2/geocode?query=${posts}`, + { + headers: { + "X-NCP-APIGW-API-KEY-ID": "pg98qmcln0", + "X-NCP-APIGW-API-KEY": "ELFgrKAgPdLsxeQDxHBhqv1jQvrpZuVfDJ4Jcmrf" + } + }) + .then((response) => { + setlatitude(response.data.addresses[0].y) + setLogitude(response.data.addresses[0].x) + }) + } const storeRegister =()=>{ - //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위) - axios.post('http://localhost:8000/api/v1/stores/signin/',{ + axios.post('http://15.164.28.246:8000/api/v1/stores/signup/',{ name: name, phone_num: phone_num, - latitude: 0, - longitude: 0, + latitude: latitude, + longitude: longitude, email : email, password: password}) - .then((res) =>localStorage.setItem("token", res.data.token) ) - navigate("/WaitingList") // .then에 넣어야 할듯..! + .then((response) => { + var str1 = 'Bearer ' + var token = str1.concat(response.data.access) + localStorage.setItem('accessToken', token); + console.log(response.data.latitude) + console.log(response.data.longitude) + navigate("/WaitingList") + }) } - //console.log(localStorage.getItem("id")) 로컬스토리지에서 저장되어있는 값을 꺼내와서 console.log에 출력해서 확인하는 코드(getItem) return (
@@ -45,12 +62,12 @@ export default function RegisterInput() { > {setName(e.target.value)}} id="standard-basic" label="가게명 / 업소명" variant="standard" /> {setPhone_num(e.target.value)}}id="standard-basic" label="가게 번호" variant="standard" /> - {setPosts(Number(e.target.value))}}id="standard-basic" label="가게 주소" variant="standard" /> + {setPosts((e.target.value))}}id="standard-basic" label="가게 주소" variant="standard" /> {setEmail(e.target.value)}}id="standard-basic" label="이메일 주소" variant="standard" /> - {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" /> + {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" /> +
- ); } \ No newline at end of file diff --git a/src/components/WaitingList/ListTable.tsx b/src/components/WaitingList/ListTable.tsx index 2b59ebe..e3517f7 100644 --- a/src/components/WaitingList/ListTable.tsx +++ b/src/components/WaitingList/ListTable.tsx @@ -14,8 +14,10 @@ import CheckCircleIcon from '@mui/icons-material/CheckCircle'; import CancelIcon from '@mui/icons-material/Cancel'; import axios from 'axios'; import {waitings, res} from './Waiting'; +import {useEffect,useState} from "react"; import { Console } from 'console'; +import { tokenToString } from 'typescript'; interface Column { id: 'waiting_id' | 'name' | 'people' | 'phone_num'; @@ -25,15 +27,18 @@ interface Column { format?: (value: number) => string; } + const columns: readonly Column[] = [ - { id: 'waiting_id', label: '순번', minWidth: 30 }, - { id: 'name', label: '예약자', minWidth: 30 }, + + { id: 'waiting_id', label: '순번', minWidth: 30, align: 'center', }, //(count++).toString() + { id: 'name', label: '예약자', minWidth: 30, align: 'center' }, { id: 'people', label: '인원 수', minWidth: 30, align: 'center', }, + { id: 'phone_num', label: '휴대폰 번호', @@ -42,46 +47,78 @@ const columns: readonly Column[] = [ }, ]; -export default function ListTable({waiting}:{waiting:waitings[]}) { +export default function ListTable({waiting ,setTemp}:{waiting:waitings[]|undefined; setTemp:React.Dispatch>}) { + let abc: number; const [page, setPage] = React.useState(0); - const [rowsPerPage, setRowsPerPage] = React.useState(100); - const [rows, setRows] = React.useState(waiting); + const [rowsPerPage, setRowsPerPage] = React.useState(5); + const handleChangePage = (event: unknown, newPage: number) => { setPage(newPage) - console.log(rows) + console.log(waiting) }; - function setrowData() { - setRows(rows) - } - const handleChangeRowsPerPage = (event: React.ChangeEvent) => { setRowsPerPage(+event.target.value); setPage(0); }; - + + //대기목록 MUI 안에 있는 호출 버튼 + const Call =(index: number)=>{ + if(waiting !== undefined) { + axios.post('http://15.164.28.246:8000/api/v1/stores/notifications/',{ + waiting_id: waiting[index].waiting_id + }, + { + headers : {Authorization: localStorage.getItem('accessToken')} + }) + .then((response) => { + console.log('성공') + }) + .catch((error) => { + console.log('호출 실패'); + }); + }} + //대기목록 MUI 안에 있는 입장완료 버튼 const Start = (index: number) => { - axios.patch('http://localhost:8000/api/v1/stores/waitings/',{ - waiting_id: rows[index].waiting_id - }) - .then((res) =>setRows(res.data.waiting)) //55행 이용, res로 넘어온 정보저장 해야대, 그렇기에 setRows가 - .catch((error) => { - console.log('Error!'); - }); - } - - //대기목록 MUI 안에 있는 대기취소 버튼 - const waitingCancel = (index: number) => { - axios.patch('http://localhost:8000/api/v1//stores/cancellations/',{ - waiting_id: rows[index].waiting_id - }) - .then((res) =>setRows(res.data.waiting)) + if(waiting !== undefined) { + axios.patch('http://15.164.28.246:8000/api/v1/stores/waitings/',{ + waiting_id: waiting[index].waiting_id + }, + { + headers : {Authorization: localStorage.getItem('accessToken')} + } + ) + .then((response) => { + console.log('[입장완료]' + localStorage.getItem('accessToken')) + }) .catch((error) => { console.log('Error!'); }); - } - + }} + + //대기목록 MUI 안에 있는 대기취소 버튼 + const waitingCancel = (index: number) => { + if(waiting != undefined) { + axios.patch('http://15.164.28.246:8000/api/v1/stores/cancellations/',{ + waiting_id: waiting[index].waiting_id + }, + { + headers : {Authorization: localStorage.getItem('accessToken')} + } + ) + .then((response) => { + //민아) 행 삭제 시도 + // setTemp(pre => ({...pre,waiting:[...response.data.waiting]})); + console.log('[대기강제취소]' + localStorage.getItem('accessToken')) + }) + .catch((error) => { + console.log('Error!'); + }); + }} + + + return ( @@ -104,26 +141,33 @@ export default function ListTable({waiting}:{waiting:waitings[]}) { - {rows - .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) - .map((row:any) => { + + {waiting?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) + .map((row:any, index:number) => { + + if(waiting != undefined) { + abc = waiting.length + } + return ( - {columns.map((column:any) => { - console.log(rows) + {columns.map((column:any, i:number) => { + //console.log(waiting) const value = row[column.id]; - + return ( - {column.format && typeof value === 'number' - ? column.format(value) - : value} + + {column?.id === 'waiting_id' + ? (page*rowsPerPage)+(index+1) : value} + + ); })} - - Start(row.waiting_id)} align="center"> - waitingCancel(row.waiting_id)} align="center"> + Call(index)} align="center"> + Start(index)} align="center"> + waitingCancel(index)} align="center"> ); })} @@ -134,7 +178,7 @@ export default function ListTable({waiting}:{waiting:waitings[]}) { ); -} \ No newline at end of file +} + +ListTable.defaultProps = { + waiting:[] +} + diff --git a/src/components/WaitingList/StoreInformation.tsx b/src/components/WaitingList/StoreInformation.tsx index 7dd7ba2..c512bb2 100644 --- a/src/components/WaitingList/StoreInformation.tsx +++ b/src/components/WaitingList/StoreInformation.tsx @@ -9,19 +9,23 @@ interface Props { //type Info = {text : string} function StoreInformation(information: Props) { - //const [text, setText] = useState({setInformation}) const onChange = (event: any) => ( setInfo(event.target.value) ); - const [info, setInfo] = useState(information); //useState('information'); 이렇게 작성되면 텍스트 information만 작성되던데 이게 맞는지! - + const [info, setInfo] = useState(information); + const storeInformationText = () => { - axios.patch('http://localhost:8000/api/v1/stores/details/',{ - //store_id: localStorage.getItem("store_id"), //- 우선 임의의 값으로 지정, 로그인 api완료 후 추후 진행 - information: info //information: info = 처음에 가져온 가게설명 초기값 : 변경되는 가게설명수정 + axios.patch('http://15.164.28.246:8000/api/v1/stores/details/',{ + information: info + }, + { + headers : {Authorization: localStorage.getItem('accessToken')} + } + ) + .then((response) => { + console.log('[가게설명]' + localStorage.getItem('accessToken')) }) - .then(res => setInfo(info)) .catch((error) => { console.log('Error!'); }); diff --git a/src/components/WaitingList/SubButton.tsx b/src/components/WaitingList/SubButton.tsx index 66e0eca..b259e1f 100644 --- a/src/components/WaitingList/SubButton.tsx +++ b/src/components/WaitingList/SubButton.tsx @@ -8,35 +8,30 @@ import axios from "axios"; function SubButton() { - const [is_waiting, setIs_waiting] = useState(true); // 로그인 하고 받은 스토어 아이디 가지고 조회해서 이즈웨이팅 값 넣기 + const [is_waiting, setIs_waiting] = useState(true); const iswaitingChange = () => { - axios.patch('http://localhost:8000/api/v1/stores/breaktimes/',{ - //store_id: 2 //localStorage.getItem("store_id") //회원가입(가게등록)을 해서 store_id가 생성이 돼야 localStorage에 저장이 되고, - //이후 getItem을 통해 store_id를 가져올 수 있는데, 아직 그 과정이 선행되지 않아 임의로 2로 지정해주어 확인 작업함 + axios.patch('http://15.164.28.246:8000/api/v1/stores/breaktimes/',{ + }, + { + headers : {Authorization: localStorage.getItem('accessToken')} + } + ) + .then((response) => { + localStorage.getItem('accessToken') + console.log(response.data); + setIs_waiting(response.data.is_waiting); + console.log(is_waiting); + }) - .then(res => setIs_waiting(is_waiting) - ) } return (
- - - -
- 현장 등록 -

-
- {is_waiting ? '대기 마감' : '대기 시작'} -
); diff --git a/src/components/WaitingList/TableTitle.tsx b/src/components/WaitingList/TableTitle.tsx index b9d4ff2..e3eb15f 100644 --- a/src/components/WaitingList/TableTitle.tsx +++ b/src/components/WaitingList/TableTitle.tsx @@ -7,11 +7,8 @@ function TableTitle() { return (
- {/*
- 대기 목록 -
*/}
-
+
대기 목록
diff --git a/src/components/WaitingList/Waiting.ts b/src/components/WaitingList/Waiting.ts index d05b1e4..db3354f 100644 --- a/src/components/WaitingList/Waiting.ts +++ b/src/components/WaitingList/Waiting.ts @@ -8,5 +8,5 @@ export interface waitings { export interface res { information: string, is_waiting: boolean, - waiting : waitings[] + data : waitings[] } diff --git a/src/components/WaitingList/WaitingList.scss b/src/components/WaitingList/WaitingList.scss index 2843585..f4134f3 100644 --- a/src/components/WaitingList/WaitingList.scss +++ b/src/components/WaitingList/WaitingList.scss @@ -1,42 +1,49 @@ .tableStyle { - margin-Top: -35em; - margin-Left: 3.5em; - width: 75%; + margin-Top: -34.8em; + margin-Left: 2.5em; + width: 89.7%; height: 500; overflow: 'hidden'; - //font-family: 'BMJUA'; } .tableOutline { margin-top: 1em; - margin-Left: 2.5em; - width: 60em; + margin-Left: 1.5em; + width: 44.2em; height: 35em; padding: 0.5em; background-color: #FBE5AD; border-radius: 1em; } -.tableTime{ - margin-top: 1em; - margin-Left: 0.5em; - width: 29.5em; +.tableTitle{ + margin-top: 1.5em; + margin-bottom: 1em; + width: 22.5em; height: 1em; - padding: 0.5em; color: black; - background-color: #FBE5AD; + background-color: #FEFBDC; + border-color: #FBE5AD; + border-width: 3em; font-family: 'BMJUA'; font-size: 2em; border-radius: 0.6em; } -.tableTitle{ - margin-top: 2em; - margin-Left: -2.5em; - width: 10em; - color: black; - font-family: 'BMJUA'; - font-size: 2em; +.tableTitleLineTop{ + margin-top: 1em; + margin-Left: 19em; + width: 7em; + height: 0.3em; + background-color: #000000; +} + +.tableTitleLineBottom{ + margin-Left: 19em; + margin-bottom: 1em; + width: 7em; + height: 0.2em; + background-color: #000000; } .offlineRegisterButton{ @@ -50,10 +57,8 @@ font-family: 'BMJUA'; font-size: 2em; border-radius: 2em; - display: flex; align-items: center; justify-content: center; - float: 'left'; } .offlineRegisterText{ @@ -70,20 +75,16 @@ } .stopRegisterButton{ - margin-top: 1.1em; - margin-left: -6.3em; - width: 1em; - height: 1em; - padding: 2em; + margin-left: 24em; + width: 5em; + height: 2em; + padding: 0.4em; color: black; background-color: #F96F6F; font-family: 'BMJUA'; - font-size: 2em; - border-radius: 2em; - display: flex; - align-items: center; + font-size: 1.5em; + border-radius: 10px; justify-content: center; - float: 'left'; } .stopRegisterText{ @@ -104,6 +105,4 @@ } .openBg{ background-color: rgb(203, 255, 90); - //background-color: #b3fd43; - } \ No newline at end of file diff --git a/src/pages/CustomerRegister/CustomerRegister.tsx b/src/pages/CustomerRegister/CustomerRegister.tsx index 41a3531..e72bba1 100644 --- a/src/pages/CustomerRegister/CustomerRegister.tsx +++ b/src/pages/CustomerRegister/CustomerRegister.tsx @@ -12,4 +12,4 @@ function CustomerRegister() {
); } - export default CustomerRegister; //import를 하기 위해선 export(내보내기)를 해야 한다 \ No newline at end of file + export default CustomerRegister; \ No newline at end of file diff --git a/src/pages/Login/Login.tsx b/src/pages/Login/Login.tsx index 4ec4b6e..9d1b5f7 100644 --- a/src/pages/Login/Login.tsx +++ b/src/pages/Login/Login.tsx @@ -5,8 +5,8 @@ import { Link, useNavigate } from "react-router-dom"; import axios from "axios"; +import { access } from "fs"; -// 로그인, response body - access, refresh function Login() { document.body.style.backgroundColor = "#FFFBD9"; @@ -17,14 +17,25 @@ function Login() { const navigate = useNavigate(); const storeLogin =()=>{ - //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위) - axios.post('http://localhost:8000/api/v1/stores/login/',{ + axios.post('http://15.164.28.246:8000/api/v1/stores/login/',{ email: email, password: password}) - .then((res) =>localStorage.setItem("token", res.data.token)) // (setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드, res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body - navigate("/WaitingList") // .then에 넣어야 할듯..! + .then((response) => { + var str1 = 'Bearer ' + var token = str1.concat(response.data.access) + localStorage.setItem('accessToken', token); + console.log('[access]' + token) + navigate("/WaitingList") + }) } + const [hidePassword, setHidePassword] = useState(true); + + const toggleHidePassword =()=>{ + setHidePassword(!hidePassword); + } + + return(
{setEmail(e.target.value)}} id="standard-basic" label="이메일 주소" variant="standard" /> - {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" /> + {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" />
diff --git a/src/pages/StoreRegister/StoreRegister.tsx b/src/pages/StoreRegister/StoreRegister.tsx index 12020b4..c623f52 100644 --- a/src/pages/StoreRegister/StoreRegister.tsx +++ b/src/pages/StoreRegister/StoreRegister.tsx @@ -12,4 +12,4 @@ function StoreRegister() {
); } - export default StoreRegister; //import를 하기 위해선 export(내보내기)를 해야 한다 \ No newline at end of file + export default StoreRegister; \ No newline at end of file diff --git a/src/pages/WaitingList/WaitingList.tsx b/src/pages/WaitingList/WaitingList.tsx index 436ba82..649feb4 100644 --- a/src/pages/WaitingList/WaitingList.tsx +++ b/src/pages/WaitingList/WaitingList.tsx @@ -10,6 +10,7 @@ import axios from "axios"; import { useRoutes } from "react-router-dom"; import {waitings, res} from '../../components/WaitingList/Waiting'; import ListTableStyle from "../../components/WaitingList/ListTableStyle"; +import { NULL } from "sass"; //대기자조회api 이 페이지에 연결되어야 함(useEffect) - store_id를 보내고 받아와야 함 //store_id를 백엔드로 넘겨주면, 백엔드에서 is_waiting, waiting(리스트), information를 받아오기 때문에, 그리고 이 정보를 대기자 입장, 웨이팅 취소 등에서도 계속 사용하기에 useState 사용 @@ -35,54 +36,68 @@ import ListTableStyle from "../../components/WaitingList/ListTableStyle"; // phone_num: "0101231112", // name: "string3", // waiting_id: 3 -// } - +// }, +// { +// people: 3, +// phone_num: "01011111111", +// name: "string", +// waiting_id: 1 +// }, + +// { +// people: 2, +// phone_num: "01011111112", +// name: "string2", +// waiting_id: 2 +// }, + +// { +// people: 3, +// phone_num: "0101231112", +// name: "string3", +// waiting_id: 3 +// }, + // ] function WaitingList() { document.body.style.backgroundColor = "#FFFBD9"; + const [temp, setTemp] = useState(); - - const [temp, setTemp] = useState({ // 지정을 해줬더라도 덮어지기 때문에 이대로 진행해도 괜찮다! - information: '', - is_waiting : true, - waiting : [{ - waiting_id : 0, - name: '민아', - people: 4, - phone_num: '010-0000-0000' - }]}); + + + const getList = async() => { + axios.get('http://15.164.28.246:8000/api/v1/stores/waitings/', + { + headers : {Authorization: localStorage.getItem('accessToken')} + }) + .then((response) => { + setTemp(response.data); + }) + .catch((error) => { + console.log(localStorage.getItem('accessToken')); + }); + } useEffect(()=>{ - const res = axios.get('http://localhost:8000/api/v1/stores/waitings/') - .then(res => setTemp(res.data)) - }) - - // const customerRegister =()=>{ - // //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위) - // axios.post('http://localhost:8000/api/v1/stores/waitings/',{ - // //store_id: localStorage.getItem('store_id'), - // }) - // .then((res) => setTemp(res.data)) //(setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드, - // res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body - + getList() + }, []) + return (
- {/* axios 받아왔던 information정보들을 StoreInformation컴포넌트 호출할 때 넣어줘야해, 그래야 컴포넌트 값이 넘어가 / 이때 useLocation 사용?*/} - +
- {/* ListTable에 test 말고 백엔드에서 받아올 정보 넘겨줘야함 */} - + +
-
); } diff --git a/yarn.lock b/yarn.lock index 7ca6e12..7e5004b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@actbase/react-daum-postcode@^1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/@actbase/react-daum-postcode/-/react-daum-postcode-1.0.4.tgz" + integrity sha512-cTUnwfnKLM9LMh4dBPxbfGeCjpbJQcq/R6oW2aEJO20qz4i8cA7sPf0HkUyYqENfuGFU+vbsSJ8LJwNhTYoFLQ== + "@adobe/css-tools@^4.0.1": version "4.0.1" resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz" @@ -3004,7 +3009,7 @@ array.prototype.tosorted@^1.1.1: es-shim-unscopables "^1.0.0" get-intrinsic "^1.1.3" -asap@~2.0.6: +asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== @@ -3051,10 +3056,10 @@ axe-core@^4.4.3: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz" integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w== -axios@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz" - integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q== +axios@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/axios/-/axios-1.2.5.tgz" + integrity sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -3468,6 +3473,11 @@ chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +change-emitter@^0.1.2: + version "0.1.6" + resolved "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz" + integrity sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -3703,6 +3713,11 @@ core-js-pure@^3.23.3, core-js-pure@^3.25.1: resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz" integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw== +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz" + integrity sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA== + core-js@^3.19.2: version "3.27.1" resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz" @@ -3735,6 +3750,14 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" +create-react-context@^0.2.3: + version "0.2.3" + resolved "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz" + integrity sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag== + dependencies: + fbjs "^0.8.0" + gud "^1.0.0" + cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" @@ -4017,6 +4040,13 @@ debug@^2.6.9: dependencies: ms "2.0.0" +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -4347,6 +4377,13 @@ encodeurl@~1.0.2: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + enhanced-resolve@^5.10.0: version "5.12.0" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" @@ -4882,6 +4919,19 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fbjs@^0.8.0, fbjs@^0.8.1: + version "0.8.18" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz" + integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA== + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" @@ -5252,6 +5302,11 @@ grapheme-splitter@^1.0.4: resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" @@ -5315,7 +5370,12 @@ he@^1.2.0: resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^2.3.1: + version "2.5.5" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz" + integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== + +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.2.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: 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== @@ -5428,7 +5488,7 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy-middleware@^2.0.3: +http-proxy-middleware@^2.0.3, http-proxy-middleware@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== @@ -5466,7 +5526,7 @@ hyphenate-style-name@^1.0.3: resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== -iconv-lite@^0.6.3: +iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -5575,6 +5635,13 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + ipaddr.js@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" @@ -5748,6 +5815,11 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" @@ -5825,6 +5897,14 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz" + integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" @@ -6614,6 +6694,11 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +load-js@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/load-js/-/load-js-3.1.1.tgz" + integrity sha512-yAZcLdKtq/9e3rE8A+c6noD/M++6vryP5A96axcM8NReISX3tzTCHUS8apToXzToaPs9LlApqxfa5uCDBuv+SQ== + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" @@ -6655,11 +6740,21 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" + integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" @@ -6675,6 +6770,11 @@ lodash.sortby@^4.7.0: resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" @@ -6910,6 +7010,14 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" @@ -6966,7 +7074,7 @@ nwsapi@^2.2.0: resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz" integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== -object-assign@^4.1.1: +object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -7899,6 +8007,13 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + promise@^8.1.0: version "8.3.0" resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" @@ -7914,7 +8029,7 @@ prompts@^2.0.1, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8074,6 +8189,13 @@ react-fast-compare@^3.0.1: resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== +react-geocode@^0.2.3: + version "0.2.3" + resolved "https://registry.npmjs.org/react-geocode/-/react-geocode-0.2.3.tgz" + integrity sha512-sIpbgmn1IUzAxO4haOZ6jeeFnMD8ya9PC38yiNrmJ9vPWbvAO2D/2yfCBzZjGZVUm4PRzKAc0KghXfaEnug0TQ== + dependencies: + regenerator-runtime "^0.13.3" + react-icons@^4.7.1: version "4.7.1" resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz" @@ -8104,6 +8226,25 @@ react-is@^18.2.0: resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-naver-maps@^0.0.13: + version "0.0.13" + resolved "https://registry.npmjs.org/react-naver-maps/-/react-naver-maps-0.0.13.tgz" + integrity sha512-d4tagxVILGTzRaIW+GwFjZ9HhoBoODFy/Ly0ClWZ9neIJ7QCzCw/x0OPmZUYki0Kke6KcngQm6/mhx+mVdh3ug== + dependencies: + create-react-context "^0.2.3" + debug "^3.1.0" + hoist-non-react-statics "^3.2.0" + invariant "^2.2.4" + load-js "^3.0.2" + lodash.camelcase "^4.3.0" + lodash.debounce "^4.0.8" + lodash.difference "^4.5.0" + prop-types "^15.6.2" + react-resize-detector "^2.2.0" + recompose "^0.26.0" + shallowequal "^1.1.0" + warning "^4.0.2" + react-onclickoutside@^6.12.0: version "6.12.2" resolved "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz" @@ -8122,6 +8263,16 @@ react-refresh@^0.11.0: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +react-resize-detector@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-2.3.0.tgz" + integrity sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ== + dependencies: + lodash.debounce "^4.0.8" + lodash.throttle "^4.1.1" + prop-types "^15.6.0" + resize-observer-polyfill "^1.5.0" + react-router-dom@^6.6.1: version "6.6.1" resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.1.tgz" @@ -8250,6 +8401,16 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +recompose@^0.26.0: + version "0.26.0" + resolved "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz" + integrity sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog== + dependencies: + change-emitter "^0.1.2" + fbjs "^0.8.1" + hoist-non-react-statics "^2.3.1" + symbol-observable "^1.0.4" + recursive-readdir@^2.2.2: version "2.2.3" resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" @@ -8277,7 +8438,7 @@ regenerate@^1.4.2: resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9: +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.9: version "0.13.11" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== @@ -8363,6 +8524,11 @@ requires-port@^1.0.0: resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== +resize-observer-polyfill@^1.5.0: + version "1.5.1" + resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" @@ -8662,6 +8828,11 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" @@ -9099,6 +9270,11 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +symbol-observable@^1.0.4: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" @@ -9348,6 +9524,11 @@ typescript@^4.9.4: resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== +ua-parser-js@^0.7.30: + version "0.7.33" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz" + integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" @@ -9669,7 +9850,7 @@ whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@^3.6.2: +whatwg-fetch@^3.6.2, whatwg-fetch@>=0.10.0: version "3.6.2" resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==