diff --git a/package-lock.json b/package-lock.json index 9fdfc67..858a657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,7 +57,9 @@ "@storybook/nextjs": "^8.1.3", "@storybook/react": "^8.1.3", "@storybook/test": "^8.1.3", + "@tanstack/react-query": "^5.40.1", "@tanstack/react-query-devtools": "^5.44.0", + "@tanstack/react-table": "^8.17.3", "@testing-library/dom": "^10.1.0", "@testing-library/jest-dom": "^6.4.6", "@testing-library/react": "^16.0.0", @@ -2282,9 +2284,9 @@ } }, "node_modules/@chromatic-com/storybook": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-1.5.0.tgz", - "integrity": "sha512-LkLKv7SWu/6kGep1ft2HA1T/cm14wU0zoW71gE4cZRcgUoRQJtyhITFTLHrjqAxz6bVqNgqzQtd5oBZ2nK3L3g==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-1.6.1.tgz", + "integrity": "sha512-x1x1NB3j4xpfeSWKr96emc+7ZvfsvH+/WVb3XCjkB24PPbT8VZXb3mJSAQMrSzuQ8+eQE9kDogYHH9Fj3tb/Cw==", "dev": true, "dependencies": { "chromatic": "^11.4.0", @@ -2749,9 +2751,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2863,9 +2865,9 @@ "dev": true }, "node_modules/@hookform/resolvers": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.6.0.tgz", - "integrity": "sha512-UBcpyOX3+RR+dNnqBd0lchXpoL8p4xC21XP8H6Meb8uve5Br1GCnmg0PcBoKKqPKgGu9GHQ/oygcmPrQhetwqw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.7.0.tgz", + "integrity": "sha512-42p5X18noBV3xqOpTlf2V5qJZwzNgO4eLzHzmKGh/w7z4+4XqRw5AsESVkqE+qwAuRRlg2QG12EVEjPkrRIbeg==", "peerDependencies": { "react-hook-form": "^7.0.0" } @@ -3378,37 +3380,37 @@ } }, "node_modules/@inquirer/confirm": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.10.tgz", - "integrity": "sha512-/aAHu83Njy6yf44T+ZrRPUkMcUqprrOiIKsyMvf9jOV+vF5BNb2ja1aLP33MK36W8eaf91MTL/mU/e6METuENg==", + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.14.tgz", + "integrity": "sha512-nbLSX37b2dGPtKWL3rPuR/5hOuD30S+pqJ/MuFiUEgN6GiMs8UMxiurKAMDzKt6C95ltjupa8zH6+3csXNHWpA==", "dev": true, "dependencies": { - "@inquirer/core": "^8.2.3", - "@inquirer/type": "^1.3.3" + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0" }, "engines": { "node": ">=18" } }, "node_modules/@inquirer/core": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.3.tgz", - "integrity": "sha512-WrpDVPAaxJQjHid3Ra4FhUO70YBzkHSYVyW5X48L5zHYdudoPISJqTRRWSeamHfaXda7PNNaC5Py5MEo7QwBNA==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", "dev": true, "dependencies": { "@inquirer/figures": "^1.0.3", - "@inquirer/type": "^1.3.3", + "@inquirer/type": "^1.4.0", "@types/mute-stream": "^0.0.4", - "@types/node": "^20.14.6", + "@types/node": "^20.14.9", "@types/wrap-ansi": "^3.0.0", "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", "cli-spinners": "^2.9.2", "cli-width": "^4.1.0", "mute-stream": "^1.0.0", "signal-exit": "^4.1.0", "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" @@ -3429,37 +3431,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@inquirer/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@inquirer/core/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/@inquirer/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@inquirer/core/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -3507,18 +3484,6 @@ "node": ">=8" } }, - "node_modules/@inquirer/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@inquirer/core/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -3543,10 +3508,13 @@ } }, "node_modules/@inquirer/type": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.3.3.tgz", - "integrity": "sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.4.0.tgz", + "integrity": "sha512-AjOqykVyjdJQvtfkNDGUyMYGF8xN50VUxftCQWsOyIo4DFRLr6VQhW0VItGI1JIyQGCGgIpKa7hMMwNhZb4OIw==", "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, "engines": { "node": ">=18" } @@ -3555,6 +3523,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -4043,9 +4012,9 @@ } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "dependencies": { "@babel/core": "^7.23.9", @@ -4671,6 +4640,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, "optional": true, "engines": { "node": ">=14" @@ -5051,9 +5021,9 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.5.tgz", - "integrity": "sha512-aeFA/s5NCG7NoJe/MhmwREJxRkDs0ZaSqt0MxhWUrwCf1UQXpwR87RROJEql0uAkLI6U7snBOYOcKw83ew3FPg==", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.6.tgz", + "integrity": "sha512-kH0r495c5z1t0g796eDQAkYbEQ3a1OLYN9o8jQQVZyKyw367pfRGS+qZLkHYvFHiUUdafpoSlQ2QYObIApjPWA==", "dependencies": { "immer": "^10.0.3", "redux": "^5.0.1", @@ -5074,9 +5044,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.0.tgz", - "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz", + "integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==", "engines": { "node": ">=14.0.0" } @@ -5124,12 +5094,12 @@ } }, "node_modules/@storybook/addon-actions": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.1.10.tgz", - "integrity": "sha512-1MjncuynvkT3rJtrkWPHLo92Pfno+LUWtaHiNDt9nXYowclTN2cT4a4gNDh6eKkB9dITHxkD7/4mxjHpFUvyrA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.1.11.tgz", + "integrity": "sha512-jqYXgBgOVInStOCk//AA+dGkrfN8R7rDXA4lyu82zM59kvICtG9iqgmkSRDn0Z3zUkM+lIHZGoz0aLVQ8pxsgw==", "dev": true, "dependencies": { - "@storybook/core-events": "8.1.10", + "@storybook/core-events": "8.1.11", "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", "dequal": "^2.0.2", @@ -5142,9 +5112,9 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.1.10.tgz", - "integrity": "sha512-nX9Hmcq5U/13S2ETcjGaLqfDcaSKTNPD3RBzWUoNQuZB/bB1q4qLLncQnQfaa6uruP9k6GIFZvtXeJAs9r0POw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.1.11.tgz", + "integrity": "sha512-naGf1ovmsU2pSWb270yRO1IidnO+0YCZ5Tcb8I4rPhZ0vsdXNURYKS1LPSk1OZkvaUXdeB4Im9HhHfUBJOW9oQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -5157,12 +5127,12 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.1.10.tgz", - "integrity": "sha512-98uLezKv6W/1byJL+Zri5kA1Cfi+DUBsbdjz7fFJl8xMtAGwuv9cnOueQl0ouDhqqwnZ4LWHYQsSsPPMz1Lmkg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.1.11.tgz", + "integrity": "sha512-q/Vt4meNVlFlBWIMCJhx6r+bqiiYocCta2RoUK5nyIZUiLzHncKHX6JnCU36EmJzRyah9zkwjfCb2G1r9cjnoQ==", "dev": true, "dependencies": { - "@storybook/blocks": "8.1.10", + "@storybook/blocks": "8.1.11", "dequal": "^2.0.2", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" @@ -5173,24 +5143,24 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.1.10.tgz", - "integrity": "sha512-jzmIeCoykiHg/KLPrYEDtXO/+dcQaEOqyJHS77eTzAO2iSXJlE+yva5Uwc8apG7UxDVa4Ycc1lPwMzB5GaHsGQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.1.11.tgz", + "integrity": "sha512-69dv+CE4R5wFU7xnJmhuyEbLN2PEVDV3N/BbgJqeucIYPmm6zDV83Q66teCHKYtRln3BFUqPH5mxsjiHobxfJQ==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/components": "8.1.10", - "@storybook/csf-plugin": "8.1.10", - "@storybook/csf-tools": "8.1.10", + "@storybook/blocks": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/components": "8.1.11", + "@storybook/csf-plugin": "8.1.11", + "@storybook/csf-tools": "8.1.11", "@storybook/global": "^5.0.0", - "@storybook/node-logger": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@storybook/react-dom-shim": "8.1.10", - "@storybook/theming": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/node-logger": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@storybook/react-dom-shim": "8.1.11", + "@storybook/theming": "8.1.11", + "@storybook/types": "8.1.11", "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "fs-extra": "^11.1.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -5205,24 +5175,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.1.10.tgz", - "integrity": "sha512-xgAXdl/MaKWmwqJJpw4z1YaD1V/r74VHHLqY3Z4YaU9DmlApkCa+FmZSS9QVAf7g6JNUcD1Dbtw5j62uNn+YyA==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "8.1.10", - "@storybook/addon-backgrounds": "8.1.10", - "@storybook/addon-controls": "8.1.10", - "@storybook/addon-docs": "8.1.10", - "@storybook/addon-highlight": "8.1.10", - "@storybook/addon-measure": "8.1.10", - "@storybook/addon-outline": "8.1.10", - "@storybook/addon-toolbars": "8.1.10", - "@storybook/addon-viewport": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/manager-api": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/preview-api": "8.1.10", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.1.11.tgz", + "integrity": "sha512-uRTpcIZQnflML8H+2onicUNIIssKfuviW8Lyrs/KFwSZ1rMcYzhwzCNbGlIbAv04tgHe5NqEyNhb+DVQcZQBzg==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "8.1.11", + "@storybook/addon-backgrounds": "8.1.11", + "@storybook/addon-controls": "8.1.11", + "@storybook/addon-docs": "8.1.11", + "@storybook/addon-highlight": "8.1.11", + "@storybook/addon-measure": "8.1.11", + "@storybook/addon-outline": "8.1.11", + "@storybook/addon-toolbars": "8.1.11", + "@storybook/addon-viewport": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/manager-api": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/preview-api": "8.1.11", "ts-dedent": "^2.0.0" }, "funding": { @@ -5231,9 +5201,9 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.1.10.tgz", - "integrity": "sha512-s9QKGtU6WGB/+CggNWg940NIi+u0tcxpPxqg/ltg3EOHr8J0NAZur6mibs3Z4Q5CXkAuNdWrvopLu+/27i1rQQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.1.11.tgz", + "integrity": "sha512-Iu8FCAd4ETsB6QF4xDE/OLLZY3HOFopuLM5KE0f58jnccF5zAVGr1Rj/54p6TeK0PEou0tLRPFuZs+LPlEzrSw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5244,15 +5214,15 @@ } }, "node_modules/@storybook/addon-interactions": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.1.10.tgz", - "integrity": "sha512-GGU66TxYv6Bis10mmlgMhLOyai1am1amKVvX7ML8XYfsi6lA9zCnfQSVXulYLfjfzyIR6Ld8Kxe5awvjucPxSw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.1.11.tgz", + "integrity": "sha512-nkc01z61mYM1kxf0ncBQLlFnnwW4RAVPfRSxK9BdbFN3AAvFiHCwVZdn71mi+C3L8oTqYR6o32e0RlXk+AjhHA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.1.10", - "@storybook/test": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/instrumenter": "8.1.11", + "@storybook/test": "8.1.11", + "@storybook/types": "8.1.11", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -5262,9 +5232,9 @@ } }, "node_modules/@storybook/addon-links": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.1.10.tgz", - "integrity": "sha512-SxCuK7k7A0/qIPzV68u25qfye3Fb0PkC1izlRbt7u64wIUIxGzgfjM3dFRWK2VaJzCsEQWSmIdv7YHi7Wv5y3w==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.1.11.tgz", + "integrity": "sha512-HlV2RQSrZyi+55W1B1a9eWNuJdNpWx0g3j7s2arNlNmbd6/kfWAp84axBstI1tL0nW4svut7bWlCsMSOIden+A==", "dev": true, "dependencies": { "@storybook/csf": "^0.1.7", @@ -5285,9 +5255,9 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.1.10.tgz", - "integrity": "sha512-akhdg3WBOBvDsolzSSvW4TIdZLMVlL9DS6rpZvhydXeX8pG0sjb+sON6VUL4h8Gs7qa8QumauXCr+Y4q1FhZhw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.1.11.tgz", + "integrity": "sha512-LkQD3SiLWaWt53aLB3EnmhD9Im8EOO+HKSUE+XGnIJRUcHHRqHfvDkN9KX7T1DCWbfRE5WzMHF5o23b3UiAANw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -5299,9 +5269,9 @@ } }, "node_modules/@storybook/addon-onboarding": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-8.1.10.tgz", - "integrity": "sha512-DVIt2YaBFY7JT4OwjP7+2paz6a1juqDuGwTjS2XIbH00Yo58l+DYuWZgFx4x3J7v0Bw/CdXwHcgfKXbsSvBf2Q==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-8.1.11.tgz", + "integrity": "sha512-oU9Tfnu3PlF71SC0chcDJs/i1MnpfQlB8GTN3TrlMzHXTwKJGz8XTdk2DQ0DB+YPo44Mhg2EavBXeBw6W2EF2g==", "dev": true, "dependencies": { "react-confetti": "^6.1.0" @@ -5312,9 +5282,9 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.1.10.tgz", - "integrity": "sha512-Edn5TWpV1DcumOjx0qG9bBKja6vz210ip7O47JbRDu7IDR8lguaM2X9xbmhXhBQq4fmqvobZmfRnrSeCtSYeyQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.1.11.tgz", + "integrity": "sha512-vco3RLVjkcS25dNtj1lxmjq4fC0Nq08KNLMS5cbNPVJWNTuSUi/2EthSTQQCdpfMV/p6u+D5uF20A9Pl0xJFXw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -5326,9 +5296,9 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.1.10.tgz", - "integrity": "sha512-5bRcCWrhaTX5Y91EWmHilPZ7kZaneaY414Gn5a6gsaNgaVPkSx9KD9j8M9DyXJ4yQNs265TiPWQqWrPB3Q2VgA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.1.11.tgz", + "integrity": "sha512-reIKB0+JTiP+GNzynlDcRf4xmv9+j/DQ94qiXl2ZG5+ufKilH8DiRZpVA/i0x+4+TxdGdOJr1/pOf8tAmhNEoQ==", "dev": true, "funding": { "type": "opencollective", @@ -5336,9 +5306,9 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.1.10.tgz", - "integrity": "sha512-rJpyAwTVQa+6yqjdMDeqNKoW5aPoSzBAtMywtNMP5lHwF6NpJUvm67c/ox0//d5dPPPjlJDz2QC2COWqjviQyw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.1.11.tgz", + "integrity": "sha512-qk4IcGnAgiAUQxt8l5PIQ293Za+w6wxlJQIpxr7+QM8OVkADPzXY0MmQfYWU9EQplrxAC2MSx3/C1gZeq+MDOQ==", "dev": true, "dependencies": { "memoizerific": "^1.11.3" @@ -5349,23 +5319,23 @@ } }, "node_modules/@storybook/blocks": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.1.10.tgz", - "integrity": "sha512-8ZGgLIUBdSafcyaKR5Zs0CFisFCPoxZBVt3GMUCZtN+G17YhEg4+OnZs5aMZknfnh28BUnZS2STjWTGStAE5Rw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.1.11.tgz", + "integrity": "sha512-eMed7PpL/hAVM6tBS7h70bEAyzbiSU9I/kye4jZ7DkCbAsrX6OKmC7pcHSDn712WTcf3vVqxy5jOKUmOXpc0eg==", "dev": true, "dependencies": { - "@storybook/channels": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/components": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/channels": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/components": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/csf": "^0.1.7", - "@storybook/docs-tools": "8.1.10", + "@storybook/docs-tools": "8.1.11", "@storybook/global": "^5.0.0", "@storybook/icons": "^1.2.5", - "@storybook/manager-api": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@storybook/theming": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/manager-api": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@storybook/theming": "8.1.11", + "@storybook/types": "8.1.11", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -5397,15 +5367,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.1.10.tgz", - "integrity": "sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.1.11.tgz", + "integrity": "sha512-U7bmed4Ayg+OlJ8HPmLeGxLTHzDY7rxmxM4aAs4YL01fufYfBcjkIP9kFhJm+GJOvGm+YJEUAPe5mbM1P/bn0Q==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "8.1.10", - "@storybook/manager": "8.1.10", - "@storybook/node-logger": "8.1.10", + "@storybook/core-common": "8.1.11", + "@storybook/manager": "8.1.11", + "@storybook/node-logger": "8.1.11", "@types/ejs": "^3.1.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", "browser-assert": "^1.2.1", @@ -5423,19 +5393,19 @@ } }, "node_modules/@storybook/builder-webpack5": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.1.10.tgz", - "integrity": "sha512-Ume7NN9s7JYAKkVsbw1rDE/T40E4TnUpVvE0wPtSlAwcVh3IJ62MdbLyOmULhVTliKtKlQpxTTAedXtFCLUxiw==", - "dev": true, - "dependencies": { - "@storybook/channels": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/core-events": "8.1.10", - "@storybook/core-webpack": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/preview": "8.1.10", - "@storybook/preview-api": "8.1.10", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.1.11.tgz", + "integrity": "sha512-3/aKmnZu+mHj5LB4VyvzrlHzn2iVjH5y8EUPtFYOkjc2KBkPpF39jBHecfDVCWeO/6kgvAI41t7LLnYB6DZqhw==", + "dev": true, + "dependencies": { + "@storybook/channels": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/core-events": "8.1.11", + "@storybook/core-webpack": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/preview": "8.1.11", + "@storybook/preview-api": "8.1.11", "@types/node": "^18.0.0", "@types/semver": "^7.3.4", "browser-assert": "^1.2.1", @@ -5495,13 +5465,13 @@ } }, "node_modules/@storybook/channels": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.1.10.tgz", - "integrity": "sha512-CxZE4XrQoe+F+S2mo8Z9HTvFZKfKHIIiwYfoXKCryVp2U/z7ZKrely2PbfxWsrQvF3H0+oegfYYhYRHRiM21Zw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.1.11.tgz", + "integrity": "sha512-fu5FTqo6duOqtJFa6gFzKbiSLJoia+8Tibn3xFfB6BeifWrH81hc+AZq0lTmHo5qax2G5t8ZN8JooHjMw6k2RA==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/client-logger": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/global": "^5.0.0", "telejson": "^7.2.0", "tiny-invariant": "^1.3.1" @@ -5512,22 +5482,22 @@ } }, "node_modules/@storybook/cli": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.1.10.tgz", - "integrity": "sha512-7Fm2Qgk33sHayZ0QABqwe1Jto4yyVRVW6kTrSeP5IuLh+mn244RgxBvWtGCyL1EcWDFI7PYUFa0HxgTCq7C+OA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.1.11.tgz", + "integrity": "sha512-4U48w9C7mVEKrykcPcfHwJkRyCqJ28XipbElACbjIIkQEqaHaOVtP3GeKIrgkoOXe/HK3O4zKWRP2SqlVS0r4A==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@babel/types": "^7.24.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/core-events": "8.1.10", - "@storybook/core-server": "8.1.10", - "@storybook/csf-tools": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/telemetry": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/codemod": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/core-events": "8.1.11", + "@storybook/core-server": "8.1.11", + "@storybook/csf-tools": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/telemetry": "8.1.11", + "@storybook/types": "8.1.11", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -5604,9 +5574,9 @@ } }, "node_modules/@storybook/cli/node_modules/globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", @@ -5681,9 +5651,9 @@ } }, "node_modules/@storybook/client-logger": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.1.10.tgz", - "integrity": "sha512-sVXCOo7jnlCgRPOcMlQGODAEt6ipPj+8xGkRUws0kie77qiDld1drLSB6R380dWc9lUrbv9E1GpxCd/Y4ZzSJQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.1.11.tgz", + "integrity": "sha512-DVMh2usz3yYmlqCLCiCKy5fT8/UR9aTh+gSqwyNFkGZrIM4otC5A8eMXajXifzotQLT5SaOEnM3WzHwmpvMIEA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5694,18 +5664,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.1.10.tgz", - "integrity": "sha512-HZ/vrseP/sHfbO2RZpImP5eeqOakJ0X31BIiD4uxDBIKGltMXhlPKHTI93O2YGR+vbB33otoTVRjE+ZpPmC6SA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.1.11.tgz", + "integrity": "sha512-/LCozjH1IQ1TOs9UQV59BE0X6UZ9q+C0NEUz7qmJZPrwAii3FkW4l7D/fwxblpMExaoxv0oE8NQfUz49U/5Ymg==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", "@babel/types": "^7.24.0", "@storybook/csf": "^0.1.7", - "@storybook/csf-tools": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/csf-tools": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/types": "8.1.11", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^14.0.1", @@ -5721,9 +5691,9 @@ } }, "node_modules/@storybook/codemod/node_modules/globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", @@ -5765,19 +5735,19 @@ } }, "node_modules/@storybook/components": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.1.10.tgz", - "integrity": "sha512-fL2odC3Ct3NiFJEiGLmMNB3Tw3CdUDA/+va3Ka/JEhjaRhbsND2JgriHYmED8SnX9CCqwXoxl5QA8qwl+Oyolw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.1.11.tgz", + "integrity": "sha512-iXKsNu7VmrLBtjMfPj7S4yJ6T13GU6joKcVcrcw8wfrQJGlPFp4YaURPBUEDxvCt1XWi5JkaqJBvb48kIrROEQ==", "dev": true, "dependencies": { "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-slot": "^1.0.2", - "@storybook/client-logger": "8.1.10", + "@storybook/client-logger": "8.1.11", "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", "@storybook/icons": "^1.2.5", - "@storybook/theming": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/theming": "8.1.11", + "@storybook/types": "8.1.11", "memoizerific": "^1.11.3", "util-deprecate": "^1.0.2" }, @@ -5791,15 +5761,15 @@ } }, "node_modules/@storybook/core-common": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.1.10.tgz", - "integrity": "sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.1.11.tgz", + "integrity": "sha512-Ix0nplD4I4DrV2t9B+62jaw1baKES9UbR/Jz9LVKFF9nsua3ON0aVe73dOjMxFWBngpzBYWe+zYBTZ7aQtDH4Q==", "dev": true, "dependencies": { - "@storybook/core-events": "8.1.10", - "@storybook/csf-tools": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/core-events": "8.1.11", + "@storybook/csf-tools": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/types": "8.1.11", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", @@ -5904,9 +5874,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.1.10.tgz", - "integrity": "sha512-aS4zsBVyJds74+rAW0IfTEjULDCQwXecVpQfv11B8/89/07s3bOPssGGoTtCTaN4pHbduywE6MxbmFvTmXOFCA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.1.11.tgz", + "integrity": "sha512-vXaNe2KEW9BGlLrg0lzmf5cJ0xt+suPjWmEODH5JqBbrdZ67X6ApA2nb6WcxDQhykesWCuFN5gp1l+JuDOBi7A==", "dev": true, "dependencies": { "@storybook/csf": "^0.1.7", @@ -5918,29 +5888,29 @@ } }, "node_modules/@storybook/core-server": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.1.10.tgz", - "integrity": "sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.1.11.tgz", + "integrity": "sha512-L6dzQTmR0np/kagNONvvlm6lSvF1FNc9js3vxsEEPnEypLbhx8bDZaHmuhmBpYUzKyUMpRVQTE/WgjHLuBBuxA==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "8.1.10", - "@storybook/channels": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/builder-manager": "8.1.11", + "@storybook/channels": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/csf": "^0.1.7", - "@storybook/csf-tools": "8.1.10", + "@storybook/csf-tools": "8.1.11", "@storybook/docs-mdx": "3.1.0-next.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "8.1.10", - "@storybook/manager-api": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@storybook/telemetry": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/manager": "8.1.11", + "@storybook/manager-api": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@storybook/telemetry": "8.1.11", + "@storybook/types": "8.1.11", "@types/detect-port": "^1.3.0", "@types/diff": "^5.0.9", "@types/node": "^18.0.0", @@ -6015,9 +5985,9 @@ } }, "node_modules/@storybook/core-server/node_modules/globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", @@ -6092,14 +6062,14 @@ } }, "node_modules/@storybook/core-webpack": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.1.10.tgz", - "integrity": "sha512-5CPiGtOyomHYFlH7nhjZtWLQ+EVMf2dG8vsqBfjSVddfspgEA8wKj4Oqal1Juj8Uop2ZdyzlcrFwOgXuwqxgCA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.1.11.tgz", + "integrity": "sha512-UQY+t0BDb408OuxW6jQN1ghXcejZlFNgprgvuKlhY3MSv1XwmjrxBDwnLDat4QfBJHFbjdn4eR7pSBzrfE6tKA==", "dev": true, "dependencies": { - "@storybook/core-common": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/core-common": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/types": "8.1.11", "@types/node": "^18.0.0", "ts-dedent": "^2.0.0" }, @@ -6118,21 +6088,21 @@ } }, "node_modules/@storybook/csf": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.9.tgz", - "integrity": "sha512-JlZ6v/iFn+iKohKGpYXnMeNeTiiAMeFoDhYnPLIC8GnyyIWqEI9wJYrOK9i9rxlJ8NZAH/ojGC/u/xVC41qSgQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", + "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==", "dev": true, "dependencies": { "type-fest": "^2.19.0" } }, "node_modules/@storybook/csf-plugin": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.1.10.tgz", - "integrity": "sha512-EwW9Olw85nKamUH/2YrkD+bxDvDP4TJ2MqS1qR3UU+lBP/HMQA2zFAgiW1TUmmdHmhAeiDOXbDhijxMa30sppQ==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.1.11.tgz", + "integrity": "sha512-hkA8gjFtSN/tabG0cuvmEqanMXtxPr3qTkp4UNSt1R6jBEgFHRG2y/KYLl367kDwOSFTT987ZgRfJJruU66Fvw==", "dev": true, "dependencies": { - "@storybook/csf-tools": "8.1.10", + "@storybook/csf-tools": "8.1.11", "unplugin": "^1.3.1" }, "funding": { @@ -6141,9 +6111,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.1.10.tgz", - "integrity": "sha512-bm/J1jAJf1YaKhcXgOlsNN02sf8XvILXuVAvr9cFC3aFkxVoGbC2AKCss4cgXAd8EQxUNtyETkOcheB5mJ5IlA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.1.11.tgz", + "integrity": "sha512-6qMWAg/dBwCVIHzANM9lSHoirwqSS+wWmv+NwAs0t9S94M75IttHYxD3IyzwaSYCC5llp0EQFvtXXAuSfFbibg==", "dev": true, "dependencies": { "@babel/generator": "^7.24.4", @@ -6151,7 +6121,7 @@ "@babel/traverse": "^7.24.1", "@babel/types": "^7.24.0", "@storybook/csf": "^0.1.7", - "@storybook/types": "8.1.10", + "@storybook/types": "8.1.11", "fs-extra": "^11.1.0", "recast": "^0.23.5", "ts-dedent": "^2.0.0" @@ -6168,15 +6138,15 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.1.10.tgz", - "integrity": "sha512-FsO/+L9CrUfAIbm9cdH9UpjTusT7L5RZxN4WCXkiF5SpAVyBoY8kar3RzTZVoh4aQxt1yGWYC+SZGjgf++xa4g==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.1.11.tgz", + "integrity": "sha512-mEXtR9rS7Y+OdKtT/QG6JBGYR1L41mcDhIqhnk7RmYl9qJstVAegrCKWR53sPKFdTVOHU7dmu6k+BD+TqHpyyw==", "dev": true, "dependencies": { - "@storybook/core-common": "8.1.10", - "@storybook/core-events": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/core-common": "8.1.11", + "@storybook/core-events": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@storybook/types": "8.1.11", "@types/doctrine": "^0.0.3", "assert": "^2.1.0", "doctrine": "^3.0.0", @@ -6207,16 +6177,16 @@ } }, "node_modules/@storybook/instrumenter": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.1.10.tgz", - "integrity": "sha512-/TZ3JpTCorbhThCfaR5k4Vs0Svp6xz6t+FVaim/v7N9VErEfmtn+d76CqYLfvmo68DzkEzvArOFBdh2MXtscsw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.1.11.tgz", + "integrity": "sha512-r/U9hcqnodNMHuzRt1g56mWrVsDazR85Djz64M3KOwBhrTj5d46DF4/EE80w/5zR5JOrT7p8WmjJRowiVteOCQ==", "dev": true, "dependencies": { - "@storybook/channels": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/channels": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "8.1.10", + "@storybook/preview-api": "8.1.11", "@vitest/utils": "^1.3.1", "util": "^0.12.4" }, @@ -6226,9 +6196,9 @@ } }, "node_modules/@storybook/manager": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.1.10.tgz", - "integrity": "sha512-dQmRBfT4CABIPhv0kL25qKcQk2SiU5mIZ1DuVzckIbZW+iYEOAusyJ/0HExM9leCrymaW3BgZGlHbIXL7EvZtw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.1.11.tgz", + "integrity": "sha512-e02y9dmxowo7cTKYm9am7UO6NOHoHy6Xi7xZf/UA932qLwFZUtk5pnwIEFaZWI3OQsRUCGhP+FL5zizU7uVZeg==", "dev": true, "funding": { "type": "opencollective", @@ -6236,20 +6206,20 @@ } }, "node_modules/@storybook/manager-api": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.1.10.tgz", - "integrity": "sha512-9aZ+zoNrTo1BJskVmCKE/yqlBXmWaKVZh1W/+/xu3WL9wdm/tBlozRvQwegIZlRVvUOxtjOg28Vd2hySYL58zg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.1.11.tgz", + "integrity": "sha512-QSgwKfAw01K9YvvZj30iGBMgQ4YaCT3vojmttuqdH5ukyXkiO7pENLJj4Y+alwUeSi0g+SJeadCI3PXySBHOGg==", "dev": true, "dependencies": { - "@storybook/channels": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/channels": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", "@storybook/icons": "^1.2.5", - "@storybook/router": "8.1.10", - "@storybook/theming": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/router": "8.1.11", + "@storybook/theming": "8.1.11", + "@storybook/types": "8.1.11", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6263,9 +6233,9 @@ } }, "node_modules/@storybook/nextjs": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/nextjs/-/nextjs-8.1.10.tgz", - "integrity": "sha512-0crOEEXjicj5QRAknH1k3mrnmx+2yUVNmXHwMKb8Jkh4bBb9W+dYsMpTUmiTcL2p5zA0y8UMmM8lb5xF34eqdw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/nextjs/-/nextjs-8.1.11.tgz", + "integrity": "sha512-pY83TdMn/TdIPFBV9k6H3Gn1wMQW9rJ3flWVBJcgAt346bJB8fEgHIGJ8XHMlQe2Zyg5B+Is0TsSrIs9VT/bCg==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", @@ -6282,15 +6252,15 @@ "@babel/preset-typescript": "^7.24.1", "@babel/runtime": "^7.24.4", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@storybook/builder-webpack5": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/core-events": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/preset-react-webpack": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@storybook/react": "8.1.10", - "@storybook/test": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/builder-webpack5": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/core-events": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/preset-react-webpack": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@storybook/react": "8.1.11", + "@storybook/test": "8.1.11", + "@storybook/types": "8.1.11", "@types/node": "^18.0.0", "@types/semver": "^7.3.4", "babel-loader": "^9.1.3", @@ -6360,9 +6330,9 @@ } }, "node_modules/@storybook/node-logger": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.1.10.tgz", - "integrity": "sha512-djgbAROgGAvz/gr49egBxCHn1+rui57e76qa9aOMPzEBcxsGrnnKKp0uNdiNt4M7Xv6S2QHbJ2SfOlHhWmMeaA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.1.11.tgz", + "integrity": "sha512-wdzFo7B2naGhS52L3n1qBkt5BfvQjs8uax6B741yKRpiGgeAN8nz8+qelkD25MbSukxvbPgDot7WJvsMU/iCzg==", "dev": true, "funding": { "type": "opencollective", @@ -6370,15 +6340,15 @@ } }, "node_modules/@storybook/preset-react-webpack": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.1.10.tgz", - "integrity": "sha512-nnTU9UuFL7zfrNnsXrxiArxU3ZoVfYfHrRzmfPBgM9lDSZI7k0RCxoU3zlhWuQRGnYpXPtakDNBBT88FU/l5+g==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.1.11.tgz", + "integrity": "sha512-2a+1TyztCOlwZAcfBUinzjTpaqsWNrco9Vfq5ueJTmNl/EwtN33sxoAu2bBaUkka8MvPZl5a1VP1b5e2GXHFEQ==", "dev": true, "dependencies": { - "@storybook/core-webpack": "8.1.10", - "@storybook/docs-tools": "8.1.10", - "@storybook/node-logger": "8.1.10", - "@storybook/react": "8.1.10", + "@storybook/core-webpack": "8.1.11", + "@storybook/docs-tools": "8.1.11", + "@storybook/node-logger": "8.1.11", + "@storybook/react": "8.1.11", "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", "@types/node": "^18.0.0", "@types/semver": "^7.3.4", @@ -6430,9 +6400,9 @@ } }, "node_modules/@storybook/preview": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.1.10.tgz", - "integrity": "sha512-Ch7SJQ8/vm4o7ZPwPeL3nGOCKx1Aul7VcvOVkDs+K2lZusJjUROHVTBYlbs71DTTmCo2gS7WhSq+HOpD59BPDg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.1.11.tgz", + "integrity": "sha512-K/9NZmjnL0D1BROkTNWNoPqgL2UaocALRSqCARmkBLgU2Rn/FuZgEclHkWlYo6pUrmLNK+bZ+XzpNMu12iTbpg==", "dev": true, "funding": { "type": "opencollective", @@ -6440,17 +6410,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.1.10.tgz", - "integrity": "sha512-0Gl8WHDtp/srrA5uBYXl7YbC8kFQA7IxVmwWN7dIS7HAXu63JZ6JfxaFcfy+kCBfZSBD7spFG4J0f5JXRDYbpg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.1.11.tgz", + "integrity": "sha512-8ZChmFV56GKppCJ0hnBd/kNTfGn2gWVq1242kuet13pbJtBpvOhyq4W01e/Yo14tAPXvgz8dSnMvWLbJx4QfhQ==", "dev": true, "dependencies": { - "@storybook/channels": "8.1.10", - "@storybook/client-logger": "8.1.10", - "@storybook/core-events": "8.1.10", + "@storybook/channels": "8.1.11", + "@storybook/client-logger": "8.1.11", + "@storybook/core-events": "8.1.11", "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", - "@storybook/types": "8.1.10", + "@storybook/types": "8.1.11", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6466,17 +6436,17 @@ } }, "node_modules/@storybook/react": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.1.10.tgz", - "integrity": "sha512-y0ycq19tTLLk+4rB+nfCPCtoFBWC0QvmMaJY32dbAjWPk+UNFGhWdqjg0oP1NwXYL18WnhRzlyz1Rojw0aXk1w==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.1.11.tgz", + "integrity": "sha512-t+EYXOkgwg3ropLGS9y8gGvX5/Okffu/6JYL3YWksrBGAZSqVV4NkxCnVJZepS717SyhR0tN741gv/SxxFPJMg==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.1.10", - "@storybook/docs-tools": "8.1.10", + "@storybook/client-logger": "8.1.11", + "@storybook/docs-tools": "8.1.11", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "8.1.10", - "@storybook/react-dom-shim": "8.1.10", - "@storybook/types": "8.1.10", + "@storybook/preview-api": "8.1.11", + "@storybook/react-dom-shim": "8.1.11", + "@storybook/types": "8.1.11", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^18.0.0", @@ -6537,9 +6507,9 @@ "dev": true }, "node_modules/@storybook/react-dom-shim": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.1.10.tgz", - "integrity": "sha512-+HS75Pq8jb3xkVq0hK33D84aGfbJCURRB+GN2vfTMmmjguQt7z2+MnGqRgrUCt6h2rxU3VdPg9OBnYi/UC0Zrg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.1.11.tgz", + "integrity": "sha512-KVDSuipqkFjpGfldoRM5xR/N1/RNmbr+sVXqMmelr0zV2jGnexEZnoa7wRHk7IuXuivLWe8BxMxzvQWqjIa4GA==", "dev": true, "funding": { "type": "opencollective", @@ -6572,12 +6542,12 @@ } }, "node_modules/@storybook/router": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.1.10.tgz", - "integrity": "sha512-JDEgZ0vVDx0GLz+dKD+R1xqWwjqsCdA2F+s3/si7upHqkFRWU5ocextZ63oKsRnCoaeUh6OavAU4EdkrKiQtQw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.1.11.tgz", + "integrity": "sha512-nU5lsBvy0L8wBYOkjagh29ztZicDATpZNYrHuavlhQ2jznmmHdJvXKYk+VrMAbthjQ6ZBqfeeMNPR1UlnqR5Rw==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.1.10", + "@storybook/client-logger": "8.1.11", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6587,14 +6557,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.1.10.tgz", - "integrity": "sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.1.11.tgz", + "integrity": "sha512-Jqvm7HcZismKzPuebhyLECO6KjGiSk4ycbca1WUM/TUvifxCXqgoUPlHHQEEfaRdHS63/MSqtMNjLsQRLC/vNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.1.10", - "@storybook/core-common": "8.1.10", - "@storybook/csf-tools": "8.1.10", + "@storybook/client-logger": "8.1.11", + "@storybook/core-common": "8.1.11", + "@storybook/csf-tools": "8.1.11", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -6659,20 +6629,20 @@ } }, "node_modules/@storybook/test": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.1.10.tgz", - "integrity": "sha512-uskw/xb/GkGLRTEKPao/5xUKxjP1X3DnDpE52xDF46ZmTvM+gPQbkex97qdG6Mfv37/0lhVhufAsV3g5+CrYKQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "8.1.10", - "@storybook/core-events": "8.1.10", - "@storybook/instrumenter": "8.1.10", - "@storybook/preview-api": "8.1.10", - "@testing-library/dom": "^9.3.4", - "@testing-library/jest-dom": "^6.4.2", - "@testing-library/user-event": "^14.5.2", - "@vitest/expect": "1.3.1", - "@vitest/spy": "^1.3.1", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.1.11.tgz", + "integrity": "sha512-k+V3HemF2/I8fkRxRqM8uH8ULrpBSAAdBOtWSHWLvHguVcb2YA4g4kKo6tXBB9256QfyDW4ZiaAj0/9TMxmJPQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "8.1.11", + "@storybook/core-events": "8.1.11", + "@storybook/instrumenter": "8.1.11", + "@storybook/preview-api": "8.1.11", + "@testing-library/dom": "10.1.0", + "@testing-library/jest-dom": "6.4.5", + "@testing-library/user-event": "14.5.2", + "@vitest/expect": "1.6.0", + "@vitest/spy": "1.6.0", "util": "^0.12.4" }, "funding": { @@ -6681,24 +6651,88 @@ } }, "node_modules/@storybook/test/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.1.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.1.0.tgz", + "integrity": "sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==", "dev": 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/@storybook/test/node_modules/@testing-library/jest-dom": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.5.tgz", + "integrity": "sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.3.2", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@jest/globals": ">= 28", + "@types/bun": "latest", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "@types/bun": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } } }, + "node_modules/@storybook/test/node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/test/node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true + }, "node_modules/@storybook/test/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -6714,15 +6748,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/test/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==", - "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, "node_modules/@storybook/test/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -6761,13 +6786,13 @@ } }, "node_modules/@storybook/theming": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.1.10.tgz", - "integrity": "sha512-W7mth4hwdTqWLneqYCyUnIEiDg4vSokoad8HEodPz6JC9XUPUX3Yi2W4W3xFvqrW4Z5RXfuJ53iG2HN+0AgaQw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.1.11.tgz", + "integrity": "sha512-Chn/opjO6Rl1isNobutYqAH2PjKNkj09YBw/8noomk6gElSa3JbUTyaG/+JCHA6OG/9kUsqoKDb5cZmAKNq/jA==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@storybook/client-logger": "8.1.10", + "@storybook/client-logger": "8.1.11", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6789,12 +6814,12 @@ } }, "node_modules/@storybook/types": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.1.10.tgz", - "integrity": "sha512-UJ97iqI+0Mk13I6ayd3TaBfSFBkWnEauwTnFMQe1dN/L3wTh8laOBaLa0Vr3utRSnt2b5hpcw/nq7azB/Gx4Yw==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.1.11.tgz", + "integrity": "sha512-k9N5iRuY2+t7lVRL6xeu6diNsxO3YI3lS4Juv3RZ2K4QsE/b3yG5ElfJB8DjHDSHwRH4ORyrU71KkOCUVfvtnw==", "dev": true, "dependencies": { - "@storybook/channels": "8.1.10", + "@storybook/channels": "8.1.11", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" }, @@ -6823,18 +6848,19 @@ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/@tanstack/query-core": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.48.0.tgz", - "integrity": "sha512-lZAfPPeVIqXCswE9SSbG33B6/91XOWt/Iq41bFeWb/mnHwQSIfFRbkS4bfs+WhIk9abRArF9Id2fp0Mgo+hq6Q==", + "version": "5.49.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.49.1.tgz", + "integrity": "sha512-JnC9ndmD1KKS01Rt/ovRUB1tmwO7zkyXAyIxN9mznuJrcNtOrkmOnQqdJF2ib9oHzc2VxHomnEG7xyfo54Npkw==", + "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/query-devtools": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.47.0.tgz", - "integrity": "sha512-oo10s7Nqaf/Q3QF4vuSwS0xw7zuYr5nXef4RHQIXVJKvRQeo9WowPLAnB0SF/voB0c4GTX6Vq8wfQ1G72ezEdw==", + "version": "5.49.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.49.1.tgz", + "integrity": "sha512-9mBtuq76fp+OE780ImoNG109bM7lucZ9MLPLzAkQ2OMx+X6s3BfVATySTxm1Mrtui3qJIFo05ZI4zv9A44+GAg==", "dev": true, "funding": { "type": "github", @@ -6842,11 +6868,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.48.0.tgz", - "integrity": "sha512-GDExbjYWzvDokyRqMSWXdrPiYpp95Aig0oeMIrxTaruOJJgWiWfUP//OAaowm2RrRkGVsavSZdko/XmIrrV2Nw==", + "version": "5.49.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.49.2.tgz", + "integrity": "sha512-6rfwXDK9BvmHISbNFuGd+wY3P44lyW7lWiA9vIFGT/T0P9aHD1VkjTvcM4SDAIbAQ9ygEZZoLt7dlU1o3NjMVA==", + "dev": true, "dependencies": { - "@tanstack/query-core": "5.48.0" + "@tanstack/query-core": "5.49.1" }, "funding": { "type": "github", @@ -6857,28 +6884,29 @@ } }, "node_modules/@tanstack/react-query-devtools": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.48.0.tgz", - "integrity": "sha512-0xvk8KDvEfQuLz3dy9jqtP0f6iR724d57Br7KtrtClbyqB53cy3Iy6BiTsiHaSsYnex/+cxWJZIX1UJWeV8Amw==", + "version": "5.49.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.49.2.tgz", + "integrity": "sha512-ARQ8GXaTcwXyXIv215sfFqT9s87Jj8vP8jAc9LlC28M+4RbexfBRvm+cra3Cn/xlXJrUEjijf+vUf1Ju9F1XJQ==", "dev": true, "dependencies": { - "@tanstack/query-devtools": "5.47.0" + "@tanstack/query-devtools": "5.49.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.48.0", + "@tanstack/react-query": "^5.49.2", "react": "^18 || ^19" } }, "node_modules/@tanstack/react-table": { - "version": "8.17.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.17.3.tgz", - "integrity": "sha512-5gwg5SvPD3lNAXPuJJz1fOCEZYk9/GeBFH3w/hCgnfyszOIzwkwgp5I7Q4MJtn0WECp84b5STQUDdmvGi8m3nA==", + "version": "8.19.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.19.2.tgz", + "integrity": "sha512-itoSIAkA/Vsg+bjY23FSemcTyPhc5/1YjYyaMsr9QSH/cdbZnQxHVWrpWn0Sp2BWN71qkzR7e5ye8WuMmwyOjg==", + "dev": true, "dependencies": { - "@tanstack/table-core": "8.17.3" + "@tanstack/table-core": "8.19.2" }, "engines": { "node": ">=12" @@ -6893,9 +6921,10 @@ } }, "node_modules/@tanstack/table-core": { - "version": "8.17.3", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.17.3.tgz", - "integrity": "sha512-mPBodDGVL+fl6d90wUREepHa/7lhsghg2A3vFpakEhrhtbIlgNAZiMr7ccTgak5qbHqF14Fwy+W1yFWQt+WmYQ==", + "version": "8.19.2", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.19.2.tgz", + "integrity": "sha512-KpRjhgehIhbfH78ARm/GJDXGnpdw4bCg3qas6yjWSi7czJhI/J6pWln7NHtmBkGE9ZbohiiNtLqwGzKmBfixig==", + "dev": true, "engines": { "node": ">=12" }, @@ -6905,9 +6934,9 @@ } }, "node_modules/@testing-library/dom": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.2.0.tgz", - "integrity": "sha512-CytIvb6tVOADRngTHGWNxH8LPgO/3hi/BdCEHOf7Qd2GvZVClhVP0Wo/QHzWhpki49Bk0b4VT6xpt3fx8HTSIw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.3.0.tgz", + "integrity": "sha512-pT/TYB2+IyMYkkB6lqpkzD7VFbsR0JBJtflK3cS68sCNWxmOhWwRm1XvVHlseNEorsNcxkYsb4sRDV3aNIpttg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.10.4", @@ -7444,9 +7473,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==" + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.6.tgz", + "integrity": "sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==" }, "node_modules/@types/mdx": { "version": "2.0.13", @@ -7690,16 +7719,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz", - "integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz", + "integrity": "sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/type-utils": "7.14.1", - "@typescript-eslint/utils": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/type-utils": "7.15.0", + "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -7723,15 +7752,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz", - "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.15.0.tgz", + "integrity": "sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4" }, "engines": { @@ -7751,13 +7780,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz", - "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", + "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1" + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -7768,13 +7797,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz", - "integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz", + "integrity": "sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/utils": "7.14.1", + "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/utils": "7.15.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -7795,9 +7824,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", - "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", + "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -7808,13 +7837,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", - "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", + "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/visitor-keys": "7.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -7848,15 +7877,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz", - "integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz", + "integrity": "sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1" + "@typescript-eslint/scope-manager": "7.15.0", + "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/typescript-estree": "7.15.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -7870,12 +7899,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz", - "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", + "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/types": "7.15.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -7893,78 +7922,19 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", - "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "dependencies": { - "@vitest/spy": "1.3.1", - "@vitest/utils": "1.3.1", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", "chai": "^4.3.10" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/expect/node_modules/@vitest/spy": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", - "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", - "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/@vitest/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", - "dev": true, - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@vitest/expect/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@vitest/expect/node_modules/react-is": { - "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==", - "dev": true - }, "node_modules/@vitest/spy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", @@ -8283,9 +8253,9 @@ } }, "node_modules/acorn-globals/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -8491,6 +8461,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -8499,6 +8470,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -8510,6 +8482,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -8517,7 +8490,8 @@ "node_modules/ansi-styles/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/any-promise": { "version": "1.3.0", @@ -9090,9 +9064,9 @@ } }, "node_modules/babel-loader/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, "engines": { "node": ">=12.20" @@ -9406,6 +9380,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -9744,9 +9719,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001637", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001637.tgz", - "integrity": "sha512-1x0qRI1mD1o9e+7mBI7XtzFAP4XszbHaVWsMiGbSPLYekKTJF7K+FNk6AsXH4sUpc+qrsI3pVgf1Jdl/uGkuSQ==", + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "funding": [ { "type": "opencollective", @@ -9793,6 +9768,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -9863,6 +9839,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, "engines": { "node": ">=10" } @@ -9903,6 +9880,7 @@ "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, "funding": [ { "type": "github", @@ -10070,9 +10048,9 @@ "dev": true }, "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { "emoji-regex": "^10.3.0", @@ -10264,6 +10242,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -10274,7 +10253,8 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/color-string": { "version": "1.9.1", @@ -10390,6 +10370,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true + }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -10642,6 +10628,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -11435,7 +11422,8 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/ee-first": { "version": "1.1.1", @@ -11459,9 +11447,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.812", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.812.tgz", - "integrity": "sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg==", + "version": "1.4.816", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", "dev": true }, "node_modules/elliptic": { @@ -11500,7 +11488,8 @@ "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -11862,6 +11851,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { "node": ">=0.8.0" } @@ -13038,9 +13028,9 @@ } }, "node_modules/espree/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -13599,9 +13589,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.238.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.238.2.tgz", - "integrity": "sha512-fs7FSnzzKF6oSzjk14JlBHt82DPchYHVsXtPi4Fkn+qrunVjWaBZY7nSO/mC9X4l9+wRah/R69DRd5NGDOrWqw==", + "version": "0.239.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.239.0.tgz", + "integrity": "sha512-U5dgOsS6cg4FGNzzTD/zHRDM4bliL6laUgD0LUCSMzI2zEfKMnRV2/wgDv8nKmO2Z1R8ri5pE1YoldmrSV7FOw==", "dev": true, "engines": { "node": ">=0.4.0" @@ -13638,6 +13628,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -13653,6 +13644,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { "node": ">=14" }, @@ -13861,6 +13853,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -13872,6 +13865,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -13882,7 +13876,8 @@ "node_modules/fs-minipass/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/fs-monkey": { "version": "1.0.6", @@ -14095,6 +14090,7 @@ "version": "10.4.2", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -14286,6 +14282,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { "node": ">=4" } @@ -14439,7 +14436,8 @@ "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", @@ -14841,6 +14839,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { "node": ">=0.8.19" } @@ -15047,6 +15046,7 @@ "version": "2.14.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "dev": true, "dependencies": { "hasown": "^2.0.2" }, @@ -15451,7 +15451,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -15602,6 +15603,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -17619,9 +17621,9 @@ } }, "node_modules/jsdom/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -17651,7 +17653,8 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -18050,9 +18053,9 @@ "dev": true }, "node_modules/listr2/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { "emoji-regex": "^10.3.0", @@ -18293,9 +18296,9 @@ } }, "node_modules/log-update/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { "emoji-regex": "^10.3.0", @@ -18637,6 +18640,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -18659,6 +18663,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -18667,6 +18672,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -18679,6 +18685,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -18689,12 +18696,14 @@ "node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -18708,10 +18717,35 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/mlly/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/msw": { "version": "2.3.1", @@ -18815,9 +18849,9 @@ } }, "node_modules/msw/node_modules/type-fest": { - "version": "4.20.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz", - "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.21.0.tgz", + "integrity": "sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==", "dev": true, "engines": { "node": ">=16" @@ -19127,6 +19161,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -19138,6 +19173,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -22826,16 +22862,17 @@ "dev": true }, "node_modules/nypm": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", - "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.9.tgz", + "integrity": "sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==", "dev": true, "dependencies": { "citty": "^0.1.6", "consola": "^3.2.3", "execa": "^8.0.1", "pathe": "^1.1.2", - "ufo": "^1.4.0" + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" }, "bin": { "nypm": "dist/cli.mjs" @@ -23389,7 +23426,8 @@ "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==" + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true }, "node_modules/pako": { "version": "1.0.11", @@ -23524,6 +23562,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, "engines": { "node": ">=8" } @@ -23531,12 +23570,14 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -23549,9 +23590,10 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", + "dev": true, "engines": { "node": "14 || >=16.14" } @@ -23672,6 +23714,17 @@ "node": ">=10" } }, + "node_modules/pkg-types": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", + "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "dev": true, + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, "node_modules/pnp-webpack-plugin": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", @@ -23705,9 +23758,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.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "funding": [ { @@ -23725,7 +23778,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -24229,9 +24282,9 @@ ] }, "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.2.tgz", + "integrity": "sha512-x+NLUpx9SYrcwXtX7ob1gnkSems4i/mGZX5SlYxwIau6RrUSODO89TR/XDGGpn5RPWSYIB+aSfuSlV5+CmbTBg==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -24446,9 +24499,9 @@ "dev": true }, "node_modules/react-hook-form": { - "version": "7.52.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.52.0.tgz", - "integrity": "sha512-mJX506Xc6mirzLsmXUJyqlAI3Kj9Ph2RhplYhUVffeOQSnubK2uVqBFOBJmvKikvbFV91pxVXmDiR+QMF19x6A==", + "version": "7.52.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.52.1.tgz", + "integrity": "sha512-uNKIhaoICJ5KQALYZ4TOaOLElyM+xipord+Ha3crEFhTntdLvWZqVY49Wqd/0GiVCA/f9NjemLeiNPjG7Hpurg==", "engines": { "node": ">=12.22.0" }, @@ -24619,11 +24672,11 @@ "dev": true }, "node_modules/react-router": { - "version": "6.24.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz", - "integrity": "sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz", + "integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==", "dependencies": { - "@remix-run/router": "1.17.0" + "@remix-run/router": "1.17.1" }, "engines": { "node": ">=14.0.0" @@ -24633,12 +24686,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.24.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.0.tgz", - "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz", + "integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==", "dependencies": { - "@remix-run/router": "1.17.0", - "react-router": "6.24.0" + "@remix-run/router": "1.17.1", + "react-router": "6.24.1" }, "engines": { "node": ">=14.0.0" @@ -25188,6 +25241,7 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -25589,6 +25643,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, "bin": { "semver": "bin/semver.js" } @@ -25787,6 +25842,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -25798,6 +25854,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "engines": { "node": ">=8" } @@ -25822,7 +25879,8 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/simple-swizzle": { "version": "0.2.2", @@ -25942,6 +26000,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -25950,12 +26009,14 @@ "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -25964,7 +26025,8 @@ "node_modules/spdx-license-ids": { "version": "3.0.18", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -26027,12 +26089,12 @@ "dev": true }, "node_modules/storybook": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.1.10.tgz", - "integrity": "sha512-HHlZibyc/QkcQj8aEnYnYwEl+ItNZ/uRbCdkvJzu/vIWYon5jUg30mHFIGZprgLSt27CxOs30Et8yT9z4VhwjA==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.1.11.tgz", + "integrity": "sha512-3KjIhF8lczXhKKHyHbOqV30dvuRYJSxc0d1as/C8kybuwE7cLaydhWGma7VBv5bTSPv0rDzucx7KcO+achArPg==", "dev": true, "dependencies": { - "@storybook/cli": "8.1.10" + "@storybook/cli": "8.1.11" }, "bin": { "sb": "index.js", @@ -26164,6 +26226,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -26181,6 +26244,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -26193,12 +26257,14 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -26207,6 +26273,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -26321,6 +26388,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -26336,6 +26404,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -26347,6 +26416,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, "engines": { "node": ">=12" }, @@ -26472,6 +26542,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -26483,6 +26554,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -26491,9 +26563,9 @@ } }, "node_modules/sweetalert2": { - "version": "11.6.13", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.6.13.tgz", - "integrity": "sha512-n5yVF0FNx1lm4XzpPyb1HIaiptzODfVyeCzmB809tpK+1bPdoKoevKOxYjrtId75DV7xuIp4r6cjn8xUAB8dPQ==", + "version": "11.12.1", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.12.1.tgz", + "integrity": "sha512-xV3/YI7Ah6BeP+bXKcrHy1yn6duh8eqlX2TSI9I/rTIzGLYQvnnTa3mOIo5RHUobAjSmacC2IhPApxjvppZaEQ==", "funding": { "type": "individual", "url": "https://github.com/sponsors/limonte" @@ -26582,6 +26654,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -26646,6 +26719,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -26653,7 +26727,8 @@ "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/telejson": { "version": "7.2.0", @@ -26880,9 +26955,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -27010,7 +27085,8 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/thenify": { "version": "3.3.1", @@ -27314,9 +27390,9 @@ } }, "node_modules/ts-node/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -27603,9 +27679,9 @@ } }, "node_modules/typescript": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", - "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -27791,9 +27867,9 @@ } }, "node_modules/unplugin": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz", - "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.11.0.tgz", + "integrity": "sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==", "dev": true, "dependencies": { "acorn": "^8.11.3", @@ -27806,9 +27882,9 @@ } }, "node_modules/unplugin/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -27833,9 +27909,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -28031,6 +28107,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -28223,9 +28300,9 @@ "dev": true }, "node_modules/webpack/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -28333,6 +28410,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -28439,6 +28517,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -28456,6 +28535,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -28472,6 +28552,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -28485,12 +28566,14 @@ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -28499,6 +28582,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -28512,6 +28596,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -28523,6 +28608,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, "engines": { "node": ">=12" }, @@ -28539,6 +28625,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -28548,9 +28635,9 @@ } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -28705,6 +28792,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "3.23.8", "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", diff --git a/package.json b/package.json index e5dacb0..23e339b 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,8 @@ "@storybook/nextjs": "^8.1.3", "@storybook/react": "^8.1.3", "@storybook/test": "^8.1.3", + "@tanstack/react-query": "^5.40.1", + "@tanstack/react-table": "^8.17.3", "@tanstack/react-query-devtools": "^5.44.0", "@testing-library/dom": "^10.1.0", "@testing-library/jest-dom": "^6.4.6", diff --git a/src/__tests__/productList.test.tsx b/src/__tests__/productList.test.tsx index b710431..532a3a0 100644 --- a/src/__tests__/productList.test.tsx +++ b/src/__tests__/productList.test.tsx @@ -5,7 +5,7 @@ import { QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-quer import SideBar from "@/components/Side" import Provider from '@/app/providers'; import Page from '@/app/products/page'; - +jest.setTimeout(15000) const queryClient = new QueryClient(); const ProductListTest = () => { const { data } = useQuery({ diff --git a/src/__tests__/wiishlistOverlayHook.tsx b/src/__tests__/wiishlistOverlayHook.tsx new file mode 100644 index 0000000..1096866 --- /dev/null +++ b/src/__tests__/wiishlistOverlayHook.tsx @@ -0,0 +1,30 @@ +// WishlistOverlay.test.js + +import { renderHook, act } from '@testing-library/react'; +import useWishlistOverlay from '@/hooks/wishlistOverlay'; + +describe('useWishlistOverlay', () => { + it('should initialize with isOpen as false', () => { + const { result } = renderHook(() => useWishlistOverlay()); + + expect(result.current.isWishlistOverlayOpen).toBe(false); + }); + + it('should toggle isOpen when toggleWishlistSlider is called', () => { + const { result } = renderHook(() => useWishlistOverlay()); + + expect(result.current.isWishlistOverlayOpen).toBe(false); + + act(() => { + result.current.toggleWishlistSlider(); + }); + + expect(result.current.isWishlistOverlayOpen).toBe(true); + + act(() => { + result.current.toggleWishlistSlider(); + }); + + expect(result.current.isWishlistOverlayOpen).toBe(false); + }); +}); diff --git a/src/app/products/[id]/page.tsx b/src/app/products/[id]/page.tsx index 954fe44..0929397 100644 --- a/src/app/products/[id]/page.tsx +++ b/src/app/products/[id]/page.tsx @@ -1,214 +1,18 @@ // BuyerProductView 'use client'; -import React, { useState } from 'react'; -import { Swiper, SwiperSlide } from 'swiper/react'; -import 'swiper/css'; -import 'swiper/css/free-mode'; -import 'swiper/css/navigation'; -import 'swiper/css/thumbs'; -import { FreeMode, Navigation, Thumbs } from 'swiper/modules'; -import Image from 'next/image'; //@ts-ignore -import ReactStars from 'react-rating-stars-component'; -import { MdOutlineShoppingCart } from 'react-icons/md'; -import { FaRegHeart } from 'react-icons/fa6'; -import { useParams } from 'next/navigation'; -import { Product } from '@/utils/requests'; -import { - ProductObj, - ProductType, - ReviewType, - imageType, -} from '@/types/Product'; -import Card from '@/components/Card'; + import Header from '@/components/Header'; import Footer from '@/components/Footer'; -import image from '../../../../public/product.png'; -import { useQuery } from '@tanstack/react-query'; -import ReviewCard from '@/components/ReviewCard'; -import Button from '@/components/Button'; -import { averageReviews } from '@/utils/averageReviews'; -import { useAppDispatch } from '@/redux/store'; -import { handleUserAddCart } from '@/redux/slices/userCartSlice'; - -function Page() { - const [thumbsSwiper, setThumbsSwiper] = useState(null); - const { id } :any= useParams(); - const handleSwiper = (swiper: any) => { - setThumbsSwiper(swiper); - }; - const _id: string = id.toLocaleString(); - const { data, isLoading, error } = useQuery({ - queryKey: ['product', id], - queryFn: async () => { - try { - const response: ProductType = (await Product.single( - _id, - )) as ProductType; +import ProductWrapper from '@/components/productWrapper'; - return response; - } catch (error) { - throw new Error('Error fetching product data'); - } - }, - }); - if (isLoading) return Loading...; - if (error) return Error: {error.message}; - - const { - productPictures, - productName, - productPrice, - productDescription, - reviews, - } = data.product; - console.log('this is reviews >>>>>>>>>', reviews); - console.log(' this is average reviews', productPictures); - const { relatedProducts } = data; - const dispatch = useAppDispatch(); - const handleNewItem = () => { - const productId = data.product.id; - dispatch(handleUserAddCart({ productPrice, productId })); - }; +function Page() { + return (
-
-
-
-
-
- {productPictures && productPictures.length > 0 ? ( - - {productPictures.map((image: imageType) => { - return ( - - image - - ); - })} - - ) : ( - {'no - )} -
-
- {productPictures && productPictures.length > 0 ? ( -
- - {productPictures.map((image: imageType) => { - return ( - - image - - ); - })} - -
- ) : ( -

no image found!

- )} -
-
-
-
-

{productName}

-
-
-
-
- -
-
- { - handleNewItem(); - }} - /> -
-
- - RWF {productPrice} - -
-
- -
-
-

Description:

-

{productDescription}

-
-
-
-
-

Related products:

-
-
- {relatedProducts && relatedProducts.length > 0 ? ( - relatedProducts.map((product: ProductType) => ( - - )) - ) : ( -

- No related products available. -

- )} -
-
-
-
-
-

Reviews:

- -
-
- {reviews && reviews.length > 0 ? ( - reviews.map((review: ReviewType) => ( - - )) - ) : ( -

No ratings yet.

- )} -
-
-
-
+
); diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 899b49b..feef769 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -1,7 +1,8 @@ 'use client'; import React from 'react'; import { IoChevronBack } from 'react-icons/io5'; -import { IoMdClose } from "react-icons/io"; +import { MdClose } from "react-icons/md"; + interface Properties { name?: string; handle?: () => void; @@ -44,8 +45,8 @@ export const BackButton: React.FC = ({ handle, isDisabled, rotate }) export const CloseButton: React.FC = ({ handle, isDisabled, rotate }) => { return ( <> - ) diff --git a/src/components/BuyerOrdersList.tsx b/src/components/BuyerOrdersList.tsx index 72f2368..f925779 100644 --- a/src/components/BuyerOrdersList.tsx +++ b/src/components/BuyerOrdersList.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react'; import ReviewProduct from './ReviewProductPopup'; import { useQuery } from "@tanstack/react-query"; -import requestAxios from '@/utils/axios'; +import request from '@/utils/axios'; import { ColumnDef, flexRender, @@ -37,7 +37,7 @@ const BuyerOrdersList = () => { const [orderId, setOrderId] = useState(null); const { isLoading, refetch, error, data } = useQuery({ queryKey: ['BuyerOrdersList'], - queryFn: () => requestAxios.get('/orders'), + queryFn: () => request.get('/orders'), }); console.log("----------------------------------------------------------------------",data) const [pagination, setPagination] = useState({ diff --git a/src/components/BuyerWishlist.tsx b/src/components/BuyerWishlist.tsx new file mode 100644 index 0000000..3cbdee3 --- /dev/null +++ b/src/components/BuyerWishlist.tsx @@ -0,0 +1,171 @@ +"use client" +import React, { useState } from 'react'; +import ReviewProduct from './ReviewProductPopup'; +import { useMutation, useQuery } from "@tanstack/react-query"; +import request from '@/utils/axios'; +import { + ColumnDef, + flexRender, + getCoreRowModel, + getPaginationRowModel, + useReactTable, +} from '@tanstack/react-table' +import { BackButton, DeleteButton, ReviewButton } from './Button'; +import { BsTrash } from "react-icons/bs"; +import DeleteWishlistPopup from './DeleteWishlistPopup'; +import { showToast } from '@/helpers/toast'; + +type ordersTable = { + No: number; + id: string; + product:{ + productName: string; + productThumbnail: string; + stockLevel: string; + productPrice: number; + productCurrency:string; + } +} +type PaginationState = { + pageIndex: number + pageSize: number +} +const BuyerWishList = () => { + const [isDeleteWishlistModalOpen, setIsDeleteWishlistModalOpen] = useState(false); + const [productId, setProductId] = useState(''); + const [deleting, setDeleting] = useState(''); + + const { isLoading, refetch, error, data } = useQuery({ + queryKey: ['BuyerWishList'], + queryFn: () => request.get('/wishes') + }); + + const [pagination, setPagination] = useState({ + pageIndex: 0, + pageSize: 7 + }) + var wishesData = data?.wishes ?? []; + console.log('this is wishes from the database', wishesData) + const columns: ColumnDef[] = [ + + { + header: 'Image', + accessorFn: row => row.product.productThumbnail, + cell: (val: any) => + <> + + + }, + { + header: 'Product Name', + accessorFn: row => row.product.productName, + cell: (val: any) => {val.getValue()} + }, + { + header: 'Price', + accessorFn: row => row.product.productPrice, + cell: (row: any) => <> + {row.row.original.product.productPrice} {row.row.original.product.productCurrency} + + }, + { + id: 'Action', + header: () =>
Action
, + accessorFn: row => row.id, + cell: (row: any) => ( +
+ handleOpenWishlistPopup(row.row.original.product.id, 'product')}/> +
+ ) + }, + ] + const table = useReactTable({ + data: wishesData, + columns, + getPaginationRowModel: getPaginationRowModel(), + onPaginationChange: setPagination, + getCoreRowModel: getCoreRowModel(), + state: { + pagination + } + }) + const handleOpenWishlistPopup = (productId: string, deleting:string) => { + setProductId(productId); + setIsDeleteWishlistModalOpen(true); + setDeleting(deleting); + }; + + const handleClosePopup = () => { + setIsDeleteWishlistModalOpen(false); + setProductId(null); + }; + + const mutation = useMutation({ + mutationFn: () => { + return request.delete('/wishes') + }, + onError: (error) => console.log(error), + onSuccess: async () => { + showToast('successfully cleared your wish list','success') + await refetch(); + handleClosePopup(); + + }, + }); + + const handleClearAll =() => { + mutation.mutate(); + }; + return ( + <> +
+ Wishlist +
+ <> +
+ + + {table.getHeaderGroups().map(headerGroup => + ( + { + headerGroup.headers.map(header => + + ) + } + + ))} + + + {table.getRowModel().rows.map(row => ( + + {row.getVisibleCells().map(cell => ( + + ))} + + ))} + +
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext() + )} +
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+
+
+ handleOpenWishlistPopup(productId, 'wishlist')}/> +
+ +
+
+ {isDeleteWishlistModalOpen && + + } + + ); +}; + +export default BuyerWishList; diff --git a/src/components/DeleteWishlistPopup.tsx b/src/components/DeleteWishlistPopup.tsx new file mode 100644 index 0000000..f34bc86 --- /dev/null +++ b/src/components/DeleteWishlistPopup.tsx @@ -0,0 +1,58 @@ +import React, { useEffect, useRef } from 'react'; +import { Button, CloseButton } from './Button'; +import request from '@/utils/axios'; +import { useMutation, RefetchOptions, QueryObserverResult } from "@tanstack/react-query"; +import { showToast } from '@/helpers/toast'; + +interface DeleteWishlistInterface { + isOpen: boolean, + id: string | null; + handleClose: () => void + refetch: (options?: RefetchOptions | undefined) => Promise>; + deleting:string; + handleClearWishlist:()=>void; +} + +const DeleteWishlistPopup: React.FC = ({ id, isOpen, handleClose, refetch, deleting, handleClearWishlist}) => { + + const dialogRef = useRef(null); + useEffect(() => { + if (isOpen && dialogRef.current) { + dialogRef.current.showModal(); + } else if (dialogRef.current) { + dialogRef.current.close(); + } + }, [isOpen]); + + const mutation = useMutation({ + mutationFn: () => { + return request.post('/wishes', {productId:id} ) + }, + onError: (error) => console.log(error), + onSuccess: async () => { + showToast('successfully updated your wish list','success') + await refetch(); + handleClose(); + + }, + }) + + const handleDeletion = async () => { + mutation.mutate(); + }; + const action = deleting == 'product'? handleDeletion : handleClearWishlist; + return ( + e.stopPropagation()} className='z-50 bg-white backdrop-filter backdrop-brightness-75 rounded shadow-lg w-[80%] py-6 px-4 sm:w-[30%] mx-auto'> + +
+

Delete Wished Prroduct

+
+ Are you sure you want to {deleting == 'product' ? 'remove this product from your wish list?' : 'clear your wish list?!'} +
+
+
+ ); +}; + +export default DeleteWishlistPopup; diff --git a/src/components/Header.tsx b/src/components/Header.tsx index dc83588..a4f7355 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -15,10 +15,16 @@ import { RootState } from '@/redux/store'; import { useAppSelector } from '../redux/store'; import { handleFetchUserCart } from '@/hooks/userCart'; import Logout from '@/hooks/logout'; +import WishlistOverlay from '@/hooks/wishlistOverlay'; +import WishlistContainer from './wishlistContainer'; +import WishlistCounter from '@/hooks/wishlist'; const Header = () => { const { isOrdersOverlayOpen, toggleOrdersSlider } = OrdersOverlay(); + const { isWishlistOverlayOpen, toggleWishlistSlider } = WishlistOverlay(); + const { wishlistCount, setWishlistCount, updateWishlistCount } = WishlistCounter(); const [showlModal, setShowmodal] = useState(false); + const [wishLength, setWishLength] = useState(wishlistCount); const { allProduct, cart } = useAppSelector( (state: RootState) => state.userCartData, ); @@ -38,8 +44,14 @@ const Header = () => { const userData = JSON.parse(user as string); setUserdata(userData); + setWishLength(wishlistCount) + }, []); + useEffect(()=>{ + setWishLength(wishlistCount) + },[wishlistCount]); + const handleMenuToggle = () => { setViewmenu((prevState) => !prevState); }; @@ -56,29 +68,26 @@ const Header = () => { {'logo'}
- {userdata && userdata.User.Role.name === 'buyer' && ( - setShowmodal(!showlModal)} - > - - {cart?.product.length} - - - - )} - {userdata ? ( - <> - - - - - ) : ( - '' - )} + setShowmodal(!showlModal)} + > + + {cart?.product.length} + + + + + + {wishLength} + + + + +
{viewMenu && (
@@ -204,6 +213,14 @@ const Header = () => { ) : ( '' )} + {isWishlistOverlayOpen ? ( + + ) : ( + '' + )}
{showlModal && ( diff --git a/src/components/OrdersContainer.tsx b/src/components/OrdersContainer.tsx index d420ee5..dec9cf2 100644 --- a/src/components/OrdersContainer.tsx +++ b/src/components/OrdersContainer.tsx @@ -1,6 +1,6 @@ import React from 'react'; import BuyerOrdersList from './BuyerOrdersList'; -import OrdersOverlay from '@/hooks/ordersOverlay'; + interface OrdersContainerInterface{ toggleOrdersSlider?:()=>void; isOrdersOverlayOpen?:boolean; diff --git a/src/components/productWrapper.tsx b/src/components/productWrapper.tsx new file mode 100644 index 0000000..4fe48da --- /dev/null +++ b/src/components/productWrapper.tsx @@ -0,0 +1,211 @@ +import React, { useState } from 'react'; +import image from '../../public/product.png'; +import { useQuery } from '@tanstack/react-query'; +import ReviewCard from '@/components/ReviewCard'; +import Button from '@/components/Button'; +import { averageReviews } from '@/utils/averageReviews'; +import { useAppDispatch } from '@/redux/store'; +import { handleUserAddCart } from '@/redux/slices/userCartSlice'; +import WishlistCounter from '@/hooks/wishlist'; +import { Swiper, SwiperSlide } from 'swiper/react'; +import 'swiper/css'; +import 'swiper/css/free-mode'; +import 'swiper/css/navigation'; +import 'swiper/css/thumbs'; +import { FreeMode, Navigation, Thumbs } from 'swiper/modules'; +import Image from 'next/image'; //@ts-ignore +import ReactStars from 'react-rating-stars-component'; +import { MdOutlineShoppingCart } from 'react-icons/md'; +import { FaRegHeart } from 'react-icons/fa6'; +import { useParams } from 'next/navigation'; +import { Product } from '@/utils/requests'; +import { + ProductObj, + ProductType, + ReviewType, + imageType, +} from '@/types/Product'; +import Card from '@/components/Card'; +const ProductWrapper = ()=>{ + const { wishlistCount, setWishlistCount, updateWishlistCount } = WishlistCounter(); + + const [thumbsSwiper, setThumbsSwiper] = useState(null); + + const { id } :any= useParams(); + const handleSwiper = (swiper: any) => { + setThumbsSwiper(swiper); + }; + const _id: string = id.toLocaleString(); + const { data, isLoading, error } = useQuery({ + queryKey: ['product', id], + queryFn: async () => { + try { + const response: ProductType = (await Product.single( + _id, + )) as ProductType; + + return response; + } catch (error) { + throw new Error('Error fetching product data'); + } + }, + }); + if (isLoading) return Loading...; + + if (error) return Error: {error.message}; + + const { + productPictures, + productName, + productPrice, + productDescription, + reviews, + } = data.product; + console.log('this is wishlistCount >>>>>>>>>', wishlistCount); + console.log(' this is average reviews', productPictures); + const { relatedProducts } = data; + const dispatch = useAppDispatch(); + const handleNewItem = () => { + const productId = data.product.id; + dispatch(handleUserAddCart({ productPrice, productId })); + }; + return( +
+
+
+
+
+ {productPictures && productPictures.length > 0 ? ( + + {productPictures.map((image: imageType) => { + return ( + + image + + ); + })} + + ) : ( + {'no + )} +
+
+ {productPictures && productPictures.length > 0 ? ( +
+ + {productPictures.map((image: imageType) => { + return ( + + image + + ); + })} + +
+ ) : ( +

no image found!

+ )} +
+
+
+
+

{productName}

+
+
+
+
+ updateWishlistCount(3)}/> +
+
+ { + handleNewItem(); + }} + /> +
+
+ + RWF {productPrice} + +
+
+ +
+
+

Description:

+

{productDescription}

+
+
+
+
+

Related products:

+
+
+ {relatedProducts && relatedProducts.length > 0 ? ( + relatedProducts.map((product: ProductType) => ( + + )) + ) : ( +

+ No related products available. +

+ )} +
+
+
+
+
+

Reviews:

+ +
+
+ {reviews && reviews.length > 0 ? ( + reviews.map((review: ReviewType) => ( + + )) + ) : ( +

No ratings yet.

+ )} +
+
+
+
+ ) +}; + +export default ProductWrapper \ No newline at end of file diff --git a/src/components/wishlistContainer.tsx b/src/components/wishlistContainer.tsx new file mode 100644 index 0000000..5c3406d --- /dev/null +++ b/src/components/wishlistContainer.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import BuyerWishList from './BuyerWishlist'; + +interface WishlistContainerInterface{ + toggleWishlistSlider?:()=>void; + isWishlistOverlayOpen?:boolean; +} +const WishlistContainer:React.FC = ({ isWishlistOverlayOpen, toggleWishlistSlider }) => { + return ( + <> +
+
+
+
+ + + +
+
+ +
+
+
+ + ); +}; +export default WishlistContainer; \ No newline at end of file diff --git a/src/hooks/wishlist.tsx b/src/hooks/wishlist.tsx new file mode 100644 index 0000000..4ef2693 --- /dev/null +++ b/src/hooks/wishlist.tsx @@ -0,0 +1,18 @@ + +import { useState } from 'react'; + +function WishlistCounter() { + const [wishlistCount, setWishlistCount] = useState(0) + const updateWishlistCount = (value:number) => { + setWishlistCount(value); + }; + + return{ + wishlistCount, + setWishlistCount, + updateWishlistCount + } +}; + +export default WishlistCounter; + \ No newline at end of file diff --git a/src/hooks/wishlistOverlay.tsx b/src/hooks/wishlistOverlay.tsx new file mode 100644 index 0000000..a38e9af --- /dev/null +++ b/src/hooks/wishlistOverlay.tsx @@ -0,0 +1,18 @@ + +import React, { useState } from 'react'; + +function WishlistOverlay() { + const [isWishlistOverlayOpen, setIsWishlistOverlayOpen] = useState(false) + const toggleWishlistSlider = () => { + setIsWishlistOverlayOpen(!isWishlistOverlayOpen); + }; + + return{ + isWishlistOverlayOpen, + setIsWishlistOverlayOpen, + toggleWishlistSlider + } +}; + +export default WishlistOverlay; + \ No newline at end of file