From 499f752875dc8f3692e90bcdf2f8c684619ff5a2 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Tue, 24 Sep 2024 12:15:05 +0900 Subject: [PATCH 01/13] =?UTF-8?q?=20init=20:=20tailwindcss=20=EC=84=B8?= =?UTF-8?q?=ED=8C=85,=20=EA=B8=B0=ED=83=80=20package=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 | 142 +++++++++++++++++++++++++++------------------ package.json | 12 +++- src/index.css | 5 ++ tailwind.config.js | 87 +++++++++++++++++++++++++++ 4 files changed, 186 insertions(+), 60 deletions(-) create mode 100644 tailwind.config.js diff --git a/package-lock.json b/package-lock.json index c27bbe4..3b4fc82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,13 +13,19 @@ "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^16.18.91", - "@types/react": "^18.2.69", - "@types/react-dom": "^18.2.22", + "@types/react": "^18.3.8", + "@types/react-dom": "^18.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "zustand": "^5.0.0-rc.2" + }, + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.13" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4210,19 +4216,18 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.2.69", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.69.tgz", - "integrity": "sha512-W1HOMUWY/1Yyw0ba5TkCV+oqynRjG7BnteBB+B7JmAK7iw3l2SW+VGOxL+akPweix6jk2NNJtyJKpn4TkpfK3Q==", + "version": "18.3.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz", + "integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", - "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "dependencies": { "@types/react": "*" } @@ -4240,11 +4245,6 @@ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, - "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==" - }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -5145,9 +5145,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -5163,11 +5163,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -5634,9 +5634,9 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -5652,10 +5652,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -5762,9 +5762,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001600", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", - "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "funding": [ { "type": "opencollective", @@ -7018,9 +7018,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.715", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.715.tgz", - "integrity": "sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==" + "version": "1.5.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.27.tgz", + "integrity": "sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==" }, "node_modules/emittery": { "version": "0.8.1", @@ -12619,9 +12619,9 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "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==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -13092,9 +13092,9 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -13258,9 +13258,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -13277,8 +13277,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -15805,9 +15805,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } @@ -16491,9 +16491,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -16503,7 +16503,7 @@ "fast-glob": "^3.3.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.19.1", + "jiti": "^1.21.0", "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", @@ -17044,9 +17044,9 @@ } }, "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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -17062,8 +17062,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -18174,6 +18174,34 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zustand": { + "version": "5.0.0-rc.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0-rc.2.tgz", + "integrity": "sha512-o2Nwuvnk8vQBX7CcHL8WfFkZNJdxB/VKeWw0tNglw8p4cypsZ3tRT7rTRTDNeUPFS0qaMBRSKe+fVwL5xpcE3A==", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } } } } diff --git a/package.json b/package.json index ea335d3..528359b 100644 --- a/package.json +++ b/package.json @@ -8,13 +8,14 @@ "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^16.18.91", - "@types/react": "^18.2.69", - "@types/react-dom": "^18.2.22", + "@types/react": "^18.3.8", + "@types/react-dom": "^18.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", "typescript": "^4.9.5", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "zustand": "^5.0.0-rc.2" }, "scripts": { "start": "react-scripts start", @@ -39,5 +40,10 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.13" } } diff --git a/src/index.css b/src/index.css index ec2585e..5875ab7 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,8 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + + body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..c8c1b2e --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,87 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + './index.html', + './src/**/*.{js,ts,jsx,tsx}', + ], + theme: { + extend: { + colors: { + white: '#FFFFFF', + black: '#000000', + gray100: '#F2F5F7', + gray200: '#E0E1E3', + gray300: '#DBDCDD', + gray400: '#CACACB', + gray500: '#6F7680', + gray600: '#0B0F13', + main: '#564FFE', // Figma에서 정의된 Main Color + }, + fontFamily: { + sans: ['Pretendard', 'sans-serif'], // Pretendard 폰트 추가 + }, + fontSize: { + 'title-1': ['26px', '39px'], // Title 1: 26px size, 39px line-height + 'title-2': ['16px', '24px'], // Title 2: 16px size, 24px line-height + 'body-1': ['15px', '22px'], // Body 1: 15px size, 22px line-height + 'body-2': ['14px', '21px'], // Body 2: 14px size, 21px line-height + 'body-3': ['11px', '16px'], // Body 3: 11px size, 16px line-height + 'caption': ['12px', '18px'], // Caption: 12px size, 18px line-height + }, + fontWeight: { + extrabold: 800, + bold: 700, + semibold: 600, + medium: 500, + }, + }, + }, + plugins: [ + function ({ addUtilities }) { + const newUtilities = { + '.text-title-1': { + fontSize: '26px', + lineHeight: '39px', + fontWeight: '800', // ExtraBold + }, + '.text-title-2': { + fontSize: '16px', + lineHeight: '24px', + fontWeight: '700', // Bold + }, + '.text-body-1-b': { + fontSize: '15px', + lineHeight: '22px', + fontWeight: '600', // SemiBold + }, + '.text-body-1-m': { + fontSize: '15px', + lineHeight: '22px', + fontWeight: '500', // Medium + }, + '.text-body-2-b': { + fontSize: '14px', + lineHeight: '21px', + fontWeight: '700', // Bold + }, + '.text-body-2-m': { + fontSize: '14px', + lineHeight: '21px', + fontWeight: '500', // Medium + }, + '.text-body-3': { + fontSize: '11px', + lineHeight: '16px', + fontWeight: '700', // Bold + }, + '.text-caption': { + fontSize: '12px', + lineHeight: '18px', + fontWeight: '600', // SemiBold + }, + }; + addUtilities(newUtilities, ['responsive', 'hover']); + }, + ], +} + From 453fd437943b16de5275c2c09276a8ac4d873998 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Tue, 24 Sep 2024 14:42:41 +0900 Subject: [PATCH 02/13] =?UTF-8?q?=20init=20:=20routing=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=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 | 39 +++++++++++++++++++++++++ package.json | 1 + src/App.tsx | 20 +++++++++++-- src/app/chatting/ChatList.tsx | 13 +++++++++ src/app/chatting/ChatRoom.tsx | 12 ++++++++ src/app/profile/Profile.tsx | 12 ++++++++ src/app/profile/follower/FollowList.tsx | 13 +++++++++ 7 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 src/app/chatting/ChatList.tsx create mode 100644 src/app/chatting/ChatRoom.tsx create mode 100644 src/app/profile/Profile.tsx create mode 100644 src/app/profile/follower/FollowList.tsx diff --git a/package-lock.json b/package-lock.json index 3b4fc82..0cacf63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@types/react-dom": "^18.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.26.2", "react-scripts": "5.0.1", "typescript": "^4.9.5", "web-vitals": "^2.1.4", @@ -3344,6 +3345,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -14864,6 +14873,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", + "dependencies": { + "@remix-run/router": "1.19.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", + "dependencies": { + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/package.json b/package.json index 528359b..4fabfed 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@types/react-dom": "^18.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.26.2", "react-scripts": "5.0.1", "typescript": "^4.9.5", "web-vitals": "^2.1.4", diff --git a/src/App.tsx b/src/App.tsx index 5381007..2b710b0 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,8 +1,22 @@ +import React from 'react'; +import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; +import Profile from './app/profile/Profile'; +import FollowList from './app/profile/follower/FollowList'; +import ChatList from './app/chatting/ChatList'; +import ChatRoom from './app/chatting/ChatRoom'; + function App() { return ( -
-

20기 프론트엔드 파이팅!!! 디자인과 사이좋게 지내요~~~

-
+ + + {/* 기본 경로에서 /profile로 리다이렉트 */} + } /> + } /> {/* 홈 경로 */} + } /> {/* 소개 페이지 */} + } /> + } /> + + ); } diff --git a/src/app/chatting/ChatList.tsx b/src/app/chatting/ChatList.tsx new file mode 100644 index 0000000..aed53c1 --- /dev/null +++ b/src/app/chatting/ChatList.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + + +export default function ChatList() { + return ( +
+

ChatList

+

+ 프로필 페이지입니다. +

+
+ ); + } \ No newline at end of file diff --git a/src/app/chatting/ChatRoom.tsx b/src/app/chatting/ChatRoom.tsx new file mode 100644 index 0000000..d9cfc6c --- /dev/null +++ b/src/app/chatting/ChatRoom.tsx @@ -0,0 +1,12 @@ +import React from 'react'; + +export default function ChatRoom() { + return ( +
+

ChatRoom

+

+ 프로필 페이지입니다. +

+
+ ); + } \ No newline at end of file diff --git a/src/app/profile/Profile.tsx b/src/app/profile/Profile.tsx new file mode 100644 index 0000000..91658fa --- /dev/null +++ b/src/app/profile/Profile.tsx @@ -0,0 +1,12 @@ +import React from 'react'; + +export default function Profile() { + return ( +
+

Profile

+

+ 프로필 페이지입니다. +

+
+ ); +} \ No newline at end of file diff --git a/src/app/profile/follower/FollowList.tsx b/src/app/profile/follower/FollowList.tsx new file mode 100644 index 0000000..099f638 --- /dev/null +++ b/src/app/profile/follower/FollowList.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + + +export default function FollowList() { + return ( +
+

FollowList

+

+ 프로필 페이지입니다. +

+
+ ); + } \ No newline at end of file From 1857e3fed01743afc1af967f04e9b353e4f9ae60 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Wed, 25 Sep 2024 20:26:40 +0900 Subject: [PATCH 03/13] style : profile component style --- package-lock.json | 4262 ++++++++++++++++------------- package.json | 5 +- src/App.css | 35 - src/App.tsx | 15 +- src/app/layout/Layout.tsx | 18 + src/app/profile/Description.tsx | 40 + src/app/profile/Profile.tsx | 18 +- src/assets/Image/profile.jpg | Bin 0 -> 13756 bytes src/assets/svg/down.svg | 3 + src/assets/svg/home.svg | 4 + src/assets/svg/like.svg | 3 + src/assets/svg/link.svg | 5 + src/assets/svg/lock.svg | 4 + src/assets/svg/menu.svg | 5 + src/assets/svg/messageD.svg | 3 + src/assets/svg/messageH.svg | 3 + src/assets/svg/plus.svg | 4 + src/assets/svg/profileD.svg | 9 + src/assets/svg/profileH.svg | 9 + src/assets/svg/search.svg | 3 + src/assets/svg/thread.svg | 3 + src/components/Navigation/GNB.tsx | 19 + src/components/Navigation/TNB.tsx | 79 + src/components/Tab/Tab_Post.tsx | 0 src/data/data.json | 59 + src/index.css | 6 + src/types/image.d.ts | 19 + src/types/json.d.ts | 5 + src/types/svg.d.ts | 6 + src/types/types.ts | 29 + tsconfig.json | 7 +- 31 files changed, 2675 insertions(+), 2005 deletions(-) create mode 100644 src/app/layout/Layout.tsx create mode 100644 src/app/profile/Description.tsx create mode 100644 src/assets/Image/profile.jpg create mode 100644 src/assets/svg/down.svg create mode 100644 src/assets/svg/home.svg create mode 100644 src/assets/svg/like.svg create mode 100644 src/assets/svg/link.svg create mode 100644 src/assets/svg/lock.svg create mode 100644 src/assets/svg/menu.svg create mode 100644 src/assets/svg/messageD.svg create mode 100644 src/assets/svg/messageH.svg create mode 100644 src/assets/svg/plus.svg create mode 100644 src/assets/svg/profileD.svg create mode 100644 src/assets/svg/profileH.svg create mode 100644 src/assets/svg/search.svg create mode 100644 src/assets/svg/thread.svg create mode 100644 src/components/Navigation/GNB.tsx create mode 100644 src/components/Navigation/TNB.tsx create mode 100644 src/components/Tab/Tab_Post.tsx create mode 100644 src/data/data.json create mode 100644 src/types/image.d.ts create mode 100644 src/types/json.d.ts create mode 100644 src/types/svg.d.ts create mode 100644 src/types/types.ts diff --git a/package-lock.json b/package-lock.json index 0cacf63..ddd01c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "react-messenger-19th", + "name": "react-messenger-20th", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "react-messenger-19th", + "name": "react-messenger-20th", "version": "0.1.0", "dependencies": { "@testing-library/jest-dom": "^5.17.0", @@ -24,23 +24,18 @@ "zustand": "^5.0.0-rc.2" }, "devDependencies": { + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0", + "@svgr/webpack": "^8.1.0", "autoprefixer": "^10.4.20", "postcss": "^8.4.47", "tailwindcss": "^3.4.13" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@adobe/css-tools": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", - "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==" + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", @@ -66,11 +61,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -78,28 +73,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", - "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", - "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.1", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.1", - "@babel/parser": "^7.24.1", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -114,18 +109,10 @@ "url": "https://opencollective.com/babel" } }, - "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==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/eslint-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz", - "integrity": "sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -136,7 +123,7 @@ }, "peerDependencies": { "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { @@ -147,20 +134,12 @@ "node": ">=10" } }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", - "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -170,35 +149,36 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "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==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -206,27 +186,17 @@ "node": ">=6.9.0" } }, - "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==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", - "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -236,20 +206,12 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -260,18 +222,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", - "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -283,69 +237,39 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "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==", - "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==", - "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==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "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==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "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" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -355,32 +279,32 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -390,13 +314,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -406,94 +330,84 @@ } }, "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==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "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==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "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==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "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==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", - "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -503,9 +417,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", - "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -513,12 +430,41 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -528,13 +474,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -544,12 +490,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -575,13 +521,13 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", - "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-decorators": "^7.24.1" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -714,11 +660,11 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", - "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -750,11 +696,11 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz", - "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -764,11 +710,11 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -778,11 +724,11 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -814,11 +760,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -922,11 +868,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -951,11 +897,11 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -965,14 +911,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -982,13 +928,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -998,11 +944,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1012,11 +958,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", - "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1026,12 +972,12 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1041,12 +987,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", - "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1057,17 +1003,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -1078,12 +1022,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1093,11 +1037,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1107,12 +1051,12 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1122,11 +1066,11 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1135,12 +1079,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1151,12 +1110,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1166,11 +1125,11 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1181,12 +1140,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz", - "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-flow": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1196,12 +1155,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1211,13 +1170,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1227,11 +1186,11 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1242,11 +1201,11 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1256,11 +1215,11 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1271,11 +1230,11 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1285,12 +1244,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1300,13 +1259,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1316,14 +1275,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1333,12 +1292,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1348,12 +1307,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1363,11 +1322,11 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1377,11 +1336,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1392,11 +1351,11 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1407,14 +1366,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1424,12 +1383,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1439,11 +1398,11 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1454,12 +1413,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1470,11 +1429,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1484,12 +1443,12 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1499,13 +1458,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", - "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1516,11 +1475,11 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1530,11 +1489,11 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", - "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", + "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1544,11 +1503,11 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", + "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1558,15 +1517,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -1576,11 +1535,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", + "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1590,12 +1549,12 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", + "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1605,11 +1564,11 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1620,11 +1579,11 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1634,14 +1593,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", - "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "dependencies": { - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -1652,20 +1611,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1675,12 +1626,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1690,11 +1641,11 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1704,11 +1655,11 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1718,11 +1669,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1732,14 +1683,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz", - "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-typescript": "^7.24.1" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1749,11 +1701,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1763,12 +1715,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1778,12 +1730,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1793,12 +1745,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1808,25 +1760,27 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", - "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", - "dependencies": { - "@babel/compat-data": "^7.24.1", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1838,59 +1792,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.1", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.1", - "@babel/plugin-transform-classes": "^7.24.1", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.1", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.1", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.1", - "@babel/plugin-transform-parameters": "^7.24.1", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.1", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.1", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -1900,14 +1855,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -1922,16 +1869,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1941,15 +1888,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1964,9 +1911,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", - "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1975,31 +1922,28 @@ } }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2008,12 +1952,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2310,9 +2254,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2339,11 +2283,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/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==" - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -2358,17 +2297,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -2381,19 +2309,20 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -2414,9 +2343,10 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -2435,9 +2365,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -2517,6 +2447,14 @@ "node": ">=8" } }, + "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==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -2525,50 +2463,22 @@ "node": ">=6" } }, - "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==", + "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==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dependencies": { - "p-limit": "^2.2.0" - }, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" } @@ -3209,9 +3119,9 @@ } }, "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==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -3223,9 +3133,9 @@ } }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", @@ -3297,18 +3207,16 @@ } }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", - "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", + "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", + "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", "html-entities": "^2.1.0", "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", + "schema-utils": "^4.2.0", "source-map": "^0.7.3" }, "engines": { @@ -3320,7 +3228,7 @@ "sockjs-client": "^1.4.0", "type-fest": ">=0.17.0 <5.0.0", "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", + "webpack-dev-server": "3.x || 4.x || 5.x", "webpack-hot-middleware": "2.x", "webpack-plugin-serve": "0.x || 1.x" }, @@ -3427,10 +3335,15 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, "node_modules/@rushstack/eslint-patch": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.8.0.tgz", - "integrity": "sha512-0HejFckBN2W+ucM6cUOlwsByTKt9/+0tWhqUffNIcHqCXkthY/mZ7AuYPK/2IIaGWhdl0h+tICDO0ssLMd6XMQ==" + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" }, "node_modules/@sinclair/typebox": { "version": "0.24.51", @@ -3465,134 +3378,173 @@ } }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" - } + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3600,14 +3552,16 @@ } }, "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, "dependencies": { - "@babel/types": "^7.12.6" + "@babel/types": "^7.21.3", + "entities": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3615,56 +3569,65 @@ } }, "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" } }, "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" } }, "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dev": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3672,22 +3635,22 @@ } }, "node_modules/@testing-library/dom": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", - "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", + "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/@testing-library/dom/node_modules/ansi-styles": { @@ -3705,15 +3668,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "peer": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, "node_modules/@testing-library/dom/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4024,9 +3978,9 @@ } }, "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==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dependencies": { "@babel/types": "^7.20.7" } @@ -4066,27 +4020,18 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.6.tgz", - "integrity": "sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==", + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/express": { "version": "4.17.21", @@ -4100,9 +4045,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4129,9 +4074,9 @@ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dependencies": { "@types/node": "*" } @@ -4182,9 +4127,9 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/node": { - "version": "16.18.91", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.91.tgz", - "integrity": "sha512-h8Q4klc8xzc9kJKr7UYNtJde5TU2qEePVyH3WyzJaUC+3ptyc5kPQbWOIUcn8ZsG5+KSkq+P0py0kC0VqxgAXw==" + "version": "16.18.109", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.109.tgz", + "integrity": "sha512-PxPCTJDDwBrigapKYIRHegNOMfKTeQUkZMJt+mkEwHf2rskRylueIqaHyAHfcpmFIFi7wq7f/X8Se/5hIVREvg==" }, "node_modules/@types/node-forge": { "version": "1.3.11", @@ -4205,9 +4150,9 @@ "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" }, "node_modules/@types/q": { "version": "1.5.8", @@ -4215,9 +4160,9 @@ "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==" + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==" }, "node_modules/@types/range-parser": { "version": "1.2.7", @@ -4225,9 +4170,9 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.3.8", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz", - "integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==", + "version": "18.3.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.9.tgz", + "integrity": "sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4277,13 +4222,13 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dependencies": { "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "@types/node": "*", + "@types/send": "*" } }, "node_modules/@types/sockjs": { @@ -4313,9 +4258,9 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dependencies": { "@types/node": "*" } @@ -4366,6 +4311,17 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", @@ -4490,6 +4446,17 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", @@ -4535,6 +4502,17 @@ "node": ">=4.0" } }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "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", @@ -4716,9 +4694,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -4746,10 +4724,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "peerDependencies": { "acorn": "^8" } @@ -4833,14 +4811,14 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -4874,6 +4852,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -4927,12 +4916,9 @@ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { "version": "5.3.0", @@ -5081,27 +5067,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { @@ -5136,9 +5114,9 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "node_modules/asynckit": { "version": "0.4.0", @@ -5204,19 +5182,19 @@ } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dependencies": { - "dequal": "^2.0.3" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-jest": { @@ -5305,12 +5283,12 @@ } }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -5382,6 +5360,21 @@ "npm": ">=6" } }, + "node_modules/babel-plugin-macros/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/babel-plugin-named-asset-import": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", @@ -5391,44 +5384,36 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", - "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.1", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", - "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5440,22 +5425,25 @@ "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, "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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "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-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@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" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -5549,9 +5537,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -5561,7 +5549,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -5627,11 +5615,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -5643,9 +5631,9 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -5661,8 +5649,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -5858,9 +5846,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "engines": { "node": ">=6.0" } @@ -5880,9 +5868,9 @@ } }, "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==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" }, "node_modules/clean-css": { "version": "5.3.3", @@ -5982,11 +5970,6 @@ "node": ">= 12" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", @@ -6102,9 +6085,9 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/core-js": { - "version": "3.36.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", - "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -6112,11 +6095,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.36.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", - "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -6124,9 +6107,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.36.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.1.tgz", - "integrity": "sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", + "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -6139,18 +6122,29 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "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" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cross-spawn": { @@ -6220,15 +6214,15 @@ } }, "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" @@ -6253,6 +6247,17 @@ } } }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", @@ -6290,69 +6295,20 @@ } } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node_modules/css-minimizer-webpack-plugin/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==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" }, "engines": { "node": "^12 || ^14 || >=16" @@ -6382,23 +6338,16 @@ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/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==", - "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/css-what": { @@ -6517,40 +6466,37 @@ } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csso/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==", - "engines": { - "node": ">=0.10.0" - } + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true }, "node_modules/cssom": { "version": "0.4.4", @@ -6645,11 +6591,11 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -6917,6 +6863,14 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", @@ -7013,9 +6967,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dependencies": { "jake": "^10.8.5" }, @@ -7027,9 +6981,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.27", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.27.tgz", - "integrity": "sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==" + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==" }, "node_modules/emittery": { "version": "0.8.1", @@ -7056,17 +7010,17 @@ } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7076,9 +7030,13 @@ } }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -7100,9 +7058,9 @@ } }, "node_modules/es-abstract": { - "version": "1.23.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", - "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -7143,11 +7101,11 @@ "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.9", "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.7", + "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.2", "typed-array-byte-length": "^1.0.1", "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.5", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", "which-typed-array": "^1.1.15" }, @@ -7202,13 +7160,13 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", @@ -7226,9 +7184,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.2.tgz", - "integrity": "sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -7279,9 +7237,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "engines": { "node": ">=6" } @@ -7329,15 +7287,15 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -7428,9 +7386,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", "dependencies": { "debug": "^3.2.7" }, @@ -7469,25 +7427,26 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", + "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", "tsconfig-paths": "^3.15.0" }, @@ -7517,14 +7476,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-jest": { "version": "25.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", @@ -7549,69 +7500,77 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" } }, "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "engines": { "node": ">=10" }, @@ -7646,14 +7605,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-testing-library": { "version": "5.11.1", "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", @@ -7718,32 +7669,6 @@ "webpack": "^5.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/eslint-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7765,29 +7690,6 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/eslint-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -7816,11 +7718,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/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==" - }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7863,6 +7760,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/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==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -7885,15 +7797,46 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { - "argparse": "^2.0.1" + "p-locate": "^5.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/supports-color": { @@ -7947,9 +7890,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dependencies": { "estraverse": "^5.1.0" }, @@ -8055,36 +7998,36 @@ } }, "node_modules/express": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", - "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -8149,6 +8092,11 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -8206,6 +8154,23 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -8242,9 +8207,9 @@ } }, "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==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8253,12 +8218,12 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -8299,18 +8264,15 @@ } }, "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/flat-cache": { @@ -8332,9 +8294,9 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -8359,9 +8321,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -8521,6 +8483,17 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8595,9 +8568,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -8728,6 +8701,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8803,11 +8777,12 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -9113,6 +9088,14 @@ "entities": "^2.0.0" } }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -9246,9 +9229,9 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "engines": { "node": ">= 4" } @@ -9277,18 +9260,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/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==", - "engines": { - "node": ">=4" - } - }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -9323,6 +9298,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9352,9 +9328,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "engines": { "node": ">= 10" } @@ -9457,11 +9433,14 @@ } }, "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==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9845,14 +9824,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -9888,6 +9859,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9945,15 +9927,12 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -9962,9 +9941,9 @@ } }, "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -11294,6 +11273,17 @@ "node": ">=8" } }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11540,9 +11530,9 @@ } }, "node_modules/jest-watch-typeahead/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==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dependencies": { "@types/yargs-parser": "*" } @@ -11729,9 +11719,9 @@ } }, "node_modules/jest-watch-typeahead/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==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", @@ -11782,9 +11772,9 @@ } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -11920,9 +11910,9 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "bin": { "jiti": "bin/jiti.js" } @@ -11933,12 +11923,11 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "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==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -12124,9 +12113,9 @@ } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" }, "node_modules/language-tags": { "version": "1.0.9", @@ -12140,9 +12129,9 @@ } }, "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -12203,17 +12192,14 @@ } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/lodash": { @@ -12303,14 +12289,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -12320,9 +12298,10 @@ } }, "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true }, "node_modules/media-typer": { "version": "0.3.0", @@ -12344,9 +12323,12 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -12370,11 +12352,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -12428,9 +12410,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", - "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -12446,55 +12428,6 @@ "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -12520,9 +12453,9 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -12539,9 +12472,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -12682,9 +12615,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" }, "node_modules/object-assign": { "version": "4.1.1", @@ -12703,9 +12636,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12813,22 +12749,6 @@ "node": ">= 0.4" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", @@ -12908,47 +12828,44 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-retry": { @@ -12971,6 +12888,11 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -13060,32 +12982,29 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/path-type": { "version": "4.0.0", @@ -13143,54 +13062,6 @@ "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==", - "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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -13225,20 +13096,6 @@ "node": ">=6" } }, - "node_modules/pkg-up/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -13757,9 +13614,9 @@ } }, "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "engines": { "node": ">=14" }, @@ -13768,9 +13625,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "bin": { "yaml": "bin.mjs" }, @@ -13799,6 +13656,32 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-loader/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/postcss-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/postcss-logical": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", @@ -13914,9 +13797,9 @@ } }, "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -13925,9 +13808,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -13941,9 +13824,9 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -13969,19 +13852,25 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } @@ -14367,9 +14256,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14413,6 +14302,17 @@ "node": ">=8.0.0" } }, + "node_modules/postcss-svgo/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -14594,17 +14494,18 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -14695,9 +14596,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { "loose-envify": "^1.1.0" }, @@ -14816,6 +14717,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/react-dev-utils/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==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/react-dev-utils/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14825,13 +14741,55 @@ } }, "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", "engines": { "node": ">= 12.13.0" } }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/react-dev-utils/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14844,15 +14802,15 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-error-overlay": { @@ -14975,98 +14933,492 @@ } } }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", "engines": { - "node": ">=8.10.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dependencies": { - "minimatch": "^3.0.5" - }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", "engines": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dependencies": { - "regenerate": "^1.4.2" + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/regenerator-runtime": { + "node_modules/react-scripts/node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-scripts/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/react-scripts/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/react-scripts/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/react-scripts/node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/react-scripts/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/react-scripts/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/react-scripts/node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/react-scripts/node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/react-scripts/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/react-scripts/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/react-scripts/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/react-scripts/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/react-scripts/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/react-scripts/node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/react-scripts/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/react-scripts/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-scripts/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts/node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==" @@ -15204,7 +15556,7 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "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==", @@ -15212,6 +15564,14 @@ "node": ">=8" } }, + "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==", + "engines": { + "node": ">=4" + } + }, "node_modules/resolve-url-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", @@ -15302,6 +15662,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -15519,81 +15880,91 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, - "engines": { - "node": ">=10" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dependencies": { - "yallist": "^4.0.0" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, "engines": { "node": ">=10" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -15626,10 +15997,13 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "6.0.2", @@ -15710,14 +16084,14 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -15820,6 +16194,16 @@ "node": ">=8" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -16131,6 +16515,15 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -16156,6 +16549,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", @@ -16352,30 +16754,28 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -16445,83 +16845,96 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" }, "bin": { "svgo": "bin/svgo" }, "engines": { - "node": ">=4.0.0" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" } }, "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/svgo/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/svgo/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, "dependencies": { - "boolbase": "~1.0.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/symbol-tree": { @@ -16625,9 +17038,9 @@ } }, "node_modules/terser": { - "version": "5.29.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", - "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -16674,6 +17087,23 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -16759,9 +17189,9 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -16832,9 +17262,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -17006,9 +17436,9 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "engines": { "node": ">=4" } @@ -17026,9 +17456,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "engines": { "node": ">=4" } @@ -17223,9 +17653,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17256,20 +17686,19 @@ } }, "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -17323,55 +17752,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack-dev-server": { "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", @@ -17430,59 +17810,10 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" }, @@ -17562,6 +17893,23 @@ "node": ">=4.0" } }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -17655,12 +18003,12 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -17669,8 +18017,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -17803,14 +18151,14 @@ } }, "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -18128,9 +18476,9 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" }, diff --git a/package.json b/package.json index 4fabfed..77be09a 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "react-messenger-19th", + "name": "react-messenger-20th", "version": "0.1.0", "private": true, "dependencies": { @@ -43,6 +43,9 @@ ] }, "devDependencies": { + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0", + "@svgr/webpack": "^8.1.0", "autoprefixer": "^10.4.20", "postcss": "^8.4.47", "tailwindcss": "^3.4.13" diff --git a/src/App.css b/src/App.css index 74b5e05..4931613 100644 --- a/src/App.css +++ b/src/App.css @@ -1,38 +1,3 @@ .App { text-align: center; } - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/App.tsx b/src/App.tsx index 2b710b0..375c107 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,17 +4,20 @@ import Profile from './app/profile/Profile'; import FollowList from './app/profile/follower/FollowList'; import ChatList from './app/chatting/ChatList'; import ChatRoom from './app/chatting/ChatRoom'; +import Layout from './app/layout/Layout'; function App() { return ( - {/* 기본 경로에서 /profile로 리다이렉트 */} - } /> - } /> {/* 홈 경로 */} - } /> {/* 소개 페이지 */} - } /> - } /> + {/* Layout을 기본적으로 적용할 라우트 그룹 */} + }> + } /> + } /> + } /> + } /> + } /> + ); diff --git a/src/app/layout/Layout.tsx b/src/app/layout/Layout.tsx new file mode 100644 index 0000000..662325b --- /dev/null +++ b/src/app/layout/Layout.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { Outlet } from 'react-router-dom'; +import GNB from '../../components/Navigation/GNB'; +// import NavBar from './NavBar'; // 하단의 네비게이션 바 + +const Layout = () => { + return ( +
+
+ {/* 자식 Route 컴포넌트가 여기에서 렌더링됩니다 */} +
+ {/* */} + +
+ ); +}; + +export default Layout; diff --git a/src/app/profile/Description.tsx b/src/app/profile/Description.tsx new file mode 100644 index 0000000..829b4e0 --- /dev/null +++ b/src/app/profile/Description.tsx @@ -0,0 +1,40 @@ +import React from "react"; +import profileImage from '../../assets/Image/profile.jpg' +import { ReactComponent as LinkIcon } from '../../assets/svg/link.svg' + +export default function Description() { + return ( +
+
+ profile +
+ +

3

+

posts

+
+ +

1000

+

followers

+
+ +

1000

+

following

+
+
+
+
+
+

민솔

+

반갑습니다

+
+
+ +

www.instagram.com

+
+
+
+ +
+
+ ); +} \ No newline at end of file diff --git a/src/app/profile/Profile.tsx b/src/app/profile/Profile.tsx index 91658fa..2078369 100644 --- a/src/app/profile/Profile.tsx +++ b/src/app/profile/Profile.tsx @@ -1,12 +1,20 @@ import React from 'react'; +import TNB from '../../components/Navigation/TNB'; +import Description from './Description'; export default function Profile() { return ( -
-

Profile

-

- 프로필 페이지입니다. -

+
+ {/* Profile TNB */} + + + {/* Profile Description */} + + + {/* My Content */} +
+ Contents +
); } \ No newline at end of file diff --git a/src/assets/Image/profile.jpg b/src/assets/Image/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bc887e54cf78134b1239ce9380e2979bbecea19 GIT binary patch literal 13756 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 literal 0 HcmV?d00001 diff --git a/src/assets/svg/down.svg b/src/assets/svg/down.svg new file mode 100644 index 0000000..b9fbdcb --- /dev/null +++ b/src/assets/svg/down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/home.svg b/src/assets/svg/home.svg new file mode 100644 index 0000000..f456e25 --- /dev/null +++ b/src/assets/svg/home.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svg/like.svg b/src/assets/svg/like.svg new file mode 100644 index 0000000..5517375 --- /dev/null +++ b/src/assets/svg/like.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/link.svg b/src/assets/svg/link.svg new file mode 100644 index 0000000..778088d --- /dev/null +++ b/src/assets/svg/link.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/svg/lock.svg b/src/assets/svg/lock.svg new file mode 100644 index 0000000..e2e88b8 --- /dev/null +++ b/src/assets/svg/lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/assets/svg/menu.svg b/src/assets/svg/menu.svg new file mode 100644 index 0000000..2e57a49 --- /dev/null +++ b/src/assets/svg/menu.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/svg/messageD.svg b/src/assets/svg/messageD.svg new file mode 100644 index 0000000..5528789 --- /dev/null +++ b/src/assets/svg/messageD.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/messageH.svg b/src/assets/svg/messageH.svg new file mode 100644 index 0000000..0888a6d --- /dev/null +++ b/src/assets/svg/messageH.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/plus.svg b/src/assets/svg/plus.svg new file mode 100644 index 0000000..8b74c21 --- /dev/null +++ b/src/assets/svg/plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/assets/svg/profileD.svg b/src/assets/svg/profileD.svg new file mode 100644 index 0000000..f23f69f --- /dev/null +++ b/src/assets/svg/profileD.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svg/profileH.svg b/src/assets/svg/profileH.svg new file mode 100644 index 0000000..2063f31 --- /dev/null +++ b/src/assets/svg/profileH.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svg/search.svg b/src/assets/svg/search.svg new file mode 100644 index 0000000..5f4fd39 --- /dev/null +++ b/src/assets/svg/search.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/thread.svg b/src/assets/svg/thread.svg new file mode 100644 index 0000000..74c2c2d --- /dev/null +++ b/src/assets/svg/thread.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/components/Navigation/GNB.tsx b/src/components/Navigation/GNB.tsx new file mode 100644 index 0000000..34f6372 --- /dev/null +++ b/src/components/Navigation/GNB.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { ReactComponent as ProfileIcon } from '../../assets/svg/profileD.svg'; // 프로필 아이콘 불러오기 +import { ReactComponent as HomeIcon } from '../../assets/svg/home.svg'; // 홈 아이콘 불러오기 +import { ReactComponent as LikeIcon } from '../../assets/svg/like.svg'; // 좋아요 아이콘 불러오기 +import { ReactComponent as SearchIcon } from '../../assets/svg/search.svg'; // 검색 아이콘 불러오기 +import { ReactComponent as MessageIcon } from '../../assets/svg/messageD.svg'; // 메시지 아이콘 불러오기 + +export default function GNB() { + return ( + // 수정해야함 + + ); +} diff --git a/src/components/Navigation/TNB.tsx b/src/components/Navigation/TNB.tsx new file mode 100644 index 0000000..39d238c --- /dev/null +++ b/src/components/Navigation/TNB.tsx @@ -0,0 +1,79 @@ +import React, { useEffect, useState } from 'react'; +import { ReactComponent as LockIcon } from '../../assets/svg/lock.svg'; +import { ReactComponent as DownIcon } from '../../assets/svg/down.svg'; +import { ReactComponent as ThreadsIcon } from '../../assets/svg/thread.svg'; +import { ReactComponent as PlusIcon } from '../../assets/svg/plus.svg'; +import { ReactComponent as MenuIcon } from '../../assets/svg/menu.svg'; +import data from './data/data.json'; +import { Chat, User } from '../../types/types'; + +interface TNBProps { + name: string; + user?: User; // 필요한 경우에만 user 정보를 받음 + chat?: Chat; // 필요한 경우에만 chat 정보를 받음 + } + +// TNB 컴포넌트 구현 +const TNB: React.FC = ({ name, user, chat }) => { + + const renderTNBContent = () => { + switch (name) { + case 'profile': + return ( +
+
+ + s.ol_lala + +
+
+ + + +
+
+ ); + case 'edit': + return ( +
+ + s.ol_lala + ✏️ +
+ ); + case 'back': + return ( +
+ + s.ol_lala +
+ ); + case 'locked': + return ( +
+
+ +
+ CEOS +

ceos.sinchon

+
+
+
+ 📞 + 🎥 +
+
+ ); + default: + return null; + } + }; + + return ( +
+ {renderTNBContent()} +
+ ); +}; + +export default TNB; diff --git a/src/components/Tab/Tab_Post.tsx b/src/components/Tab/Tab_Post.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/data/data.json b/src/data/data.json new file mode 100644 index 0000000..2c2e4dd --- /dev/null +++ b/src/data/data.json @@ -0,0 +1,59 @@ +{ + "users": [ + { + "id": 1, + "username": "s.ol_lala", + "fullName": "솔라라", + "profileImage": "https://example.com/profile1.jpg", + "posts": 3, + "followers": 1000, + "following": 1000, + "bio": "반갑습니다.", + "website": "https://www.instagram.com", + "editProfile": true + }, + { + "id": 2, + "username": "ceos.sinchon", + "fullName": "CEOS", + "profileImage": "https://example.com/profile2.jpg", + "followers": 736, + "following": 174, + "bio": "세오스입니다.", + "website": "https://ceos.example.com", + "editProfile": false + } + ], + "chats": [ + { + "id": 1, + "participants": [1, 2], + "lastMessage": "네! 실험입니다 정말 축하합니다", + "updatedAt": "2024-09-25T15:00:00Z" + } + ], + "messages": [ + { + "messageId": 1, + "chatId": 1, + "senderId": 2, + "content": "안녕하세요! 세오스 합격하셨습니다 ^^", + "sentAt": "2024-09-25T14:30:00Z" + }, + { + "messageId": 2, + "chatId": 1, + "senderId": 1, + "content": "네?? 정말합격인가요??", + "sentAt": "2024-09-25T14:32:00Z" + }, + { + "messageId": 3, + "chatId": 1, + "senderId": 2, + "content": "네! 실험입니다 정말 축하합니다", + "sentAt": "2024-09-25T14:35:00Z" + } + ] + } + \ No newline at end of file diff --git a/src/index.css b/src/index.css index 5875ab7..0cc411e 100644 --- a/src/index.css +++ b/src/index.css @@ -10,6 +10,12 @@ body { sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + width: 100%; + height: 100%; + background-color: lightgray; + /* display: flex; + justify-content: center; + align-items: center; */ } code { diff --git a/src/types/image.d.ts b/src/types/image.d.ts new file mode 100644 index 0000000..053de70 --- /dev/null +++ b/src/types/image.d.ts @@ -0,0 +1,19 @@ +declare module "*.jpg" { + const value: string; + export default value; + } + + declare module "*.png" { + const value: string; + export default value; + } + + declare module "*.jpeg" { + const value: string; + export default value; + } + + declare module "*.gif" { + const value: string; + export default value; + } \ No newline at end of file diff --git a/src/types/json.d.ts b/src/types/json.d.ts new file mode 100644 index 0000000..b78d909 --- /dev/null +++ b/src/types/json.d.ts @@ -0,0 +1,5 @@ +declare module "*.json" { + const value: any; + export default value; + } + \ No newline at end of file diff --git a/src/types/svg.d.ts b/src/types/svg.d.ts new file mode 100644 index 0000000..a36e260 --- /dev/null +++ b/src/types/svg.d.ts @@ -0,0 +1,6 @@ +declare module "*.svg" { + import React = require("react"); + export const ReactComponent: React.FC>; + const src: string; + export default src; +} diff --git a/src/types/types.ts b/src/types/types.ts new file mode 100644 index 0000000..f6da7b1 --- /dev/null +++ b/src/types/types.ts @@ -0,0 +1,29 @@ +// types.ts +export interface User { + id: number; + username: string; + fullName: string; + profileImage: string; + posts?: number; + followers: number; + following: number; + bio?: string; + website?: string; + editProfile?: boolean; + } + + export interface Chat { + id: number; + participants: number[]; + lastMessage: string; + updatedAt: string; + } + + export interface Message { + messageId: number; + chatId: number; + senderId: number; + content: string; + sentAt: string; + } + \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index a273b0c..a0a8545 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,6 +21,11 @@ "jsx": "react-jsx" }, "include": [ - "src" + "src", + "src/**/*.ts", + "src/**/*.tsx", + "src/types/svg.d.ts", + "src/types/json.d.ts", + "src/types/image.d.ts" ] } From 75fff72fae02230790ec1fe2bc93e7f9d218ab3e Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Thu, 26 Sep 2024 02:27:09 +0900 Subject: [PATCH 04/13] feat : profile page set --- src/app/profile/Description.tsx | 10 ++-- src/app/profile/Profile.tsx | 75 +++++++++++++++++++++++++----- src/assets/Image/contents1.jpg | Bin 0 -> 14996 bytes src/assets/Image/contents2.jpg | Bin 0 -> 16889 bytes src/assets/Image/contents3.jpg | Bin 0 -> 15370 bytes src/assets/svg/grid.svg | 11 +++++ src/assets/svg/tag.svg | 4 ++ src/components/Icon.tsx | 56 ++++++++++++++++++++++ src/components/Navigation/GNB.tsx | 15 +++--- src/components/Navigation/TNB.tsx | 8 ++-- src/components/Tab/Tab_Post.tsx | 0 11 files changed, 152 insertions(+), 27 deletions(-) create mode 100644 src/assets/Image/contents1.jpg create mode 100644 src/assets/Image/contents2.jpg create mode 100644 src/assets/Image/contents3.jpg create mode 100644 src/assets/svg/grid.svg create mode 100644 src/assets/svg/tag.svg create mode 100644 src/components/Icon.tsx delete mode 100644 src/components/Tab/Tab_Post.tsx diff --git a/src/app/profile/Description.tsx b/src/app/profile/Description.tsx index 829b4e0..0fdf9a0 100644 --- a/src/app/profile/Description.tsx +++ b/src/app/profile/Description.tsx @@ -8,15 +8,15 @@ export default function Description() {
profile
- +

3

posts

- +

1000

followers

- +

1000

following

@@ -29,11 +29,11 @@ export default function Description() {
-

www.instagram.com

+ www.instagram.com
- +
); diff --git a/src/app/profile/Profile.tsx b/src/app/profile/Profile.tsx index 2078369..1a1468b 100644 --- a/src/app/profile/Profile.tsx +++ b/src/app/profile/Profile.tsx @@ -1,20 +1,71 @@ -import React from 'react'; +import React, { useState } from 'react'; import TNB from '../../components/Navigation/TNB'; import Description from './Description'; +import { ReactComponent as GridIcon } from '../../assets/svg/grid.svg' +import { ReactComponent as TagIcon } from '../../assets/svg/tag.svg' export default function Profile() { - return ( -
- {/* Profile TNB */} - - - {/* Profile Description */} - + const [activeTab, setActiveTab] = useState(1); + + // 탭 변경 함수 + const handleTabClick = (tabIndex: number) => { + setActiveTab(tabIndex); + }; + // 이미지 데이터 예시 + const images = [ + require('../../assets/Image/contents1.jpg'), // 이미지 경로 + require('../../assets/Image/contents2.jpg'), + require('../../assets/Image/contents3.jpg'), + ]; + + return ( +
+ {/* Profile TNB */} + + + {/* Profile Description */} + + + {/* Tab */} +
+ handleTabClick(1)} + className={`w-[186px] flex justify-center items-center px-0 py-2 cursor-pointer + ${activeTab === 1 ? 'text-black border-b-2 border-black' : 'text-gray400'}`}> + + + handleTabClick(2)} + className={`w-[186px] flex justify-center items-center px-0 py-2 cursor-pointer + ${activeTab === 2 ? 'text-black border-b-2 border-black' : 'text-gray400'}`}> + + +
+ {/* Tab Content */} +
+ {activeTab === 1 ? ( + // Grid 탭이 활성화된 경우 콘텐츠 +
+ {images.map((img, index) => ( +
+ {`Image +
+ ))} +
+ ) : ( + // Tag 탭이 활성화된 경우 콘텐츠 +
+ {/* Tag 콘텐츠 */} + +

사진 없음

+
+ )} +
- {/* My Content */} -
- Contents
-
); } \ No newline at end of file diff --git a/src/assets/Image/contents1.jpg b/src/assets/Image/contents1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba0b41565cc0d15ae19d49ba7d1469c753018bc5 GIT binary patch literal 14996 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 literal 0 HcmV?d00001 diff --git a/src/assets/Image/contents2.jpg b/src/assets/Image/contents2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99d11f5fdbfee1a568beae65e45a14a6bb77e47b GIT binary patch literal 16889 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 bUY*e!p~qHMJ-ury9$kHEJM__X((M1)h!|q` literal 0 HcmV?d00001 diff --git a/src/assets/Image/contents3.jpg b/src/assets/Image/contents3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b67179235f4e49b1022759332c1d12d4b8de2597 GIT binary patch literal 15370 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 literal 0 HcmV?d00001 diff --git a/src/assets/svg/grid.svg b/src/assets/svg/grid.svg new file mode 100644 index 0000000..74b3574 --- /dev/null +++ b/src/assets/svg/grid.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svg/tag.svg b/src/assets/svg/tag.svg new file mode 100644 index 0000000..25ec077 --- /dev/null +++ b/src/assets/svg/tag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx new file mode 100644 index 0000000..8cb597f --- /dev/null +++ b/src/components/Icon.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { ReactComponent as ProfileIconD } from '../assets/svg/profileD.svg'; // 프로필 아이콘 불러오기 +import { ReactComponent as ProfileIconH } from '../assets/svg/profileH.svg'; // 프로필 아이콘 불러오기 +import { ReactComponent as HomeIcon } from '../assets/svg/home.svg'; // 홈 아이콘 불러오기 +import { ReactComponent as LikeIcon } from '../assets/svg/like.svg'; // 좋아요 아이콘 불러오기 +import { ReactComponent as SearchIcon } from '../assets/svg/search.svg'; // 검색 아이콘 불러오기 +import { ReactComponent as MessageIconD } from '../assets/svg/messageD.svg'; // 메시지 아이콘 불러오기 +import { ReactComponent as MessageIconH } from '../assets/svg/messageH.svg'; // 메시지 아이콘 불러오기 + +import { useLocation, useNavigate } from 'react-router-dom'; + +// 비활성화 아이콘 +const icons_D = { + home: HomeIcon, + search: SearchIcon, + like: LikeIcon, + message: MessageIconD, + profile: ProfileIconD + }; + + // 활성화 아이콘 + const icons_H = { + home: HomeIcon, + search: SearchIcon, + like: LikeIcon, + message: MessageIconH, + profile: ProfileIconH + }; + + + +// 타입 지정 +interface IconProps { + name: 'home' | 'search' | 'like' | 'message' | 'profile'; // 아이콘 이름 + route: string; // 라우팅 경로 + } + +const Icon: React.FC = ({ name, route }) => { + const navigate = useNavigate(); + const location = useLocation(); // 현재 경로를 가져옴 + + const isActive = location.pathname === route; + const IconComponent = isActive ? icons_H[name] : icons_D[name]; + + + return ( +
navigate(route)} // 클릭 시 라우팅 + > + +
+ ); +}; + +export default Icon; diff --git a/src/components/Navigation/GNB.tsx b/src/components/Navigation/GNB.tsx index 34f6372..f86a86c 100644 --- a/src/components/Navigation/GNB.tsx +++ b/src/components/Navigation/GNB.tsx @@ -4,16 +4,19 @@ import { ReactComponent as HomeIcon } from '../../assets/svg/home.svg'; // 홈 import { ReactComponent as LikeIcon } from '../../assets/svg/like.svg'; // 좋아요 아이콘 불러오기 import { ReactComponent as SearchIcon } from '../../assets/svg/search.svg'; // 검색 아이콘 불러오기 import { ReactComponent as MessageIcon } from '../../assets/svg/messageD.svg'; // 메시지 아이콘 불러오기 +import Icon from '../Icon'; +import { useNavigate } from 'react-router-dom'; export default function GNB() { + return ( // 수정해야함 - ); diff --git a/src/components/Icon.tsx b/src/components/Navigation/Icon.tsx similarity index 61% rename from src/components/Icon.tsx rename to src/components/Navigation/Icon.tsx index 8cb597f..8452ff3 100644 --- a/src/components/Icon.tsx +++ b/src/components/Navigation/Icon.tsx @@ -1,11 +1,11 @@ import React from 'react'; -import { ReactComponent as ProfileIconD } from '../assets/svg/profileD.svg'; // 프로필 아이콘 불러오기 -import { ReactComponent as ProfileIconH } from '../assets/svg/profileH.svg'; // 프로필 아이콘 불러오기 -import { ReactComponent as HomeIcon } from '../assets/svg/home.svg'; // 홈 아이콘 불러오기 -import { ReactComponent as LikeIcon } from '../assets/svg/like.svg'; // 좋아요 아이콘 불러오기 -import { ReactComponent as SearchIcon } from '../assets/svg/search.svg'; // 검색 아이콘 불러오기 -import { ReactComponent as MessageIconD } from '../assets/svg/messageD.svg'; // 메시지 아이콘 불러오기 -import { ReactComponent as MessageIconH } from '../assets/svg/messageH.svg'; // 메시지 아이콘 불러오기 +import { ReactComponent as ProfileIconD } from '../../assets/svg/profileD.svg'; // 프로필 아이콘 불러오기 +import { ReactComponent as ProfileIconH } from '../../assets/svg/profileH.svg'; // 프로필 아이콘 불러오기 +import { ReactComponent as HomeIcon } from '../../assets/svg/home.svg'; // 홈 아이콘 불러오기 +import { ReactComponent as LikeIcon } from '../../assets/svg/like.svg'; // 좋아요 아이콘 불러오기 +import { ReactComponent as SearchIcon } from '../../assets/svg/search.svg'; // 검색 아이콘 불러오기 +import { ReactComponent as MessageIconD } from '../../assets/svg/messageD.svg'; // 메시지 아이콘 불러오기 +import { ReactComponent as MessageIconH } from '../../assets/svg/messageH.svg'; // 메시지 아이콘 불러오기 import { useLocation, useNavigate } from 'react-router-dom'; diff --git a/src/components/Navigation/TNB.tsx b/src/components/Navigation/TNB.tsx index 606d167..307ee4d 100644 --- a/src/components/Navigation/TNB.tsx +++ b/src/components/Navigation/TNB.tsx @@ -1,11 +1,14 @@ -import React, { useEffect, useState } from 'react'; +import React from 'react'; import { ReactComponent as LockIcon } from '../../assets/svg/lock.svg'; import { ReactComponent as DownIcon } from '../../assets/svg/down.svg'; import { ReactComponent as ThreadsIcon } from '../../assets/svg/thread.svg'; import { ReactComponent as PlusIcon } from '../../assets/svg/plus.svg'; import { ReactComponent as MenuIcon } from '../../assets/svg/menu.svg'; -import data from './data/data.json'; +import { ReactComponent as LeftIcon } from '../../assets/svg/left.svg'; +import { ReactComponent as NewMessage } from '../../assets/svg/newMessage.svg'; + import { Chat, User } from '../../types/types'; +import { useNavigate } from 'react-router-dom'; interface TNBProps { name: string; @@ -15,7 +18,7 @@ interface TNBProps { // TNB 컴포넌트 구현 const TNB: React.FC = ({ name, user, chat }) => { - + const navigate = useNavigate(); const renderTNBContent = () => { switch (name) { case 'profile': @@ -23,29 +26,36 @@ const TNB: React.FC = ({ name, user, chat }) => {
- s.ol_lala + s.ol_lala
- - - + + +
); - case 'edit': + case 'friend': return ( -
- - s.ol_lala - ✏️ -
+
+ navigate("/profile")} className='cursor-pointer transition-transform duration-200 ease-in-out hover:scale-110'/> + s.ol_lala +
); - case 'back': + case 'chatlist': return ( -
- - s.ol_lala +
+
+ +
+ s.ol_lala + +
+
+
+ +
); case 'locked': @@ -70,7 +80,7 @@ const TNB: React.FC = ({ name, user, chat }) => { }; return ( -
+
{renderTNBContent()}
); diff --git a/src/types/types.ts b/src/types/types.ts index f6da7b1..7c26c7f 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -3,7 +3,8 @@ export interface User { id: number; username: string; fullName: string; - profileImage: string; + displayName: string; + profileImage?: string; posts?: number; followers: number; following: number; @@ -26,4 +27,18 @@ export interface User { content: string; sentAt: string; } + +export interface Friend_User { + username: string; + displayName: string; + profileImage?: string; + instagramLink?: string; + } + export interface Chat_User { + username: string; + profileImage?: string; + lastMessage?: string; + updatedAt: string; + isActivated: boolean; + } \ No newline at end of file From 802aed950871d7b6bf898c83efebd222867a9477 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Thu, 26 Sep 2024 17:41:06 +0900 Subject: [PATCH 07/13] feat : chatRoom page, style : chatRoom style ing... --- src/App.tsx | 2 +- src/app/chatting/ChatRoom.tsx | 54 +++++++++++++--- src/app/layout/Layout.tsx | 28 +++++--- src/app/profile/follower/FollowList.tsx | 4 +- src/assets/Image/CEOS96.jpg | Bin 0 -> 8892 bytes src/assets/svg/call.svg | 3 + src/assets/svg/cameraFill.svg | 3 + src/assets/svg/picture.svg | 5 ++ src/assets/svg/right.svg | 3 + src/assets/svg/search.svg | 2 +- src/assets/svg/send.svg | 3 + src/assets/svg/sticker.svg | 3 + src/assets/svg/video.svg | 4 ++ src/components/ChatBar/ChatBar.tsx | 82 ++++++++++++++++++++++++ src/components/List/ListChat.tsx | 2 +- src/components/Navigation/TNB.tsx | 36 +++++++---- tailwind.config.js | 4 ++ 17 files changed, 204 insertions(+), 34 deletions(-) create mode 100644 src/assets/Image/CEOS96.jpg create mode 100644 src/assets/svg/call.svg create mode 100644 src/assets/svg/cameraFill.svg create mode 100644 src/assets/svg/picture.svg create mode 100644 src/assets/svg/right.svg create mode 100644 src/assets/svg/send.svg create mode 100644 src/assets/svg/sticker.svg create mode 100644 src/assets/svg/video.svg create mode 100644 src/components/ChatBar/ChatBar.tsx diff --git a/src/App.tsx b/src/App.tsx index 375c107..37c68fb 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -16,7 +16,7 @@ function App() { } /> } /> } /> - } /> + } /> diff --git a/src/app/chatting/ChatRoom.tsx b/src/app/chatting/ChatRoom.tsx index d9cfc6c..abc5896 100644 --- a/src/app/chatting/ChatRoom.tsx +++ b/src/app/chatting/ChatRoom.tsx @@ -1,12 +1,50 @@ import React from 'react'; +import { useParams } from 'react-router-dom'; +import TNB from '../../components/Navigation/TNB'; +import ceos96 from '../../assets/Image/CEOS96.jpg'; +import ChatBar from '../../components/ChatBar/ChatBar'; + +const ChatRoom: React.FC = () => { + const { username } = useParams(); // URL에서 유저명 추출 + + // 임시 데이터 (API와 연동해서 가져올 수 있음) + const userData = { + username: 'CEOS', + profileImage: require('../../assets/Image/CEOS56.jpg'), + displayName: 'CEOS', + }; -export default function ChatRoom() { return ( -
-

ChatRoom

-

- 프로필 페이지입니다. -

-
+
+ {/* ChatRoom TNB */} + + +
+ {/* ChatRoom User Description */} +
+
+ Profile +

CEOS

+ +

ceos.sinchon

+

736 followers · 174 posts

+

You don’t follow each other on Instagram

+
+
+ +
+ + {/* ChatRoom Chat */} +
+ {/* 채팅 시작 시각 */} + SEP 2 AT 3:26 PM +
+ + {/* ChatBar */} +
+ +
); - } \ No newline at end of file +}; + +export default ChatRoom; diff --git a/src/app/layout/Layout.tsx b/src/app/layout/Layout.tsx index 662325b..3b75c52 100644 --- a/src/app/layout/Layout.tsx +++ b/src/app/layout/Layout.tsx @@ -1,18 +1,26 @@ import React from 'react'; -import { Outlet } from 'react-router-dom'; +import { Outlet, useLocation } from 'react-router-dom'; import GNB from '../../components/Navigation/GNB'; +import ChatBar from '../../components/ChatBar/ChatBar'; // import NavBar from './NavBar'; // 하단의 네비게이션 바 const Layout = () => { - return ( -
-
- {/* 자식 Route 컴포넌트가 여기에서 렌더링됩니다 */} -
- {/* */} - -
- ); + const location = useLocation(); // 현재 경로 정보를 가져옴 + console.log(location.pathname.startsWith("/chatting/chatRoom")); + + return ( +
+
+ {/* 자식 Route 컴포넌트가 여기에서 렌더링됩니다 */} +
+ {/* */} + {!location.pathname.startsWith("/chatting/chatRoom") ? ( + + ) : ( + + )} +
+ ); }; export default Layout; diff --git a/src/app/profile/follower/FollowList.tsx b/src/app/profile/follower/FollowList.tsx index 532998e..8958056 100644 --- a/src/app/profile/follower/FollowList.tsx +++ b/src/app/profile/follower/FollowList.tsx @@ -82,8 +82,8 @@ export default function FollowList() { All followers {/* Followers List */}
- {users.map((user) => ( - + {users.map((user, index) => ( + ))}
diff --git a/src/assets/Image/CEOS96.jpg b/src/assets/Image/CEOS96.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25cafe80c4c6f5105bdb5f7923bf421e27ac7162 GIT binary patch literal 8892 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 literal 0 HcmV?d00001 diff --git a/src/assets/svg/call.svg b/src/assets/svg/call.svg new file mode 100644 index 0000000..71daf00 --- /dev/null +++ b/src/assets/svg/call.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/cameraFill.svg b/src/assets/svg/cameraFill.svg new file mode 100644 index 0000000..907f760 --- /dev/null +++ b/src/assets/svg/cameraFill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/picture.svg b/src/assets/svg/picture.svg new file mode 100644 index 0000000..b87919f --- /dev/null +++ b/src/assets/svg/picture.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/svg/right.svg b/src/assets/svg/right.svg new file mode 100644 index 0000000..64af371 --- /dev/null +++ b/src/assets/svg/right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/search.svg b/src/assets/svg/search.svg index 5f4fd39..43d3ade 100644 --- a/src/assets/svg/search.svg +++ b/src/assets/svg/search.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/src/assets/svg/send.svg b/src/assets/svg/send.svg new file mode 100644 index 0000000..06a5ebd --- /dev/null +++ b/src/assets/svg/send.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/sticker.svg b/src/assets/svg/sticker.svg new file mode 100644 index 0000000..8cfdd3f --- /dev/null +++ b/src/assets/svg/sticker.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/video.svg b/src/assets/svg/video.svg new file mode 100644 index 0000000..be7bd25 --- /dev/null +++ b/src/assets/svg/video.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/components/ChatBar/ChatBar.tsx b/src/components/ChatBar/ChatBar.tsx new file mode 100644 index 0000000..e616e3b --- /dev/null +++ b/src/components/ChatBar/ChatBar.tsx @@ -0,0 +1,82 @@ +import React, { useState } from 'react'; +import {ReactComponent as CameraFillIcon} from '../../assets/svg/cameraFill.svg'; +import {ReactComponent as PictureIcon} from '../../assets/svg/picture.svg'; +import {ReactComponent as StickerIcon} from '../../assets/svg/sticker.svg'; +import {ReactComponent as SearchIcon} from '../../assets/svg/search.svg'; +import {ReactComponent as SendIcon} from '../../assets/svg/send.svg'; + +interface ChatBarProps { + placeholder: string; + onSendMessage: (message: string) => void; +} + +const ChatBar = () => { + const [inputValue, setInputValue] = useState(''); + const [isFocused, setIsFocused] = useState(false); + + const handleInputChange = (e: React.ChangeEvent) => { + setInputValue(e.target.value); + setIsFocused(false); + }; + + const handleSendMessage = () => { + if (inputValue.trim() !== '') { + // onSendMessage(inputValue); + setInputValue(''); // 메시지 전송 후 입력 필드 초기화 + } + }; + + return ( +
+ + {/* Input field */} + + + +
+ ); +}; + +export default ChatBar; diff --git a/src/components/List/ListChat.tsx b/src/components/List/ListChat.tsx index c4b037b..0514939 100644 --- a/src/components/List/ListChat.tsx +++ b/src/components/List/ListChat.tsx @@ -16,7 +16,7 @@ const ListChat: React.FC = ({ user }) => { return (
navigate(`/chatting/chatRoom${user.username}`)} + onClick={()=>navigate(`/chatting/chatRoom/${user.username}`)} className=" w-full h-[72px] flex items-center justify-between px-4 py-2 hover:bg-gray100 cursor-pointer"> {/* 프로필 이미지 및 정보 */}
diff --git a/src/components/Navigation/TNB.tsx b/src/components/Navigation/TNB.tsx index 307ee4d..1073694 100644 --- a/src/components/Navigation/TNB.tsx +++ b/src/components/Navigation/TNB.tsx @@ -6,6 +6,12 @@ import { ReactComponent as PlusIcon } from '../../assets/svg/plus.svg'; import { ReactComponent as MenuIcon } from '../../assets/svg/menu.svg'; import { ReactComponent as LeftIcon } from '../../assets/svg/left.svg'; import { ReactComponent as NewMessage } from '../../assets/svg/newMessage.svg'; +import { ReactComponent as RightIcon } from '../../assets/svg/right.svg'; +import { ReactComponent as CallIcon } from '../../assets/svg/call.svg'; +import { ReactComponent as VideoIcon } from '../../assets/svg/video.svg'; +import profileImage from '../../assets/Image/CEOS56.jpg'; + + import { Chat, User } from '../../types/types'; import { useNavigate } from 'react-router-dom'; @@ -58,19 +64,27 @@ const TNB: React.FC = ({ name, user, chat }) => {
); - case 'locked': + case 'chatroom': return ( -
-
- -
- CEOS -

ceos.sinchon

-
+
+
+ navigate("/chatting/chatList")} className='cursor-pointer transition-transform duration-200 ease-in-out hover:scale-110'/> +
+ {user?.username} +
+ +

CEOS

+ +
+ + ceos.sinchon + +
+
-
- 📞 - 🎥 +
+ +
); diff --git a/tailwind.config.js b/tailwind.config.js index c8c1b2e..af350be 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -6,6 +6,9 @@ module.exports = { ], theme: { extend: { + rounded: { + '4xl': '30px', + }, colors: { white: '#FFFFFF', black: '#000000', @@ -81,6 +84,7 @@ module.exports = { }, }; addUtilities(newUtilities, ['responsive', 'hover']); + require('tailwind-scrollbar-hide'); }, ], } From 892eeb72000e32fc12529dbcdceab10b3aeb8d99 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Thu, 26 Sep 2024 22:14:48 +0900 Subject: [PATCH 08/13] =?UTF-8?q?=20style=20:=20figma=20design=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/chatting/ChatList.tsx | 4 +- src/app/chatting/ChatRoom.tsx | 14 ++- src/app/layout/Layout.tsx | 1 - src/assets/svg/search.svg | 4 +- src/assets/svg/send.svg | 9 +- src/components/ChatBar/ChatBar.tsx | 130 ++++++++++++++------------ src/components/ChatBar/TextBubble.tsx | 48 ++++++++++ 7 files changed, 140 insertions(+), 70 deletions(-) create mode 100644 src/components/ChatBar/TextBubble.tsx diff --git a/src/app/chatting/ChatList.tsx b/src/app/chatting/ChatList.tsx index b3670b5..a2f5d50 100644 --- a/src/app/chatting/ChatList.tsx +++ b/src/app/chatting/ChatList.tsx @@ -65,8 +65,8 @@ export default function ChatList() { {/* ChatList User */}
- {users.map((user) => ( - + {users.map((user, index) => ( + ))}
diff --git a/src/app/chatting/ChatRoom.tsx b/src/app/chatting/ChatRoom.tsx index abc5896..5398e31 100644 --- a/src/app/chatting/ChatRoom.tsx +++ b/src/app/chatting/ChatRoom.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { useParams } from 'react-router-dom'; import TNB from '../../components/Navigation/TNB'; import ceos96 from '../../assets/Image/CEOS96.jpg'; -import ChatBar from '../../components/ChatBar/ChatBar'; +import TextBubble from '../../components/ChatBar/TextBubble'; const ChatRoom: React.FC = () => { const { username } = useParams(); // URL에서 유저명 추출 @@ -19,7 +19,7 @@ const ChatRoom: React.FC = () => { {/* ChatRoom TNB */} -
+
{/* ChatRoom User Description */}
@@ -35,12 +35,20 @@ const ChatRoom: React.FC = () => {
{/* ChatRoom Chat */} -
+
{/* 채팅 시작 시각 */} SEP 2 AT 3:26 PM + {/* 채팅 내용 */} +
+ + + + {/* */} +
{/* ChatBar */} +
diff --git a/src/app/layout/Layout.tsx b/src/app/layout/Layout.tsx index 3b75c52..dcfc5f4 100644 --- a/src/app/layout/Layout.tsx +++ b/src/app/layout/Layout.tsx @@ -6,7 +6,6 @@ import ChatBar from '../../components/ChatBar/ChatBar'; const Layout = () => { const location = useLocation(); // 현재 경로 정보를 가져옴 - console.log(location.pathname.startsWith("/chatting/chatRoom")); return (
diff --git a/src/assets/svg/search.svg b/src/assets/svg/search.svg index 43d3ade..e61ba94 100644 --- a/src/assets/svg/search.svg +++ b/src/assets/svg/search.svg @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/src/assets/svg/send.svg b/src/assets/svg/send.svg index 06a5ebd..343845e 100644 --- a/src/assets/svg/send.svg +++ b/src/assets/svg/send.svg @@ -1,3 +1,6 @@ - - - \ No newline at end of file + + + + + + diff --git a/src/components/ChatBar/ChatBar.tsx b/src/components/ChatBar/ChatBar.tsx index e616e3b..fe89425 100644 --- a/src/components/ChatBar/ChatBar.tsx +++ b/src/components/ChatBar/ChatBar.tsx @@ -11,72 +11,84 @@ interface ChatBarProps { } const ChatBar = () => { - const [inputValue, setInputValue] = useState(''); - const [isFocused, setIsFocused] = useState(false); + const [inputValue, setInputValue] = useState(''); + const [isFocused, setIsFocused] = useState(false); - const handleInputChange = (e: React.ChangeEvent) => { - setInputValue(e.target.value); - setIsFocused(false); - }; - - const handleSendMessage = () => { - if (inputValue.trim() !== '') { - // onSendMessage(inputValue); - setInputValue(''); // 메시지 전송 후 입력 필드 초기화 + const handleInputChange = (e: React.ChangeEvent) => { + setInputValue(e.target.value); + if (e.target.value.trim() === '') { + setIsFocused(false); + } else { + setIsFocused(true); + } } - }; - return ( -
+ const handleSendMessage = () => { + + if (inputValue.trim() !== '') { + // onSendMessage(inputValue); + setInputValue(''); // 메시지 전송 후 입력 필드 초기화 + setIsFocused(false); + + } + }; - {/* Input field */} -
+ ); }; export default ChatBar; diff --git a/src/components/ChatBar/TextBubble.tsx b/src/components/ChatBar/TextBubble.tsx new file mode 100644 index 0000000..0a60f3e --- /dev/null +++ b/src/components/ChatBar/TextBubble.tsx @@ -0,0 +1,48 @@ +import React, { useEffect, useRef, useState } from "react"; +import { User } from "../../types/types"; +import profileImage from "../../assets/Image/CEOS56.jpg"; + +interface TextBubbleProps { + text: string; + isMine: boolean; + user?: User; +} + +export default function TextBubble({ text, isMine, user } : TextBubbleProps) { + const [isOverflow, setIsOverflow] = useState(false); + const textRef = useRef(null); + + useEffect(() => { + // 텍스트 요소가 렌더링된 후, 너비를 확인 + if (textRef.current) { + const textWidth = textRef.current.offsetWidth; + setIsOverflow(textWidth > 280); // 텍스트 너비가 280px을 넘으면 줄바꿈 설정 + } + }, [text]); + return ( +
+ {/* 내가 보낸 메세지 */} + {isMine ? ( +
+ + {text} + +
+ ) : ( + // User가 보낸 메세지 +
+ + {user?.username} + + + {text} + +
+ )} +
+ ); +} \ No newline at end of file From d14cedaa09e7e55a58757e88e3072255512b40d9 Mon Sep 17 00:00:00 2001 From: yyj0917 Date: Fri, 27 Sep 2024 03:53:12 +0900 Subject: [PATCH 09/13] =?UTF-8?q?=20feat=20:=20keyboard=20=EB=AF=B8?= =?UTF-8?q?=EC=99=84,=20chore=20:=20=EC=83=81=ED=83=9C=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20zustand=20set?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/chatting/ChatList.tsx | 54 +---------- src/app/chatting/ChatRoom.tsx | 47 +++++----- src/app/profile/Description.tsx | 2 +- src/app/profile/Profile.tsx | 20 ++--- src/app/profile/follower/FollowList.tsx | 21 ++--- src/assets/Image/hamzzi.jpg | Bin 0 -> 7843 bytes src/assets/Image/totoro.jpg | Bin 0 -> 2935 bytes src/assets/svg/emoji.svg | 3 + src/assets/svg/grid.svg | 20 ++--- src/assets/svg/mic.svg | 3 + src/assets/svg/tag.svg | 4 +- src/components/ChatBar/ChatBar.tsx | 26 ++++-- src/components/ChatBar/KeyBoard.tsx | 60 +++++++++++++ src/components/ChatBar/TextBubble.tsx | 7 +- src/components/List/ListChat.tsx | 43 ++++----- src/components/List/ListFriend.tsx | 13 ++- src/components/Navigation/GNB.tsx | 1 - src/components/Navigation/TNB.tsx | 18 ++-- src/types/custom.d.ts | 1 + src/types/types.ts | 97 +++++++++++--------- src/zustand/userStore.ts | 110 +++++++++++++++++++++++ tailwind.config.js => tailwind.config.ts | 36 ++++++-- tsconfig.json | 3 +- 23 files changed, 382 insertions(+), 207 deletions(-) create mode 100644 src/assets/Image/hamzzi.jpg create mode 100644 src/assets/Image/totoro.jpg create mode 100644 src/assets/svg/emoji.svg create mode 100644 src/assets/svg/mic.svg create mode 100644 src/components/ChatBar/KeyBoard.tsx create mode 100644 src/types/custom.d.ts create mode 100644 src/zustand/userStore.ts rename tailwind.config.js => tailwind.config.ts (75%) diff --git a/src/app/chatting/ChatList.tsx b/src/app/chatting/ChatList.tsx index a2f5d50..c3676c1 100644 --- a/src/app/chatting/ChatList.tsx +++ b/src/app/chatting/ChatList.tsx @@ -1,59 +1,11 @@ import React from 'react'; import TNB from '../../components/Navigation/TNB'; -import { Chat_User } from '../../types/types'; import ListChat from '../../components/List/ListChat'; +import useChatStore from '../../zustand/userStore'; -const users: Chat_User[] = [ - { - username: 'CEOS', - profileImage: require('../../assets/Image/CEOS56.jpg'), - lastMessage: '네 실화입니다. 정말 축하드립니다', - updatedAt: '·1h', - isActivated: true, - }, - { - username: 'confiwns_', - profileImage: require('../../assets/Image/confiwns_.jpg'), - lastMessage: '야 니 머허냐? 정신 안 차려? 똑띠해라잉', - updatedAt: '·30m', - isActivated: true, - }, - { - username: 'Instagram User', - profileImage: '', - lastMessage: 'Sent Monday', - updatedAt: '·1h', - isActivated: false, - }, - { - username: 'Instagram User', - profileImage: '', - lastMessage: 'Sent Monday', - updatedAt: '·1h', - isActivated: false, - },{ - username: 'Instagram User', - profileImage: '', - lastMessage: 'Sent Monday', - updatedAt: '·1h', - isActivated: false, - },{ - username: 'Instagram User', - profileImage: '', - lastMessage: 'Sent Monday', - updatedAt: '·1h', - isActivated: false, - },{ - username: 'Instagram User', - profileImage: '', - lastMessage: 'Sent Monday', - updatedAt: '·1h', - isActivated: false, - }, - // 다른 사용자 데이터 추가 - ]; export default function ChatList() { + const { users } = useChatStore(); return (
{/* ChatList TNB */} @@ -64,7 +16,7 @@ export default function ChatList() {
{/* ChatList User */} -
+
{users.map((user, index) => ( ))} diff --git a/src/app/chatting/ChatRoom.tsx b/src/app/chatting/ChatRoom.tsx index 5398e31..7e6acb1 100644 --- a/src/app/chatting/ChatRoom.tsx +++ b/src/app/chatting/ChatRoom.tsx @@ -3,31 +3,33 @@ import { useParams } from 'react-router-dom'; import TNB from '../../components/Navigation/TNB'; import ceos96 from '../../assets/Image/CEOS96.jpg'; import TextBubble from '../../components/ChatBar/TextBubble'; +import useChatStore from '../../zustand/userStore'; +import { User } from '../../types/types'; +import KeyBoard from '../../components/ChatBar/KeyBoard'; const ChatRoom: React.FC = () => { - const { username } = useParams(); // URL에서 유저명 추출 + const { username } = useParams(); // URL에서 유저명을 추출 + const { users, getUserMessages } = useChatStore(); + + // 현재 유저 정보 찾기 + const currentUser = users.find(user => user.username === username); + // 현재 유저의 메시지를 zustand로부터 가져옴 + const messages = currentUser ? getUserMessages(currentUser.user_id) : []; - // 임시 데이터 (API와 연동해서 가져올 수 있음) - const userData = { - username: 'CEOS', - profileImage: require('../../assets/Image/CEOS56.jpg'), - displayName: 'CEOS', - }; return (
- {/* ChatRoom TNB */} - - -
+ {/* ChatRoom TNB 렌더링 속도차이로 인한 조건문 */} + {currentUser && } +
{/* ChatRoom User Description */}
- Profile -

CEOS

+ Profile +

{currentUser?.username}

-

ceos.sinchon

-

736 followers · 174 posts

+

{currentUser?.displayName}

+

{currentUser?.followers} followers · {currentUser?.posts} posts

You don’t follow each other on Instagram

@@ -40,15 +42,16 @@ const ChatRoom: React.FC = () => { SEP 2 AT 3:26 PM {/* 채팅 내용 */}
- - - - {/* */} + {messages.map((message) => ( + + ))}
- - {/* ChatBar */} -
diff --git a/src/app/profile/Description.tsx b/src/app/profile/Description.tsx index 4b910f1..88dd9a7 100644 --- a/src/app/profile/Description.tsx +++ b/src/app/profile/Description.tsx @@ -32,7 +32,7 @@ export default function Description() {
diff --git a/src/app/profile/Profile.tsx b/src/app/profile/Profile.tsx index 1a1468b..a9d24e2 100644 --- a/src/app/profile/Profile.tsx +++ b/src/app/profile/Profile.tsx @@ -31,13 +31,13 @@ export default function Profile() { handleTabClick(1)} className={`w-[186px] flex justify-center items-center px-0 py-2 cursor-pointer - ${activeTab === 1 ? 'text-black border-b-2 border-black' : 'text-gray400'}`}> + ${activeTab === 1 ? 'text-black border-b-2 border-black' : 'text-gray500'}`}> handleTabClick(2)} className={`w-[186px] flex justify-center items-center px-0 py-2 cursor-pointer - ${activeTab === 2 ? 'text-black border-b-2 border-black' : 'text-gray400'}`}> + ${activeTab === 2 ? 'text-black border-b-2 border-black' : 'text-gray500'}`}>
@@ -47,20 +47,20 @@ export default function Profile() { // Grid 탭이 활성화된 경우 콘텐츠
{images.map((img, index) => ( -
- {`Image -
+
+ {`Image +
))}
) : ( // Tag 탭이 활성화된 경우 콘텐츠
{/* Tag 콘텐츠 */} - +

사진 없음

)} diff --git a/src/app/profile/follower/FollowList.tsx b/src/app/profile/follower/FollowList.tsx index 8958056..bbe6efd 100644 --- a/src/app/profile/follower/FollowList.tsx +++ b/src/app/profile/follower/FollowList.tsx @@ -1,45 +1,40 @@ import React, { useState } from 'react'; import TNB from '../../../components/Navigation/TNB'; import ListFriend from '../../../components/List/ListFriend'; -import { Friend_User, User } from '../../../types/types'; +import { User } from '../../../types/types'; -const users: Friend_User[] = [ +const users: User[] = [ { + user_id: 1, username: 'ceos.sinchon', displayName: 'CEOS', profileImage: require('../../../assets/Image/CEOS56.jpg'), // 실제 이미지 경로로 변경하세요 - instagramLink: 'https://www.instagram.com/ceos.sinchon/', }, { + user_id: 2, username: 'confiwns_', displayName: '윤영준', profileImage: require('../../../assets/Image/confiwns_.jpg'), - instagramLink: 'https://www.instagram.com/confiwns_/', }, { + user_id: 3, username: 'Jippgago_sipdda', displayName: 'Instagram User', - // profileImage: '/path/to/image2.jpg', }, { + user_id: 4, username: 'Jippgago_sipdda', displayName: 'Instagram User', - // profileImage: '/path/to/image2.jpg', }, { + user_id: 5, username: 'Jippgago_sipdda', displayName: 'Instagram User', - // profileImage: '/path/to/image2.jpg', }, { + user_id: 6, username: 'Jippgago_sipdda', displayName: 'Instagram User', - // profileImage: '/path/to/image2.jpg', - }, - { - username: 'Jippgago_sipdda', - displayName: 'Instagram User', - // profileImage: '/path/to/image2.jpg', }, ]; diff --git a/src/assets/Image/hamzzi.jpg b/src/assets/Image/hamzzi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73dd1c7d38ee33aafe0bc4811d1286f791273df2 GIT binary patch literal 7843 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 HwATM`p+DhY literal 0 HcmV?d00001 diff --git a/src/assets/svg/emoji.svg b/src/assets/svg/emoji.svg new file mode 100644 index 0000000..a83364f --- /dev/null +++ b/src/assets/svg/emoji.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/grid.svg b/src/assets/svg/grid.svg index 74b3574..5513a60 100644 --- a/src/assets/svg/grid.svg +++ b/src/assets/svg/grid.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svg/mic.svg b/src/assets/svg/mic.svg new file mode 100644 index 0000000..e7324e8 --- /dev/null +++ b/src/assets/svg/mic.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/svg/tag.svg b/src/assets/svg/tag.svg index 25ec077..a13e1a9 100644 --- a/src/assets/svg/tag.svg +++ b/src/assets/svg/tag.svg @@ -1,4 +1,4 @@ - + - + \ No newline at end of file diff --git a/src/components/ChatBar/ChatBar.tsx b/src/components/ChatBar/ChatBar.tsx index fe89425..ee67ce4 100644 --- a/src/components/ChatBar/ChatBar.tsx +++ b/src/components/ChatBar/ChatBar.tsx @@ -4,6 +4,9 @@ import {ReactComponent as PictureIcon} from '../../assets/svg/picture.svg'; import {ReactComponent as StickerIcon} from '../../assets/svg/sticker.svg'; import {ReactComponent as SearchIcon} from '../../assets/svg/search.svg'; import {ReactComponent as SendIcon} from '../../assets/svg/send.svg'; +import { useParams } from 'react-router-dom'; +import useChatStore from '../../zustand/userStore'; +import KeyBoard from './KeyBoard'; interface ChatBarProps { placeholder: string; @@ -11,6 +14,12 @@ interface ChatBarProps { } const ChatBar = () => { + const { username } = useParams(); + const { users, addMessage } = useChatStore(); + + // 현재 유저 정보 찾기 + const currentUser = users.find(user => user.username === username); + const [inputValue, setInputValue] = useState(''); const [isFocused, setIsFocused] = useState(false); @@ -26,16 +35,23 @@ const ChatBar = () => { const handleSendMessage = () => { if (inputValue.trim() !== '') { - // onSendMessage(inputValue); + if (currentUser) { + addMessage(currentUser.user_id, inputValue, true); // 메시지를 zustand에 추가 + } setInputValue(''); // 메시지 전송 후 입력 필드 초기화 setIsFocused(false); - } }; return ( -
+
+ {/* Keyboard 추가 */} + {isFocused && ( +
+ +
+ )} {/* Input field */}
handleSendMessage} + onClick={()=>handleSendMessage()} className='w-[50px] h-[34px] flex justify-center items-center bg-main px-[11px] py-[3px] mr-[5px] rounded-3xl'> @@ -85,7 +101,7 @@ const ChatBar = () => { )} - +
); diff --git a/src/components/ChatBar/KeyBoard.tsx b/src/components/ChatBar/KeyBoard.tsx new file mode 100644 index 0000000..8788f29 --- /dev/null +++ b/src/components/ChatBar/KeyBoard.tsx @@ -0,0 +1,60 @@ +import React, { useState } from 'react'; +import {ReactComponent as EmojiIcon} from '../../assets/svg/emoji.svg'; +import {ReactComponent as MicIcon} from '../../assets/svg/mic.svg'; + +const keys = [ + ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'], + ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'], + ['shift', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'backspace'], + ['123', 'space', 'return'], +]; + +const KeyBoard = () => { + const [inputValue, setInputValue] = useState(''); + + const handleKeyPress = (key: string) => { + if (key === 'backspace') { + setInputValue((prev) => prev.slice(0, -1)); + } else if (key === 'return') { + setInputValue(''); + } else if (key === 'space') { + setInputValue((prev) => prev + ' '); + } else if (key === 'shift' || key === '123' || key === 'emoji') { + } else { + setInputValue((prev) => prev + key); + } + }; + + return ( +
+ {/* Render keys */} +
+ {keys.map((row, rowIndex) => ( +
+ {row.map((key) => ( + + ))} +
+ ))} +
+
+ + +
+
+ ); +}; + +export default KeyBoard; diff --git a/src/components/ChatBar/TextBubble.tsx b/src/components/ChatBar/TextBubble.tsx index 0a60f3e..6007976 100644 --- a/src/components/ChatBar/TextBubble.tsx +++ b/src/components/ChatBar/TextBubble.tsx @@ -11,7 +11,6 @@ interface TextBubbleProps { export default function TextBubble({ text, isMine, user } : TextBubbleProps) { const [isOverflow, setIsOverflow] = useState(false); const textRef = useRef(null); - useEffect(() => { // 텍스트 요소가 렌더링된 후, 너비를 확인 if (textRef.current) { @@ -20,7 +19,7 @@ export default function TextBubble({ text, isMine, user } : TextBubbleProps) { } }, [text]); return ( -
+
{/* 내가 보낸 메세지 */} {isMine ? (
@@ -33,12 +32,12 @@ export default function TextBubble({ text, isMine, user } : TextBubbleProps) {
{user?.username} - + {text}
diff --git a/src/components/List/ListChat.tsx b/src/components/List/ListChat.tsx index 0514939..c34832c 100644 --- a/src/components/List/ListChat.tsx +++ b/src/components/List/ListChat.tsx @@ -2,13 +2,13 @@ import React from 'react'; import { ReactComponent as HumanIcon } from '../../assets/svg/human.svg'; import { ReactComponent as CameraIcon } from '../../assets/svg/camera.svg'; -import { Chat_User } from '../../types/types'; +import { User } from '../../types/types'; import { useNavigate } from 'react-router-dom'; interface ListChatProps { - user: Chat_User; + user: User; } const ListChat: React.FC = ({ user }) => { @@ -18,40 +18,41 @@ const ListChat: React.FC = ({ user }) => {
navigate(`/chatting/chatRoom/${user.username}`)} className=" w-full h-[72px] flex items-center justify-between px-4 py-2 hover:bg-gray100 cursor-pointer"> - {/* 프로필 이미지 및 정보 */} -
- {/* 프로필 이미지 */} -
- {user.profileImage ? ( - {user.username} - ) : ( - - )} + {/* 프로필 이미지 및 정보 */} +
+ {/* 프로필 이미지 */} +
+ {user.profileImage ? ( + {user.username} + ) : ( + + )}
{/* 사용자 정보 */}

{user.username}

-
+

{user.lastMessage ? user.lastMessage : 'No messages yet'}

+ {user.updatedAt}
- {/* 메시지 상태 및 카메라 아이콘 */} -
- {user.isActivated && } - -
+ {/* 메시지 상태 및 카메라 아이콘 */} +
+ {user.isActivated && } + +
); }; diff --git a/src/components/List/ListFriend.tsx b/src/components/List/ListFriend.tsx index 2975183..12146a7 100644 --- a/src/components/List/ListFriend.tsx +++ b/src/components/List/ListFriend.tsx @@ -1,19 +1,18 @@ import React from 'react'; import { ReactComponent as HumanIcon } from '../../assets/svg/human.svg'; -import { Friend_User } from '../../types/types'; +// import { Friend_User } from '../../types/types'; import { useNavigate } from 'react-router-dom'; +import { User } from '../../types/types'; // ListFriend 컴포넌트의 props 타입 interface ListFriendProps { - user: Friend_User; + user: User; onRemove: (username: string) => void; // 사용자 제거 버튼 클릭 시 실행되는 함수 } const ListFriend: React.FC = ({ user, onRemove }) => { return ( -
window.open(user.instagramLink, '_blank')} - className="w-full flex items-center justify-between px-5 py-2 hover:bg-gray100 cursor-pointer"> +
{/* 프로필 이미지 및 정보 */}
{/* 프로필 이미지 */} @@ -30,8 +29,8 @@ const ListFriend: React.FC = ({ user, onRemove }) => {
{/* 사용자 정보 */}
-
{user.username}
-
{user.displayName}
+ {user.username} + {user.displayName}
{/* Remove 버튼 */} diff --git a/src/components/Navigation/GNB.tsx b/src/components/Navigation/GNB.tsx index af3e99f..97efa26 100644 --- a/src/components/Navigation/GNB.tsx +++ b/src/components/Navigation/GNB.tsx @@ -4,7 +4,6 @@ import Icon from './Icon'; export default function GNB() { return ( - // 수정해야함