diff --git a/.gitignore b/.gitignore index ceaea36..4664cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,4 @@ dist .yarn/install-state.gz .pnp.* +.idea \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..14466c2 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,8 @@ +{ + "singleQuote": true, + "jsxSingleQuote": true, + "arrowParens": "always", + "max-len": ["error", 140, 2], + "tabWidth": 2, + "useTabs": false +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 739bc4c..9d1971e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,19 @@ "license": "ISC", "dependencies": { "@brojs/cli": "^1.3.0", + "@chakra-ui/icons": "^2.2.4", + "@chakra-ui/react": "^2.4.2", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", "express": "^4.21.1", + "framer-motion": "^6.2.8", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.27.0" + }, + "devDependencies": { + "@types/react-dom": "^18.3.1", + "prettier": "3.3.3" } }, "node_modules/@ampproject/remapping": { @@ -1710,6 +1719,1356 @@ "webpack-merge": "5.7.2" } }, + "node_modules/@chakra-ui/accordion": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.4.tgz", + "integrity": "sha512-PQFW6kr+Bdru0DjKA8akC4BAz1VAJisLgo4TsJwjPO2gTS0zr99C+3bBs9uoDnjSJAf18/Q5zdXv11adA8n2XA==", + "dependencies": { + "@chakra-ui/descendant": "3.0.11", + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/transition": "2.0.12" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/alert": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.0.13.tgz", + "integrity": "sha512-7LqPv6EUBte4XM/Q2qBFIT5o4BC0dSlni9BHOH2BgAc5B1NF+pBAMDTUH7JNBiN7RHTV7EHAIWDziiX/NK28+Q==", + "dependencies": { + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/spinner": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/anatomy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.0.tgz", + "integrity": "sha512-E3jMPGqKuGTbt7mKtc8g/MOOenw2c4wqRC1vOypyFgmC8wsewdY+DJJNENF3atXAK7p5VMBKQfZ7ipNlHnDAwA==" + }, + "node_modules/@chakra-ui/avatar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.1.tgz", + "integrity": "sha512-sgiogfLM8vas8QJTt7AJI4XxNXYdViCWj+xYJwyOwUN93dWKImqqx3O2ihCXoXTIqQWg1rcEgoJ5CxCg6rQaQQ==", + "dependencies": { + "@chakra-ui/image": "2.0.12", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breadcrumb": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.1.tgz", + "integrity": "sha512-OSa+F9qJ1xmF0zVxC1GU46OWbbhGf0kurHioSB729d+tRw/OMzmqrrfCJ7KVUUN8NEnTZXT5FIgokMvHGEt+Hg==", + "dependencies": { + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.5.tgz", + "integrity": "sha512-8uhrckMwoR/powlAhxiFZPM0s8vn0B2yEyEaRcwpy5NmRAJSTEotC2WkSyQl/Cjysx9scredumB5g+fBX7IqGQ==" + }, + "node_modules/@chakra-ui/button": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.13.tgz", + "integrity": "sha512-T9W/zHpHZVcbx/BMg0JIXCgRycut/eYoTYee/E+eBxyPCH45n308AsYU2bZ8TgZxUwbYNRgMp4qRL/KHUQDv5g==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/spinner": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/card": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.1.1.tgz", + "integrity": "sha512-vvmfuNn6gkfv6bGcXQe6kvWHspziPZgYnnffiEjPaZYtaf98WRszpjyPbFv0oQR/2H1RSE1oaTqa/J1rHrzw3A==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/checkbox": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.5.tgz", + "integrity": "sha512-7fNH+Q2nB2uMSnYAPtYxnuwZ1MOJqblZHa/ScfZ/fjiPDyEae1m068ZP/l9yJ5zlawYMTkp83m/JVcu5QFYurA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-callback-ref": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3", + "@chakra-ui/react-use-update-effect": "2.0.5", + "@chakra-ui/visually-hidden": "2.0.13", + "@zag-js/focus-visible": "0.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/clickable": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.11.tgz", + "integrity": "sha512-5Y2dl5cxNgOxHbjxyxsL6Vdze4wUUvwsMCCW3kXwgz2OUI2y5UsBZNcvhNJx3RchJEd0fylMKiKoKmnZMHN2aw==", + "dependencies": { + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/close-button": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.13.tgz", + "integrity": "sha512-ZI/3p84FPlW0xoDCZYqsnIvR6bTc2d/TlhwyTHsDDxq9ZOWp9c2JicVn6WTdWGdshk8itnZZdG50IcnizGnimA==", + "dependencies": { + "@chakra-ui/icon": "3.0.13" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/color-mode": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.10.tgz", + "integrity": "sha512-aUPouOUPn7IPm1v00/9AIkRuNrkCwJlbjVL1kJzLzxijYjbHvEHPxntITt+JWjtXPT8xdOq6mexLYCOGA67JwQ==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/control-box": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.11.tgz", + "integrity": "sha512-UJb4vqq+/FPuwTCuaPeHa2lwtk6u7eFvLuwDCST2e/sBWGJC1R+1/Il5pHccnWs09FWxyZ9v/Oxkg/CG3jZR4Q==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/counter": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.11.tgz", + "integrity": "sha512-1YRt/jom+m3iWw9J9trcM6rAHDvD4lwThiO9raxUK7BRsYUhnPZvsMpcXU1Moax218C4rRpbI9KfPLaig0m1xQ==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.5", + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/css-reset": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.0.10.tgz", + "integrity": "sha512-FwHOfw2P4ckbpSahDZef2KoxcvHPUg09jlicWdp24/MjdsOO5PAB/apm2UBvQflY4WAJyOqYaOdnXFlR6nF4cQ==", + "peerDependencies": { + "@emotion/react": ">=10.0.35", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/descendant": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.11.tgz", + "integrity": "sha512-sNLI6NS6uUgrvYS6Imhoc1YlI6bck6pfxMBJcnXVSfdIjD6XjCmeY2YgzrtDS+o+J8bB3YJeIAG/vsVy5USE5Q==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/dom-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.4.tgz", + "integrity": "sha512-P936+WKinz5fgHzfwiUQjE/t7NC8bU89Tceim4tbn8CIm/9b+CsHX64eNw4vyJqRwt78TXQK7aGBIbS18R0q5Q==" + }, + "node_modules/@chakra-ui/editable": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.16.tgz", + "integrity": "sha512-kIFPufzIlViNv7qi2PxxWWBvjLb+3IP5hUGmqOA9qcYz5TAdqblQqDClm0iajlIDNUFWnS4h056o8jKsQ42a5A==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-callback-ref": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3", + "@chakra-ui/react-use-update-effect": "2.0.5", + "@chakra-ui/shared-utils": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/event-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.6.tgz", + "integrity": "sha512-ZIoqUbgJ5TcCbZRchMv4n7rOl1JL04doMebED88LO5mux36iVP9er/nnOY4Oke1bANKKURMrQf5VTT9hoYeA7A==" + }, + "node_modules/@chakra-ui/focus-lock": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.13.tgz", + "integrity": "sha512-AVSJt+3Ukia/m9TCZZgyWvTY7pw88jArivWVJ2gySGYYIs6z/FJMnlwbCVldV2afS0g3cYaii7aARb/WrlG34Q==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.4", + "react-focus-lock": "^2.9.1" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/form-control": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.13.tgz", + "integrity": "sha512-J964JlgrxP+LP3kYmLk1ttbl73u6ghT+JQDjEjkEUc8lSS9Iv4u9XkRDQHuz2t2y0KHjQdH12PUfUfBqcITbYw==", + "dependencies": { + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/hooks": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.1.2.tgz", + "integrity": "sha512-/vDBOqqnho9q++lay0ZcvnH8VuE0wT2OkZj+qDwFwjiHAtGPVxHCSpu9KC8BIHME5TlWjyO6riVyUCb2e2ip6w==", + "dependencies": { + "@chakra-ui/react-utils": "2.0.9", + "@chakra-ui/utils": "2.0.12", + "compute-scroll-into-view": "1.0.14", + "copy-to-clipboard": "3.3.1" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icon": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.13.tgz", + "integrity": "sha512-RaDLC4psd8qyInY2RX4AlYRfpLBNw3VsMih17BFf8EESVhBXNJcYy7Q9eMV/K4NvZfZT42vuVqGVNFmkG89lBQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icons": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.2.4.tgz", + "integrity": "sha512-l5QdBgwrAg3Sc2BRqtNkJpfuLw/pWRDwwT58J6c4PqQT6wzXxyNa8Q0PForu1ltB5qEiFb1kxr/F/HO1EwNa6g==", + "peerDependencies": { + "@chakra-ui/react": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/image": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.12.tgz", + "integrity": "sha512-uclFhs0+wq2qujGu8Wk4eEWITA3iZZQTitGiFSEkO9Ws5VUH+Gqtn3mUilH0orubrI5srJsXAmjVTuVwge1KJQ==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/input": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.14.tgz", + "integrity": "sha512-CkSrUJeKWogOSt2pUf2vVv5s0bUVcAi4/XGj1JVCCfyIX6a6h1m8R69MShTPxPiQ0Mdebq5ATrW/aZQQXZzRGQ==", + "dependencies": { + "@chakra-ui/form-control": "2.0.13", + "@chakra-ui/object-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/shared-utils": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/layout": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.11.tgz", + "integrity": "sha512-UP19V8EeI/DEODbWrZlqC0sg248bpFaWpMiM/+g9Bsxs9aof3yexpMD/7gb0yrfbIrkdvSBrcQeqxXGzbfoopw==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.5", + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/object-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/shared-utils": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/lazy-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.3.tgz", + "integrity": "sha512-SQ5I5rJrcHpVUcEftHLOh8UyeY+06R8Gv3k2RjcpvM6mb2Gktlz/4xl2GcUh3LWydgGQDW/7Rse5rQhKWgzmcg==" + }, + "node_modules/@chakra-ui/live-region": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.11.tgz", + "integrity": "sha512-ltObaKQekP75GCCbN+vt1/mGABSCaRdQELmotHTBc5AioA3iyCDHH69ev+frzEwLvKFqo+RomAdAAgqBIMJ02Q==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/media-query": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.8.tgz", + "integrity": "sha512-djmEg/eJ5Qrjn7SArTqjsvlwF6mNeMuiawrTwnU+0EKq9Pq/wVSb7VaIhxdQYJLA/DbRhE/KPMogw1LNVKa4Rw==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.5", + "@chakra-ui/react-env": "2.0.11" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/menu": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.5.tgz", + "integrity": "sha512-2UusrQtxHcqcO9n/0YobNN3RJC8yAZU6oJbRPuvsQ9IL89scEWCTIxXEYrnIjeh/5zikcSEDGo9zM9Udg/XcsA==", + "dependencies": { + "@chakra-ui/clickable": "2.0.11", + "@chakra-ui/descendant": "3.0.11", + "@chakra-ui/lazy-utils": "2.0.3", + "@chakra-ui/popper": "3.0.10", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-animation-state": "2.0.6", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-disclosure": "2.0.6", + "@chakra-ui/react-use-focus-effect": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-outside-click": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.5", + "@chakra-ui/transition": "2.0.12" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/modal": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.4.tgz", + "integrity": "sha512-K2cafyNI0b4OSAB55qIXt5DLZqj7E1G0+Fza02ZOBZpgTCNQyDtc0KzdVMJZ9ryxKd16LUk5UmKHugY/VpHEWQ==", + "dependencies": { + "@chakra-ui/close-button": "2.0.13", + "@chakra-ui/focus-lock": "2.0.13", + "@chakra-ui/portal": "2.0.11", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/transition": "2.0.12", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "^2.5.4" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/number-input": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.14.tgz", + "integrity": "sha512-IARUAbP4pn1gP5fY2dK4wtbR3ONjzHgTjH4Zj3ErZvdu/yTURLaZmlb6UGHwgqjWLyioactZ/+n4Njj5CRjs8w==", + "dependencies": { + "@chakra-ui/counter": "2.0.11", + "@chakra-ui/form-control": "2.0.13", + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-callback-ref": "2.0.5", + "@chakra-ui/react-use-event-listener": "2.0.5", + "@chakra-ui/react-use-interval": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3", + "@chakra-ui/react-use-update-effect": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/number-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.5.tgz", + "integrity": "sha512-Thhohnlqze0i5HBJO9xkfOPq1rv3ji/hNPf2xh1fh4hxrNzdm3HCkz0c6lyRQwGuVoeltEHysYZLH/uWLFTCSQ==" + }, + "node_modules/@chakra-ui/object-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.5.tgz", + "integrity": "sha512-/rIMoYI3c2uLtFIrnTFOPRAI8StUuu335WszqKM0KAW1lwG9H6uSbxqlpZT1Pxi/VQqZKfheGiMQOx5lfTmM/A==" + }, + "node_modules/@chakra-ui/pin-input": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.16.tgz", + "integrity": "sha512-51cioNYpBSgi9/jq6CrzoDvo8fpMwFXu3SaFRbKO47s9Dz/OAW0MpjyabTfSpwOv0xKZE+ayrYGJopCzZSWXPg==", + "dependencies": { + "@chakra-ui/descendant": "3.0.11", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popover": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.4.tgz", + "integrity": "sha512-NXVtyMxYzDKzzQph/+GFRSM3tEj3gNvlCX/xGRsCOt9I446zJ1InCd/boXQKAc813coEN9McSOjNWgo+NCBD+Q==", + "dependencies": { + "@chakra-ui/close-button": "2.0.13", + "@chakra-ui/lazy-utils": "2.0.3", + "@chakra-ui/popper": "3.0.10", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-animation-state": "2.0.6", + "@chakra-ui/react-use-disclosure": "2.0.6", + "@chakra-ui/react-use-focus-effect": "2.0.7", + "@chakra-ui/react-use-focus-on-pointer-down": "2.0.4", + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popper": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.10.tgz", + "integrity": "sha512-6LacbBGX0piHWY/DYxOGCTTFAoRGRHpGIRzTgfNy8jxw4f+rukaVudd4Pc2fwjCTdobJKM8nGNYIYNv9/Dmq9Q==", + "dependencies": { + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@popperjs/core": "^2.9.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/portal": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.11.tgz", + "integrity": "sha512-Css61i4WKzKO8ou1aGjBzcsXMy9LnfnpkOFfvaNCpUUNEd6c47z6+FhZNq7Gc38PGNjSfMLAd4LmH+H0ZanYIA==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/progress": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.1.1.tgz", + "integrity": "sha512-ddAXaYGNObGqH1stRAYxkdospf6J4CDOhB0uyw9BeHRSsYkCUQWkUBd/melJuZeGHEH2ItF9T7FZ4JhcepP3GA==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/provider": { + "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.0.24.tgz", + "integrity": "sha512-32+DGfoXAOUOXwjLstdGQ+k/YoCwdFxWbwnEAp7WleislYsMcl0JeINDAbvksQH0piBty77swTuWfUU5cIox7g==", + "dependencies": { + "@chakra-ui/css-reset": "2.0.10", + "@chakra-ui/portal": "2.0.11", + "@chakra-ui/react-env": "2.0.11", + "@chakra-ui/system": "2.3.4", + "@chakra-ui/utils": "2.0.12" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/radio": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.14.tgz", + "integrity": "sha512-e/hY1g92Xdu5d5A27NFfa1+ccE2q/A5H7sc/M7p0fId6KO33Dst25Hy+HThtqnYN0Y3Om58fiXEKo5SsdtvSfA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.13", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@zag-js/focus-visible": "0.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.4.2.tgz", + "integrity": "sha512-lPDCCuY3S7XSeIK+P+ypGIL+lFqEZQt8H3Iyq4coblULMsj8skdSUqaoQ4I9fGgOi1koTPe4OlXb+rmqwQQ9MQ==", + "dependencies": { + "@chakra-ui/accordion": "2.1.4", + "@chakra-ui/alert": "2.0.13", + "@chakra-ui/avatar": "2.2.1", + "@chakra-ui/breadcrumb": "2.1.1", + "@chakra-ui/button": "2.0.13", + "@chakra-ui/card": "2.1.1", + "@chakra-ui/checkbox": "2.2.5", + "@chakra-ui/close-button": "2.0.13", + "@chakra-ui/control-box": "2.0.11", + "@chakra-ui/counter": "2.0.11", + "@chakra-ui/css-reset": "2.0.10", + "@chakra-ui/editable": "2.0.16", + "@chakra-ui/form-control": "2.0.13", + "@chakra-ui/hooks": "2.1.2", + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/image": "2.0.12", + "@chakra-ui/input": "2.0.14", + "@chakra-ui/layout": "2.1.11", + "@chakra-ui/live-region": "2.0.11", + "@chakra-ui/media-query": "3.2.8", + "@chakra-ui/menu": "2.1.5", + "@chakra-ui/modal": "2.2.4", + "@chakra-ui/number-input": "2.0.14", + "@chakra-ui/pin-input": "2.0.16", + "@chakra-ui/popover": "2.1.4", + "@chakra-ui/popper": "3.0.10", + "@chakra-ui/portal": "2.0.11", + "@chakra-ui/progress": "2.1.1", + "@chakra-ui/provider": "2.0.24", + "@chakra-ui/radio": "2.0.14", + "@chakra-ui/react-env": "2.0.11", + "@chakra-ui/select": "2.0.14", + "@chakra-ui/skeleton": "2.0.18", + "@chakra-ui/slider": "2.0.14", + "@chakra-ui/spinner": "2.0.11", + "@chakra-ui/stat": "2.0.13", + "@chakra-ui/styled-system": "2.4.0", + "@chakra-ui/switch": "2.0.17", + "@chakra-ui/system": "2.3.4", + "@chakra-ui/table": "2.0.12", + "@chakra-ui/tabs": "2.1.5", + "@chakra-ui/tag": "2.0.13", + "@chakra-ui/textarea": "2.0.14", + "@chakra-ui/theme": "2.2.2", + "@chakra-ui/theme-utils": "2.0.5", + "@chakra-ui/toast": "4.0.4", + "@chakra-ui/tooltip": "2.2.2", + "@chakra-ui/transition": "2.0.12", + "@chakra-ui/utils": "2.0.12", + "@chakra-ui/visually-hidden": "2.0.13" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/react-children-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.4.tgz", + "integrity": "sha512-qsKUEfK/AhDbMexWo5JhmdlkxLg5WEw2dFh4XorvU1/dTYsRfP6cjFfO8zE+X3F0ZFNsgKz6rbN5oU349GLEFw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-context": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.5.tgz", + "integrity": "sha512-WYS0VBl5Q3/kNShQ26BP+Q0OGMeTQWco3hSiJWvO2wYLY7N1BLq6dKs8vyKHZfpwKh2YL2bQeAObi+vSkXp6tQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-env": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-2.0.11.tgz", + "integrity": "sha512-rPwUHReSWh7rbCw0HePa8Pvc+Q82fUFvVjHTIbXKnE6d+01cCE7j4f1NLeRD9pStKPI6sIZm9xTGvOCzl8F8iw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-types": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.5.tgz", + "integrity": "sha512-GApp+R/VjS1UV5ms5irrij5LOIgUM0dqSVHagyEFEz88LRKkqMD9RuO577ZsVd4Gn0ULsacVJCUA0HtNUBJNzA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-animation-state": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.6.tgz", + "integrity": "sha512-M2kUzZkSBgDpfvnffh3kTsMIM3Dvn+CTMqy9zfY97NL4P3LAWL1MuFtKdlKfQ8hs/QpwS/ew8CTmCtaywn4sKg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.4", + "@chakra-ui/react-use-event-listener": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-callback-ref": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.5.tgz", + "integrity": "sha512-vKnXleD2PzB0nGabY35fRtklMid4z7cecbMG0fkasNNsgWmrQcXJOuEKUUVCynL6FBU6gBnpKFi5Aqj6x+K4tw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-controllable-state": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.6.tgz", + "integrity": "sha512-7WuKrhQkpSRoiI5PKBvuIsO46IIP0wsRQgXtStSaIXv+FIvIJl9cxQXTbmZ5q1Ds641QdAUKx4+6v0K/zoZEHg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-disclosure": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.6.tgz", + "integrity": "sha512-4UPePL+OcCY37KZ585iLjg8i6J0sjpLm7iZG3PUwmb97oKHVHq6DpmWIM0VfSjcT6AbSqyGcd5BXZQBgwt8HWQ==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-event-listener": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.5.tgz", + "integrity": "sha512-etLBphMigxy/cm7Yg22y29gQ8u/K3PniR5ADZX7WVX61Cgsa8ciCqjTE9sTtlJQWAQySbWxt9+mjlT5zaf+6Zw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-effect": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.7.tgz", + "integrity": "sha512-wI8OUNwfbkusajLac8QtjfSyNmsNu1D5pANmnSHIntHhui6Jwv75Pxx7RgmBEnfBEpleBndhR9E75iCjPLhZ/A==", + "dependencies": { + "@chakra-ui/dom-utils": "2.0.4", + "@chakra-ui/react-use-event-listener": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3", + "@chakra-ui/react-use-update-effect": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.4.tgz", + "integrity": "sha512-L3YKouIi77QbXH9mSLGEFzJbJDhyrPlcRcuu+TSC7mYaK9E+3Ap+RVSAVxj+CfQz7hCWpikPecKDuspIPWlyuA==", + "dependencies": { + "@chakra-ui/react-use-event-listener": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-interval": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.3.tgz", + "integrity": "sha512-Orbij5c5QkL4NuFyU4mfY/nyRckNBgoGe9ic8574VVNJIXfassevZk0WB+lvqBn5XZeLf2Tj+OGJrg4j4H9wzw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-latest-ref": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.3.tgz", + "integrity": "sha512-exNSQD4rPclDSmNwtcChUCJ4NuC2UJ4amyNGBqwSjyaK5jNHk2kkM7rZ6I0I8ul+26lvrXlSuhyv6c2PFwbFQQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-merge-refs": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.5.tgz", + "integrity": "sha512-uc+MozBZ8asaUpO8SWcK6D4svRPACN63jv5uosUkXJR+05jQJkUofkfQbf2HeGVbrWCr0XZsftLIm4Mt/QMoVw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-outside-click": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.5.tgz", + "integrity": "sha512-WmtXUeVaMtxP9aUGGG+GQaDeUn/Bvf8TI3EU5mE1+TtqLHxyA9wtvQurynrogvpilLaBADwn/JeBeqs2wHpvqA==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-pan-event": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.6.tgz", + "integrity": "sha512-Vtgl3c+Mj4hdehFRFIgruQVXctwnG1590Ein1FiU8sVnlqO6bpug6Z+B14xBa+F+X0aK+DxnhkJFyWI93Pks2g==", + "dependencies": { + "@chakra-ui/event-utils": "2.0.6", + "@chakra-ui/react-use-latest-ref": "2.0.3", + "framesync": "5.3.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-previous": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.3.tgz", + "integrity": "sha512-A2ODOa0rm2HM4aqXfxxI0zPLcn5Q7iBEjRyfIQhb+EH+d2OFuj3L2slVoIpp6e/km3Xzv2d+u/WbjgTzdQ3d0w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-safe-layout-effect": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.3.tgz", + "integrity": "sha512-dlTvQURzmdfyBbNdydgO4Wy2/HV8aJN8LszTtyb5vRZsyaslDM/ftcxo8E8QjHwRLD/V1Epb/A8731QfimfVaQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-size": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.5.tgz", + "integrity": "sha512-4arAApdiXk5uv5ZeFKltEUCs5h3yD9dp6gTIaXbAdq+/ENK3jMWTwlqzNbJtCyhwoOFrblLSdBrssBMIsNQfZQ==", + "dependencies": { + "@zag-js/element-size": "0.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-timeout": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.3.tgz", + "integrity": "sha512-rBBUkZSQq3nJQ8fuMkgZNY2Sgg4vKiKNp05GxAwlT7TitOfVZyoTriqQpqz296bWlmkICTZxlqCWfE5fWpsTsg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-update-effect": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.5.tgz", + "integrity": "sha512-y9tCMr1yuDl8ATYdh64Gv8kge5xE1DMykqPDZw++OoBsTaWr3rx40wblA8NIWuSyJe5ErtKP2OeglvJkYhryJQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-utils": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.9.tgz", + "integrity": "sha512-nlwPBVlQmcl1PiLzZWyrT3FSnt3vKSkBMzQ0EF4SJWA/nOIqTvmffb5DCzCqPzgQaE/Da1Xgus+JufFGM8GLCQ==", + "dependencies": { + "@chakra-ui/utils": "2.0.12" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/select": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.14.tgz", + "integrity": "sha512-fvVGxAtLaIXGOMicrzSa6imMw5h26S1ar3xyNmXgR40dbpTPHmtQJkbHBf9FwwQXgSgKWgBzsztw5iDHCpPVzA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.13" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/shared-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.3.tgz", + "integrity": "sha512-pCU+SUGdXzjAuUiUT8mriekL3tJVfNdwSTIaNeip7k/SWDzivrKGMwAFBxd3XVTDevtVusndkO4GJuQ3yILzDg==" + }, + "node_modules/@chakra-ui/skeleton": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.18.tgz", + "integrity": "sha512-qjcD8BgVx4kL8Lmb8EvmmDGM2ICl6CqhVE2LShJrgG7PDM6Rt6rYM617kqLurLYZjbJUiwgf9VXWifS0IpT31Q==", + "dependencies": { + "@chakra-ui/media-query": "3.2.8", + "@chakra-ui/react-use-previous": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/slider": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.14.tgz", + "integrity": "sha512-z4Q5rWtYVTdFgBVvR6aUhSMg3CQuAgjJGHvLHEGDCUjYCuBXrb3SmWyvv03uKyjSbwRyKqSsvAnSCxtmHODt/w==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.5", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-callback-ref": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-latest-ref": "2.0.3", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-pan-event": "2.0.6", + "@chakra-ui/react-use-size": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/spinner": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.11.tgz", + "integrity": "sha512-piO2ghWdJzQy/+89mDza7xLhPnW7pA+ADNbgCb1vmriInWedS41IBKe+pSPz4IidjCbFu7xwKE0AerFIbrocCA==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stat": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.13.tgz", + "integrity": "sha512-6XeuE/7w0BjyCHSxMbsf6/rNOOs8BSit1NS7g7+Jd/40Pc/SKlNWLd3kxXPid4eT3RwyNIdMPtm30OActr9nqQ==", + "dependencies": { + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/styled-system": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.4.0.tgz", + "integrity": "sha512-G4HpbFERq4C1cBwKNDNkpCiliOICLXjYwKI/e/6hxNY+GlPxt8BCzz3uhd3vmEoG2vRM4qjidlVjphhWsf6vRQ==", + "dependencies": { + "csstype": "^3.0.11", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/switch": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.17.tgz", + "integrity": "sha512-BQabfC6qYi5xBJvEFPzKq0yl6fTtTNNEHTid5r7h0PWcCnAiHwQJTpQRpxp+AjK569LMLtTXReTZvNBrzEwOrA==", + "dependencies": { + "@chakra-ui/checkbox": "2.2.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/system": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.3.4.tgz", + "integrity": "sha512-/2m8hFfFzOMO2OlwHxTWqINOBJMjxWwU5V/AcB7C0qS51Dcj9c7kupilM6QdqiOLLdMS7mIVRSYr8jn8gMw9fA==", + "dependencies": { + "@chakra-ui/color-mode": "2.1.10", + "@chakra-ui/react-utils": "2.0.9", + "@chakra-ui/styled-system": "2.4.0", + "@chakra-ui/theme-utils": "2.0.5", + "@chakra-ui/utils": "2.0.12", + "react-fast-compare": "3.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/table": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.12.tgz", + "integrity": "sha512-TSxzpfrOoB+9LTdNTMnaQC6OTsp36TlCRxJ1+1nAiCmlk+m+FiNzTQsmBalDDhc29rm+6AdRsxSPsjGWB8YVwg==", + "dependencies": { + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tabs": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.5.tgz", + "integrity": "sha512-XmnKDclAJe0FoW4tdC8AlnZpPN5fcj92l4r2sqiL9WyYVEM71hDxZueETIph/GTtfMelG7Z8e5vBHP4rh1RT5g==", + "dependencies": { + "@chakra-ui/clickable": "2.0.11", + "@chakra-ui/descendant": "3.0.11", + "@chakra-ui/lazy-utils": "2.0.3", + "@chakra-ui/react-children-utils": "2.0.4", + "@chakra-ui/react-context": "2.0.5", + "@chakra-ui/react-use-controllable-state": "2.0.6", + "@chakra-ui/react-use-merge-refs": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.0.3" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tag": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-2.0.13.tgz", + "integrity": "sha512-W1urf+tvGMt6J3cc31HudybYSl+B5jYUP5DJxzXM9p+n3JrvXWAo4D6LmpLBHY5zT2mNne14JF1rVeRcG4Rtdg==", + "dependencies": { + "@chakra-ui/icon": "3.0.13", + "@chakra-ui/react-context": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/textarea": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.14.tgz", + "integrity": "sha512-r8hF1rCi+GseLtY/IGeVWXFN0Uve2b820UQumRj4qxj7PsPqw1hFg7Cecbbb9zwF38K/m+D3IdwFeJzI1MtgRA==", + "dependencies": { + "@chakra-ui/form-control": "2.0.13" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/theme": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-2.2.2.tgz", + "integrity": "sha512-7DlOQiXmnaqYyqXwqmfFSCWGkUonuqmNC5mmUCwxI435KgHNCaE2bIm6DI7N2NcIcuVcfc8Vn0UqrDoGU3zJBg==", + "dependencies": { + "@chakra-ui/anatomy": "2.1.0", + "@chakra-ui/theme-tools": "2.0.14" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-tools": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.14.tgz", + "integrity": "sha512-lVcDmq5pyU0QbsIFKjt/iVUFDap7di2QHvPvGChA1YSjtg1PtuUi+BxEXWzp3Nfgw/N4rMvlBs+S0ynJypdwbg==", + "dependencies": { + "@chakra-ui/anatomy": "2.1.0", + "color2k": "^2.0.0" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.5.tgz", + "integrity": "sha512-QQowSM8fvQlTmT0w9wtqUlWOB4i+9eA7P4XRm4bfhBMZ7XpK4ctV95sPeGqaXVccsz5m0q1AuGWa+j6eMCbrrg==", + "dependencies": { + "@chakra-ui/styled-system": "2.4.0", + "@chakra-ui/theme": "2.2.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/toast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-4.0.4.tgz", + "integrity": "sha512-Gv52UQ4fJtziL9Qg0Yterb76C1GgzViryPDf2dxSzTlnCcKIbY4ktEhehyFBjDXYoGkFb47NZUEyhy+u8p3GUA==", + "dependencies": { + "@chakra-ui/alert": "2.0.13", + "@chakra-ui/close-button": "2.0.13", + "@chakra-ui/portal": "2.0.11", + "@chakra-ui/react-use-timeout": "2.0.3", + "@chakra-ui/react-use-update-effect": "2.0.5", + "@chakra-ui/styled-system": "2.4.0", + "@chakra-ui/theme": "2.2.2" + }, + "peerDependencies": { + "@chakra-ui/system": "2.3.4", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/tooltip": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.2.tgz", + "integrity": "sha512-WDgQVEMHdsyUpKG9Nogy2FKLBgfdJG7hTSrSbH1WLvHsPkpPLknL4i5Z/pCvpa4A7SzTa6ps350mxtJ054MeMg==", + "dependencies": { + "@chakra-ui/popper": "3.0.10", + "@chakra-ui/portal": "2.0.11", + "@chakra-ui/react-types": "2.0.5", + "@chakra-ui/react-use-disclosure": "2.0.6", + "@chakra-ui/react-use-event-listener": "2.0.5", + "@chakra-ui/react-use-merge-refs": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/transition": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.12.tgz", + "integrity": "sha512-ff6eU+m08ccYfCkk0hKfY/XlmGxCrfbBgsKgV4mirZ4SKUL1GVye8CYuHwWQlBJo+8s0yIpsTNxAuX4n/cW9/w==", + "peerDependencies": { + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.12.tgz", + "integrity": "sha512-1Z1MgsrfMQhNejSdrPJk8v5J4gCefHo+1wBmPPHTz5bGEbAAbZ13aXAfXy8w0eFy0Nvnawn0EHW7Oynp/MdH+Q==", + "dependencies": { + "@types/lodash.mergewith": "4.6.6", + "css-box-model": "1.2.1", + "framesync": "5.3.0", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/visually-hidden": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.13.tgz", + "integrity": "sha512-sDEeeEjLfID333EC46NdCbhK2HyMXlpl5HzcJjuwWIpyVz4E1gKQ9hlwpq6grijvmzeSywQ5D3tTwUrvZck4KQ==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, + "node_modules/@emotion/babel-plugin/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@emotion/babel-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "node_modules/@emotion/react": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz", + "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/react/node_modules/@emotion/cache": { + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/react/node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/react/node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" + }, + "node_modules/@emotion/react/node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/react/node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, + "node_modules/@emotion/react/node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" + }, + "node_modules/@emotion/styled": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", + "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/babel-plugin": "^11.3.0", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/serialize": "^1.0.2", + "@emotion/utils": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/styled/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/styled/node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/styled/node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/styled/node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/styled/node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -1870,6 +3229,15 @@ "node": ">=14" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@remix-run/router": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz", @@ -1897,6 +3265,19 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==" + }, + "node_modules/@types/lodash.mergewith": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz", + "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==", + "dependencies": { + "@types/lodash": "*" + } + }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", @@ -1915,6 +3296,31 @@ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", @@ -2056,6 +3462,16 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "node_modules/@zag-js/element-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.1.0.tgz", + "integrity": "sha512-QF8wp0+V8++z+FHXiIw93+zudtubYszOtYbNgK39fg3pi+nCZtuSm4L1jC5QZMatNZ83MfOzyNCfgUubapagJQ==" + }, + "node_modules/@zag-js/focus-visible": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.1.0.tgz", + "integrity": "sha512-PeaBcTmdZWcFf7n1aM+oiOdZc+sy14qi0emPIeUuGMTjbP0xLGrZu43kdpHnWSXy7/r4Ubp/vlg50MCV8+9Isg==" + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -2182,6 +3598,17 @@ "node": ">= 8" } }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -2537,6 +3964,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color2k": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -2566,6 +3998,11 @@ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz", + "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2654,6 +4091,14 @@ "node": ">= 0.8" } }, + "node_modules/copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -2725,6 +4170,14 @@ "node": ">= 8" } }, + "node_modules/css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "dependencies": { + "tiny-invariant": "^1.0.6" + } + }, "node_modules/css-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", @@ -2781,6 +4234,11 @@ "node": ">=4" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, "node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -2934,6 +4392,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", @@ -3357,6 +4820,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", @@ -3372,6 +4840,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/focus-lock": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.5.tgz", + "integrity": "sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -3606,6 +5085,41 @@ "node": ">= 0.6" } }, + "node_modules/framer-motion": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.2.8.tgz", + "integrity": "sha512-4PtBWFJ6NqR350zYVt9AsFDtISTqsdqna79FvSYPfYDXuuqFmiKtZdkTnYPslnsOMedTW0pEvaQ7eqjD+sA+HA==", + "dependencies": { + "framesync": "6.0.1", + "hey-listen": "^1.0.8", + "popmotion": "11.0.3", + "style-value-types": "5.0.0", + "tslib": "^2.1.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": ">=16.8 || ^17.0.0 || ^18.0.0", + "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/framer-motion/node_modules/framesync": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", + "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/framesync": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz", + "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -3685,6 +5199,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -3896,6 +5418,19 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -4055,6 +5590,14 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -4357,6 +5900,11 @@ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4893,6 +6441,25 @@ "node": ">=4" } }, + "node_modules/popmotion": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz", + "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==", + "dependencies": { + "framesync": "6.0.1", + "hey-listen": "^1.0.8", + "style-value-types": "5.0.0", + "tslib": "^2.1.0" + } + }, + "node_modules/popmotion/node_modules/framesync": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", + "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/postcss": { "version": "8.4.47", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", @@ -4992,6 +6559,21 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -5004,6 +6586,16 @@ "node": ">= 6" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -5111,6 +6703,17 @@ "node": ">=0.10.0" } }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", @@ -5332,6 +6935,33 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "node_modules/react-focus-lock": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.13.2.tgz", + "integrity": "sha512-T/7bsofxYqnod2xadvuwjGKHOoL5GH7/EIPI5UyEvaU/c2CcphvGI371opFtuY/SYdbMsNiuF4HsHQ50nA/TKQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.5", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.2", + "use-sidecar": "^1.1.2" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/react-i18next": { "version": "14.1.3", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.1.3.tgz", @@ -5353,6 +6983,56 @@ } } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-remove-scroll": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz", + "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.6", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/react-router": { "version": "6.27.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz", @@ -5383,6 +7063,28 @@ "react-dom": ">=16.8" } }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -5975,6 +7677,20 @@ "webpack": "^5.27.0" } }, + "node_modules/style-value-types": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz", + "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "^2.1.0" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -6124,6 +7840,11 @@ "tslib": "^2" } }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -6143,6 +7864,11 @@ "node": ">=8.0" } }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -6331,6 +8057,47 @@ "punycode": "^2.1.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index eba8014..2c6e075 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "dry-wash", + "name": "dry-wash-pl", "version": "0.0.0", "description": "", "main": "./src/index.tsx", @@ -15,9 +15,18 @@ "license": "ISC", "dependencies": { "@brojs/cli": "^1.3.0", + "@chakra-ui/icons": "^2.2.4", + "@chakra-ui/react": "^2.4.2", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", "express": "^4.21.1", + "framer-motion": "^6.2.8", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.27.0" + }, + "devDependencies": { + "@types/react-dom": "^18.3.1", + "prettier": "3.3.3" } } diff --git a/src/app.tsx b/src/app.tsx index a6e14fd..ff29f4a 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -1,12 +1,15 @@ -import React from "react"; -import { BrowserRouter } from "react-router-dom"; -import Routers from "./routes"; +import React from 'react'; +import { BrowserRouter } from 'react-router-dom'; +import Routers from './routes'; +import { ChakraProvider, theme as chakraTheme } from '@chakra-ui/react'; const App = () => { return ( - - - + + + + + ); }; diff --git a/src/components /LayoutArm/LayoutArm.tsx b/src/components /LayoutArm/LayoutArm.tsx new file mode 100644 index 0000000..db48c23 --- /dev/null +++ b/src/components /LayoutArm/LayoutArm.tsx @@ -0,0 +1,17 @@ +import { Box, Flex } from '@chakra-ui/react'; +import Sidebar from '../Sidebar'; +import Orders from '../Orders'; +import Masters from '../Masters'; +import React from 'react'; + +const LayoutArm = ({ currentPage, onSelectPage }) => ( + + + + {currentPage === 'orders' && } + {currentPage === 'masters' && } + + +); + +export default LayoutArm; diff --git a/src/components /LayoutArm/index.ts b/src/components /LayoutArm/index.ts new file mode 100644 index 0000000..9deda8f --- /dev/null +++ b/src/components /LayoutArm/index.ts @@ -0,0 +1 @@ +export { default } from './LayoutArm'; diff --git a/src/components /MasterActionsMenu/MasterActionsMenu.tsx b/src/components /MasterActionsMenu/MasterActionsMenu.tsx new file mode 100644 index 0000000..d8097d0 --- /dev/null +++ b/src/components /MasterActionsMenu/MasterActionsMenu.tsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { + Menu, + MenuButton, + MenuList, + MenuItem, + IconButton, +} from '@chakra-ui/react'; +import { EditIcon } from '@chakra-ui/icons'; + +const MasterActionsMenu = () => { + return ( + + } as={IconButton} variant='outline' /> + + Посмотреть профиль + Изменить расписание + Удалить мастера + + + ); +}; + +export default MasterActionsMenu; diff --git a/src/components /MasterActionsMenu/index.ts b/src/components /MasterActionsMenu/index.ts new file mode 100644 index 0000000..1e90d7c --- /dev/null +++ b/src/components /MasterActionsMenu/index.ts @@ -0,0 +1 @@ +export { default } from './MasterActionsMenu'; diff --git a/src/components /MasterItem/MasterItem.tsx b/src/components /MasterItem/MasterItem.tsx new file mode 100644 index 0000000..ccb733c --- /dev/null +++ b/src/components /MasterItem/MasterItem.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { Badge, Link, Stack, Td, Tr } from '@chakra-ui/react'; +import MasterActionsMenu from '../MasterActionsMenu'; + +const MasterItem = ({ name, schedule, phone }) => { + return ( + + {name} + + + {schedule.map((time, index) => ( + + {time} + + ))} + + + + {phone} + + + + + + ); +}; + +export default MasterItem; diff --git a/src/components /MasterItem/index.ts b/src/components /MasterItem/index.ts new file mode 100644 index 0000000..42a7e3e --- /dev/null +++ b/src/components /MasterItem/index.ts @@ -0,0 +1 @@ +export { default } from './MasterItem'; diff --git a/src/components /MasterModal/MasterDrawer.tsx b/src/components /MasterModal/MasterDrawer.tsx new file mode 100644 index 0000000..a0644ed --- /dev/null +++ b/src/components /MasterModal/MasterDrawer.tsx @@ -0,0 +1,65 @@ +import React, { useState } from 'react'; +import { + Button, + FormControl, + FormLabel, + Input, + Drawer, + DrawerBody, + DrawerCloseButton, + DrawerContent, + DrawerFooter, + DrawerHeader, + DrawerOverlay, +} from '@chakra-ui/react'; + +const MasterDrawer = ({ isOpen, onClose }) => { + const [newMaster, setNewMaster] = useState({ name: '', phone: '' }); + + const handleSave = () => { + console.log(`Сохранение мастера: ${newMaster}`); + onClose(); + }; + + return ( + + + + + Добавить нового мастера + + + ФИО + + setNewMaster({ ...newMaster, name: e.target.value }) + } + placeholder='Введите ФИО' + /> + + + Номер телефона + + setNewMaster({ ...newMaster, phone: e.target.value }) + } + placeholder='Введите номер телефона' + /> + + + + + + + + + ); +}; + +export default MasterDrawer; diff --git a/src/components /MasterModal/index.ts b/src/components /MasterModal/index.ts new file mode 100644 index 0000000..3dc9a3a --- /dev/null +++ b/src/components /MasterModal/index.ts @@ -0,0 +1 @@ +export { default } from './MasterDrawer'; diff --git a/src/components /Masters/Masters.tsx b/src/components /Masters/Masters.tsx new file mode 100644 index 0000000..d324863 --- /dev/null +++ b/src/components /Masters/Masters.tsx @@ -0,0 +1,50 @@ +import React from 'react'; +import { + Box, + Heading, + Table, + Thead, + Tbody, + Tr, + Th, + Button, + useDisclosure, + Flex, +} from '@chakra-ui/react'; +import { mastersData } from '../../mocks '; +import MasterItem from '../MasterItem'; +import MasterDrawer from '../MasterModal'; + +const TABLE_HEADERS = ['Имя', 'Актуальная занятость', 'Телефон', 'Действия']; + +const Masters = () => { + const { isOpen, onOpen, onClose } = useDisclosure(); + + return ( + + + Мастера + + + + + + {TABLE_HEADERS.map((name) => ( + + ))} + + + + {mastersData.map((master, index) => ( + + ))} + +
{name}
+ +
+ ); +}; + +export default Masters; diff --git a/src/components /Masters/index.ts b/src/components /Masters/index.ts new file mode 100644 index 0000000..f3ad299 --- /dev/null +++ b/src/components /Masters/index.ts @@ -0,0 +1 @@ +export { default } from './Masters'; diff --git a/src/components /OrderItem/OrderItem.tsx b/src/components /OrderItem/OrderItem.tsx new file mode 100644 index 0000000..50dcd73 --- /dev/null +++ b/src/components /OrderItem/OrderItem.tsx @@ -0,0 +1,40 @@ +import React, { useState } from 'react'; +import { Td, Tr, Link, Select } from '@chakra-ui/react'; + +const OrderItem = ({ + carNumber, + washTime, + orderDate, + status, + phone, + location, +}) => { + const [statusSelect, setStatus] = useState(status); + + return ( + + {carNumber} + {washTime} + {orderDate} + + + + + {phone} + + {location} + + ); +}; + +export default OrderItem; diff --git a/src/components /OrderItem/index.ts b/src/components /OrderItem/index.ts new file mode 100644 index 0000000..5318133 --- /dev/null +++ b/src/components /OrderItem/index.ts @@ -0,0 +1 @@ +export { default } from './OrderItem'; diff --git a/src/components /Orders/Orders.tsx b/src/components /Orders/Orders.tsx new file mode 100644 index 0000000..f05cdc0 --- /dev/null +++ b/src/components /Orders/Orders.tsx @@ -0,0 +1,38 @@ +import { Box, Heading, Table, Thead, Tbody, Tr, Th } from '@chakra-ui/react'; +import React from 'react'; +import { ordersData } from '../../mocks '; +import OrderItem from '../OrderItem'; + +const Orders = () => { + const TABLE_HEADERS = [ + 'Номер машины', + 'Время мойки', + 'Дата заказа', + 'Статус', + 'Телефон', + 'Расположение', + ]; + return ( + + + Заказы + + + + + {TABLE_HEADERS.map((name, key) => ( + + ))} + + + + {ordersData.map((order, index) => ( + + ))} + +
{name}
+
+ ); +}; + +export default Orders; diff --git a/src/components /Orders/index.ts b/src/components /Orders/index.ts new file mode 100644 index 0000000..14f351d --- /dev/null +++ b/src/components /Orders/index.ts @@ -0,0 +1 @@ +export { default } from './Orders'; diff --git a/src/components /Sidebar/Sidebar.tsx b/src/components /Sidebar/Sidebar.tsx new file mode 100644 index 0000000..a88e350 --- /dev/null +++ b/src/components /Sidebar/Sidebar.tsx @@ -0,0 +1,42 @@ +import { Box, Button, Heading, VStack } from '@chakra-ui/react'; +import React from 'react'; +import { Divider } from '@chakra-ui/react'; + +const Sidebar = ({ onSelectPage }) => ( + + + Сухой мастер + + + + + + + + + + +); + +export default Sidebar; diff --git a/src/components /Sidebar/index.ts b/src/components /Sidebar/index.ts new file mode 100644 index 0000000..e842a85 --- /dev/null +++ b/src/components /Sidebar/index.ts @@ -0,0 +1 @@ +export { default } from './Sidebar'; diff --git a/src/index.tsx b/src/index.tsx index b65d458..bea08b3 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2,21 +2,20 @@ /* eslint-disable react/display-name */ import React from 'react'; import ReactDOM from 'react-dom/client'; - -import App from './app'; - -export default () => ; - -let rootElement: ReactDOM.Root - -export const mount = (Сomponent, element = document.getElementById('app')) => { - const rootElement = ReactDOM.createRoot(element); - rootElement.render(<Сomponent/>); - if(module.hot) { - module.hot.accept('./app', ()=> { - rootElement.render(<Сomponent/>); - }) +import App from './app'; + +export default () => ; + +let rootElement: ReactDOM.Root; + +export const mount = (Component, element = document.getElementById('app')) => { + const rootElement = ReactDOM.createRoot(element); + rootElement.render(); + if (module.hot) { + module.hot.accept('./app', () => { + rootElement.render(); + }); } }; diff --git a/src/mocks /index.ts b/src/mocks /index.ts new file mode 100644 index 0000000..7ba7b7d --- /dev/null +++ b/src/mocks /index.ts @@ -0,0 +1,31 @@ +export const mastersData = [ + { + name: "Иван Иванов", + schedule: ["15:00 - 16:30", "17:00 - 18:00"], + phone: "+7 900 123 45 67", + }, + { + name: "Сергей Петров", + schedule: ["10:00 - 12:30", "14:00 - 15:30", "16:00 - 17:00"], + phone: "+7 900 234 56 78", + }, +]; + +export const ordersData = [ + { + carNumber: "A123BC", + washTime: "10:30", + orderDate: "2024-10-31", + status: "В процессе", + phone: "+7 900 123 45 67", + location: "Казань, ул. Баумана, 1", + }, + { + carNumber: "B456CD", + washTime: "11:00", + orderDate: "2024-10-31", + status: "Завершено", + phone: "+7 900 234 56 78", + location: "Казань, ул. Кремлёвская, 3", + }, +]; \ No newline at end of file diff --git a/src/pages/arm/index.tsx b/src/pages/arm/index.tsx index de2160b..d76ddac 100644 --- a/src/pages/arm/index.tsx +++ b/src/pages/arm/index.tsx @@ -1,7 +1,10 @@ -import React from "react"; +import React, { useState } from 'react'; +import LayoutArm from '../../components /LayoutArm'; const Page = () => { - return

Arm

; + const [currentPage, setCurrentPage] = useState('orders'); + + return ; }; export default Page; diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 0000000..14f21ec --- /dev/null +++ b/types.d.ts @@ -0,0 +1,5 @@ +declare interface NodeModule { + hot?: { + accept: (path: string, callback: () => void) => void; + }; +}