From 7b836ba0346c8ea381862d98d77082a368abaa5f Mon Sep 17 00:00:00 2001 From: abirhasn07 Date: Thu, 3 Nov 2022 20:27:40 +0600 Subject: [PATCH 1/5] new version --- README.md | 1 - index.html | 8 +- package-lock.json | 2509 ----------------- package.json | 21 +- postcss.config.cjs | 6 + public/Logo.png | Bin 1131 -> 0 bytes public/vite.svg | 1 + src/App.jsx | 27 +- src/assets/cart.svg | 5 + src/assets/heart.svg | 3 + src/assets/ph_user-circle-plus-fill.svg | 3 + src/assets/search.svg | 4 + src/components/Hero.jsx | 43 + src/components/Hero/Hero.css | 101 - src/components/Hero/Hero.jsx | 32 - src/components/Navbar.jsx | 96 + src/components/Navbar/Navbar.css | 143 - src/components/Navbar/Navbar.jsx | 73 - src/components/OderSummary/OderSummary.jsx | 24 - .../ProductContainer/ProductContainer.css | 41 - .../ProductContainer/ProductContainer.jsx | 70 - src/components/ShopBanner/ShopBanner.css | 12 - src/components/ShopBanner/ShopBanner.jsx | 13 - src/components/ShoppingCart/ShoppingCart.jsx | 56 - .../SingleProduct/SingleProduct.css | 51 - .../SingleProduct/SingleProduct.jsx | 20 - src/context/ShoppingCartContext.jsx | 106 - src/database/cta.js | 20 - src/database/data.js | 163 +- src/database/slider.js | 35 - src/fonts/Recoleta-RegularDEMO.otf | Bin 586892 -> 0 bytes src/index.css | 45 + src/main.jsx | 26 +- src/pages/Blog.jsx | 9 - src/pages/CartPage.jsx | 35 - src/pages/Contact.jsx | 9 - src/pages/Home.jsx | 21 - src/pages/Login.jsx | 22 - src/pages/Notfound.jsx | 9 - src/pages/SignUp.jsx | 23 - src/pages/SingleProductPage.jsx | 50 - src/stylesheet/index.css | 130 - src/stylesheet/pages.css | 217 -- src/stylesheet/reset.css | 37 - src/stylesheet/shoppingcart.css | 76 - src/utilities/CURRENCRYFORMATTER.js | 8 - tailwind.config.cjs | 21 + yarn.lock | 1203 ++++++++ 48 files changed, 1471 insertions(+), 4157 deletions(-) delete mode 100644 README.md delete mode 100644 package-lock.json create mode 100644 postcss.config.cjs delete mode 100644 public/Logo.png create mode 100644 public/vite.svg create mode 100644 src/assets/cart.svg create mode 100644 src/assets/heart.svg create mode 100644 src/assets/ph_user-circle-plus-fill.svg create mode 100644 src/assets/search.svg create mode 100644 src/components/Hero.jsx delete mode 100644 src/components/Hero/Hero.css delete mode 100644 src/components/Hero/Hero.jsx create mode 100644 src/components/Navbar.jsx delete mode 100644 src/components/Navbar/Navbar.css delete mode 100644 src/components/Navbar/Navbar.jsx delete mode 100644 src/components/OderSummary/OderSummary.jsx delete mode 100644 src/components/ProductContainer/ProductContainer.css delete mode 100644 src/components/ProductContainer/ProductContainer.jsx delete mode 100644 src/components/ShopBanner/ShopBanner.css delete mode 100644 src/components/ShopBanner/ShopBanner.jsx delete mode 100644 src/components/ShoppingCart/ShoppingCart.jsx delete mode 100644 src/components/SingleProduct/SingleProduct.css delete mode 100644 src/components/SingleProduct/SingleProduct.jsx delete mode 100644 src/context/ShoppingCartContext.jsx delete mode 100644 src/database/cta.js delete mode 100644 src/database/slider.js delete mode 100644 src/fonts/Recoleta-RegularDEMO.otf create mode 100644 src/index.css delete mode 100644 src/pages/Blog.jsx delete mode 100644 src/pages/CartPage.jsx delete mode 100644 src/pages/Contact.jsx delete mode 100644 src/pages/Home.jsx delete mode 100644 src/pages/Login.jsx delete mode 100644 src/pages/Notfound.jsx delete mode 100644 src/pages/SignUp.jsx delete mode 100644 src/pages/SingleProductPage.jsx delete mode 100644 src/stylesheet/index.css delete mode 100644 src/stylesheet/pages.css delete mode 100644 src/stylesheet/reset.css delete mode 100644 src/stylesheet/shoppingcart.css delete mode 100644 src/utilities/CURRENCRYFORMATTER.js create mode 100644 tailwind.config.cjs create mode 100644 yarn.lock diff --git a/README.md b/README.md deleted file mode 100644 index 3fa7981..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -![V8UGE](https://ik.imagekit.io/abirhasan/tr:w-1200/V8UGE_XBX9w77dZ.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664817722591) diff --git a/index.html b/index.html index 00426c7..79c4701 100644 --- a/index.html +++ b/index.html @@ -2,13 +2,9 @@ - + - - V8UGE - - - + Vite + React
diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 263cf5e..0000000 --- a/package-lock.json +++ /dev/null @@ -1,2509 +0,0 @@ -{ - "name": "the_vogue", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "the_vogue", - "version": "0.0.0", - "dependencies": { - "gsap": "^3.11.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^4.4.0", - "react-router-dom": "^6.4.1", - "swiper": "^8.4.2" - }, - "devDependencies": { - "@types/react": "^18.0.15", - "@types/react-dom": "^18.0.6", - "@vitejs/plugin-react": "^2.0.0", - "vite": "^3.0.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", - "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.19.3", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dev": true, - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", - "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", - "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.3", - "@babel/types": "^7.19.3", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", - "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", - "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@remix-run/router": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.1.tgz", - "integrity": "sha512-eBV5rvW4dRFOU1eajN7FmYxjAIVz/mRHgUE9En9mBn6m3mulK3WTR5C3iQhL9MZ14rWAq+xOlEaCkDiW0/heOg==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.0.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", - "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", - "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true - }, - "node_modules/@vitejs/plugin-react": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", - "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.18.13", - "@babel/plugin-transform-react-jsx": "^7.18.10", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.18.6", - "magic-string": "^0.26.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^3.0.0" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001414", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", - "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "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==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dom7": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.4.tgz", - "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==", - "dependencies": { - "ssr-window": "^4.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.270", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", - "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", - "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.15.10", - "@esbuild/linux-loong64": "0.15.10", - "esbuild-android-64": "0.15.10", - "esbuild-android-arm64": "0.15.10", - "esbuild-darwin-64": "0.15.10", - "esbuild-darwin-arm64": "0.15.10", - "esbuild-freebsd-64": "0.15.10", - "esbuild-freebsd-arm64": "0.15.10", - "esbuild-linux-32": "0.15.10", - "esbuild-linux-64": "0.15.10", - "esbuild-linux-arm": "0.15.10", - "esbuild-linux-arm64": "0.15.10", - "esbuild-linux-mips64le": "0.15.10", - "esbuild-linux-ppc64le": "0.15.10", - "esbuild-linux-riscv64": "0.15.10", - "esbuild-linux-s390x": "0.15.10", - "esbuild-netbsd-64": "0.15.10", - "esbuild-openbsd-64": "0.15.10", - "esbuild-sunos-64": "0.15.10", - "esbuild-windows-32": "0.15.10", - "esbuild-windows-64": "0.15.10", - "esbuild-windows-arm64": "0.15.10" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", - "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", - "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", - "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", - "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", - "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", - "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", - "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", - "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", - "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", - "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", - "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", - "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", - "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", - "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", - "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", - "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", - "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", - "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", - "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", - "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "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" - } - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/gsap": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.2.tgz", - "integrity": "sha512-y1NSjM2i2yCjLtoNuoyIhhh9kmYOpFEU9su1EbHuZGN3OWr8M6NIjNHBurSWu/blbHAPQqGm7mUIokSxqTTp2Q==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/magic-string": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.5.tgz", - "integrity": "sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - }, - "engines": { - "node": ">=12" - } - }, - "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==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/postcss": { - "version": "8.4.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", - "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-icons": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.4.0.tgz", - "integrity": "sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==", - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.1.tgz", - "integrity": "sha512-OJASKp5AykDWFewgWUim1vlLr7yfD4vO/h+bSgcP/ix8Md+LMHuAjovA74MQfsfhQJGGN1nHRhwS5qQQbbBt3A==", - "dependencies": { - "@remix-run/router": "1.0.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.1.tgz", - "integrity": "sha512-MY7NJCrGNVJtGp8ODMOBHu20UaIkmwD2V3YsAOUQoCXFk7Ppdwf55RdcGyrSj+ycSL9Uiwrb3gTLYSnzcRoXww==", - "dependencies": { - "@remix-run/router": "1.0.1", - "react-router": "6.4.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rollup": { - "version": "2.78.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", - "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/ssr-window": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", - "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swiper": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.2.tgz", - "integrity": "sha512-nMD/RHVYxJxrLqjWQX2n0B94ANwpnuUv/3PUDT8Aaf+mSteFvZGFng4ypAYq70zW4svryyV+8TRlbRZ+6cgv9A==", - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" - }, - { - "type": "open_collective", - "url": "http://opencollective.com/swiper" - } - ], - "hasInstallScript": true, - "dependencies": { - "dom7": "^4.0.4", - "ssr-window": "^4.0.2" - }, - "engines": { - "node": ">= 4.7.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/vite": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.4.tgz", - "integrity": "sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==", - "dev": true, - "dependencies": { - "esbuild": "^0.15.6", - "postcss": "^8.4.16", - "resolve": "^1.22.1", - "rollup": "~2.78.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "less": "*", - "sass": "*", - "stylus": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "terser": { - "optional": true - } - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", - "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", - "dev": true - }, - "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", - "dev": true, - "requires": { - "@babel/types": "^7.19.3", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", - "dev": true - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz", - "integrity": "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", - "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.3", - "@babel/types": "^7.19.3", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@esbuild/android-arm": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", - "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", - "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", - "dev": true, - "optional": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@remix-run/router": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.1.tgz", - "integrity": "sha512-eBV5rvW4dRFOU1eajN7FmYxjAIVz/mRHgUE9En9mBn6m3mulK3WTR5C3iQhL9MZ14rWAq+xOlEaCkDiW0/heOg==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true - }, - "@types/react": { - "version": "18.0.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", - "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", - "dev": true, - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", - "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true - }, - "@vitejs/plugin-react": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz", - "integrity": "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==", - "dev": true, - "requires": { - "@babel/core": "^7.18.13", - "@babel/plugin-transform-react-jsx": "^7.18.10", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.18.6", - "magic-string": "^0.26.2", - "react-refresh": "^0.14.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "caniuse-lite": { - "version": "1.0.30001414", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", - "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", - "dev": true - }, - "chalk": { - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "dom7": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/dom7/-/dom7-4.0.4.tgz", - "integrity": "sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw==", - "requires": { - "ssr-window": "^4.0.0" - } - }, - "electron-to-chromium": { - "version": "1.4.270", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz", - "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==", - "dev": true - }, - "esbuild": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", - "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.15.10", - "@esbuild/linux-loong64": "0.15.10", - "esbuild-android-64": "0.15.10", - "esbuild-android-arm64": "0.15.10", - "esbuild-darwin-64": "0.15.10", - "esbuild-darwin-arm64": "0.15.10", - "esbuild-freebsd-64": "0.15.10", - "esbuild-freebsd-arm64": "0.15.10", - "esbuild-linux-32": "0.15.10", - "esbuild-linux-64": "0.15.10", - "esbuild-linux-arm": "0.15.10", - "esbuild-linux-arm64": "0.15.10", - "esbuild-linux-mips64le": "0.15.10", - "esbuild-linux-ppc64le": "0.15.10", - "esbuild-linux-riscv64": "0.15.10", - "esbuild-linux-s390x": "0.15.10", - "esbuild-netbsd-64": "0.15.10", - "esbuild-openbsd-64": "0.15.10", - "esbuild-sunos-64": "0.15.10", - "esbuild-windows-32": "0.15.10", - "esbuild-windows-64": "0.15.10", - "esbuild-windows-arm64": "0.15.10" - } - }, - "esbuild-android-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", - "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", - "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", - "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", - "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", - "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", - "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", - "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", - "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", - "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", - "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", - "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", - "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", - "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", - "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", - "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", - "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", - "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", - "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", - "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.10", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", - "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", - "dev": true, - "optional": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "gsap": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.2.tgz", - "integrity": "sha512-y1NSjM2i2yCjLtoNuoyIhhh9kmYOpFEU9su1EbHuZGN3OWr8M6NIjNHBurSWu/blbHAPQqGm7mUIokSxqTTp2Q==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "magic-string": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.5.tgz", - "integrity": "sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "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==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "postcss": { - "version": "8.4.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", - "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", - "dev": true, - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-icons": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.4.0.tgz", - "integrity": "sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==", - "requires": {} - }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - }, - "react-router": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.1.tgz", - "integrity": "sha512-OJASKp5AykDWFewgWUim1vlLr7yfD4vO/h+bSgcP/ix8Md+LMHuAjovA74MQfsfhQJGGN1nHRhwS5qQQbbBt3A==", - "requires": { - "@remix-run/router": "1.0.1" - } - }, - "react-router-dom": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.1.tgz", - "integrity": "sha512-MY7NJCrGNVJtGp8ODMOBHu20UaIkmwD2V3YsAOUQoCXFk7Ppdwf55RdcGyrSj+ycSL9Uiwrb3gTLYSnzcRoXww==", - "requires": { - "@remix-run/router": "1.0.1", - "react-router": "6.4.1" - } - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "rollup": { - "version": "2.78.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", - "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "ssr-window": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", - "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "swiper": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-8.4.2.tgz", - "integrity": "sha512-nMD/RHVYxJxrLqjWQX2n0B94ANwpnuUv/3PUDT8Aaf+mSteFvZGFng4ypAYq70zW4svryyV+8TRlbRZ+6cgv9A==", - "requires": { - "dom7": "^4.0.4", - "ssr-window": "^4.0.2" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", - "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "vite": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.4.tgz", - "integrity": "sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==", - "dev": true, - "requires": { - "esbuild": "^0.15.6", - "fsevents": "~2.3.2", - "postcss": "^8.4.16", - "resolve": "^1.22.1", - "rollup": "~2.78.0" - } - } - } -} diff --git a/package.json b/package.json index bd8f907..c101ca6 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "the_vogue", + "name": "v8uge", "private": true, "version": "0.0.0", "type": "module", @@ -9,17 +9,20 @@ "preview": "vite preview" }, "dependencies": { - "gsap": "^3.11.2", + "daisyui": "^2.37.0", + "init": "^0.1.2", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-icons": "^4.4.0", - "react-router-dom": "^6.4.1", - "swiper": "^8.4.2" + "react-fast-marquee": "^1.3.5", + "swiper": "^8.4.4" }, "devDependencies": { - "@types/react": "^18.0.15", - "@types/react-dom": "^18.0.6", - "@vitejs/plugin-react": "^2.0.0", - "vite": "^3.0.0" + "@types/react": "^18.0.22", + "@types/react-dom": "^18.0.7", + "@vitejs/plugin-react": "^2.2.0", + "autoprefixer": "^10.4.13", + "postcss": "^8.4.18", + "tailwindcss": "^3.2.1", + "vite": "^3.2.0" } } diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/Logo.png b/public/Logo.png deleted file mode 100644 index baad088301796488418a77bcadff0c36f5ef987e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1131 zcmV-x1eE)UP))0000>P)t-s00000 z3=9AY3IGWU00{~J3JU-U3IGrg00EB@Bd1xLO856O4>Mmr{nphfn6SV zVMUT$x^(H%rAz;TWYr2GDw+HMrEIcdX>z8D)TmhR275=lu*p+akeFG6np_jfTx3}$ zD%io&*An-9G7@VSd(-)5wVH@HMuT~_MDP_qVvR>(;6ZQb=KZKwUib@OAXUfH^u)41 zqABe4eNB|}?No3xLL--$GZP&dLxW~$+^3<*Ns%@yw!)}p#>(?_cCQ@z5e*&%Qu2Vt z8t~=1vJH)!YRaU>&Sc)$#Eo$@*|b%AK*Q|Ka^0fA_t!2A>VBWWwV4Szj)n&`Y?lW7 z<$Nu0ZKaloED_f-S@YDd_$rD91443-1_ZT7=3oXBn(Q@G#z~m~)-g1#8wfLK3}`xL zH2D4+WQ{wT%J_P?+-YqHn;07H)+-*m4QNVQh0yJ>O>S#>EjoCg;;&p?ypQ$QgF5R5l?ENXt{eXts$%HU9G!A+mlNX7Z^4v@=`KL5& zj|P*4qr;7&Dw%W>pAm=IeJ$Yg6Pke;?av$7pcL0=e6GQ93sf}%(ffo3+NVLubFR@Q z-McsMW)?j%H}=-&tY2I_f%0rZ=`E~#UVM!P;#fCk>16N*t$UfPMUQEa(NmJjJQO(@nO2jFX|ZXBpPkAFreIoFj-+5l&L>oq|stkyYX0ADng^( z8-Agwn;x6(4`^hW$GyW*aKy$LY_f?Pn#WXXN{p*e9U3M;7I(v-V2m~7Q|Xf&ab z2eC6^f*R72*tyYZ^u-3{B6>iAfRcsv!<*_Bjm- z4&n^m?P-#sNpc03h$}=J+Yf2Nf>Ti%=}y|7%$>9q?-nE)VT=|PNAnEIP24FYMue(O zqM_y)N29}X1Jyi$d4HU&91IGUtAS%2P5Y+Y(9bBG`cmP0f(!Z1m@O-<+oy@tZ5a+u xL&;m!G*$VgZEliZ{?}vKEdGptJudxw{Q@lE6L=o@QO*DW002ovPDHLkV1ns1_DcW& diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index 5ae7dfa..003b5c4 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,26 +1,13 @@ import React from 'react'; -import { Route, Routes } from 'react-router-dom'; -import { StoreContextProvider } from './context/ShoppingCartContext'; -import CartPage from './pages/CartPage'; -import Home from './pages/Home'; -import Login from './pages/Login'; -import Notfound from './pages/Notfound'; -import SignUp from './pages/SignUp'; -import SingleProductPage from './pages/SingleProductPage'; - +import Hero from './components/Hero'; +import Navbar from './components/Navbar'; +import 'swiper/css/bundle'; const App = () => { return ( - - - } path="/" /> - } path="/login" /> - } path="/signUp" /> - } path="/cartPage" /> - } path=":id/singleProduct" /> - - } path="*" /> - - +
+ + +
); }; diff --git a/src/assets/cart.svg b/src/assets/cart.svg new file mode 100644 index 0000000..44364c9 --- /dev/null +++ b/src/assets/cart.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/heart.svg b/src/assets/heart.svg new file mode 100644 index 0000000..5c48072 --- /dev/null +++ b/src/assets/heart.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/ph_user-circle-plus-fill.svg b/src/assets/ph_user-circle-plus-fill.svg new file mode 100644 index 0000000..086dae3 --- /dev/null +++ b/src/assets/ph_user-circle-plus-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/search.svg b/src/assets/search.svg new file mode 100644 index 0000000..2413195 --- /dev/null +++ b/src/assets/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx new file mode 100644 index 0000000..aa7b953 --- /dev/null +++ b/src/components/Hero.jsx @@ -0,0 +1,43 @@ +import React from 'react'; +import { Swiper, SwiperSlide } from 'swiper/react'; + +// Import Swiper styles +import 'swiper/css'; + +// import required modules +import { heroData } from '../database/data'; +const Hero = () => { + return ( +
+ + {heroData.map((item, index) => { + return ( + +
+

+ {item.title} +

+ + + + +
+
+ ); + })} +
+
+ ); +}; + +export default Hero; diff --git a/src/components/Hero/Hero.css b/src/components/Hero/Hero.css deleted file mode 100644 index 7b6b1c9..0000000 --- a/src/components/Hero/Hero.css +++ /dev/null @@ -1,101 +0,0 @@ -.slider-main { - - max-width: 1440px; - width:100%; - margin: 0 auto; - position: relative; - - border-radius: 20px; - height: 100%; - - - - - -} -.slider-main>.swiper { - background-color: var(--clr-primary); - /* width: 50%; */ - height: 100%; -} - - - -.swiper-container{ - display: flex; - height: 100%; - justify-content: center; - align-items: center; - width: 95%; - margin-inline: auto; - position: relative; - padding: 1.5em 0; - background-color: transparent; - flex-wrap: wrap; -} - -.slide-info{ - width: 45%; - text-align: left; - -} -.slide-info>button{ - margin-left: 0.5rem; - margin-top: .7em; -} - -.slider-img{ - width: 45%; - -} -.slider-img>img{ - width: 100%; - object-fit: cover; - height: 80vh; - border-radius: 10px; - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - -ms-border-radius: 10px; - -o-border-radius: 10px; - scale: .950; -} - - -@media (max-width:600px) { - .slider-main{ - padding: 4em 0; - } - .swiper-container{ - flex-direction: column-reverse; - gap: 2em; - - } - .slide-info{ - width: 100%; - text-align: center; - - } - .slide-info>h1{ - font-size: 90px; - } - .slider-img{ - width: 100%; - } - .slider-img>img{ - width: 100%; - border-top-left-radius: 50vw; - border-top-right-radius: 50vw; - } - - .slider-title{ - font-size: 40px; - text-align: center; - - } - .slide-info>p{ - width: 90%; - text-align: center; - margin-inline: auto; - margin-top: 1em; - } -} \ No newline at end of file diff --git a/src/components/Hero/Hero.jsx b/src/components/Hero/Hero.jsx deleted file mode 100644 index daa2156..0000000 --- a/src/components/Hero/Hero.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react' - -import './Hero.css' -import { Swiper, SwiperSlide } from 'swiper/react'; -import 'swiper/css'; -import { slider } from '../../database/slider'; -const Hero = () => { - return ( -
- - {slider.map((item,index) => { - return ( - -
-
-

{item.title}

-

{item.subtitle}

- -
-
- -
-
-
- ); - })} -
-
- ); -}; - -export default Hero \ No newline at end of file diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx new file mode 100644 index 0000000..81c8086 --- /dev/null +++ b/src/components/Navbar.jsx @@ -0,0 +1,96 @@ +import React from 'react'; + +const Navbar = () => { + const logo = + 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Logo_2_59M8WlJ.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667310731725'; + return ( + + ); +}; + +export default Navbar; diff --git a/src/components/Navbar/Navbar.css b/src/components/Navbar/Navbar.css deleted file mode 100644 index 0d2cf45..0000000 --- a/src/components/Navbar/Navbar.css +++ /dev/null @@ -1,143 +0,0 @@ - -nav{ - height: 80px; - background-color: var(--clr-primary); -} -nav>.container{ - display: flex; - - justify-content: space-between; -} -.logo{ - width: 20%; - - display: flex; - justify-content: center; - align-items: center; - min-height: 80px; - -} - -.nav-list{ - - display: block; - width: 50%; - display: flex; - justify-content: center; - align-items: center; - gap: 2em; - font-size: var(--fs-h6); - font-family: var(--ff-secondary); - text-transform: uppercase; - min-height: 80px; -} - -.list-item{ - font-size: var(--fs-h5); - text-decoration: none; - color: currentColor; - display: flex; - min-height: 80px; - line-height: 80px; - justify-content: space-between; - align-items: center; - gap: .5em; - cursor: pointer; -} -.search-icon{ - margin-top: 3px; -} - -.mobile-menu-icons{ - display: none; -} -.mobile-menu-list{ - display: none; -} - -@media (max-width:600px) { - nav{ - position: fixed; - top: 0; - - width: 100%; - - z-index: 999; - box-shadow: 5px 10px 12px rgba(37, 37, 37, 0.10); - - } - - .logo{ - margin-left: 1rem; - } - .mobile-menu-icons{ - display: block; - margin-top: 1em; - } - .nav-list{ - display: none; -} - .mobile-menu-list{ - display: flex; - height: 80px; - justify-content: space-between; - align-items: center; - width: 45%; - line-height: 80px; - } - .mobile-menu-list li{ - line-height: 2rem; - - } - .mobile-menu-list li:last-child{ - line-height: 1.8rem; - } - - .cart-icon{ - position: relative; - - } - .cart-icon::before{ - position: absolute; - height: 20px; - width: 20px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - -ms-border-radius: 50%; - -o-border-radius: 50%; - background-color: var(--clr-accent); - content: attr(data-count); - right: -10px; - top: 10px; - - font-size: 1rem; - color: var(--clr-primary); - display: flex; - justify-content: center; - align-items: center; -} -.wishlist{ - position: relative; -} -.wishlist::before{ - position: absolute; - height: 20px; - width: 20px; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - -ms-border-radius: 50%; - -o-border-radius: 50%; - background-color: var(--clr-accent); - content: attr(data-count); - right: -10px; - top: -10px; - - font-size: 1rem; - color: var(--clr-primary); - display: flex; - justify-content: center; - align-items: center; -} -} \ No newline at end of file diff --git a/src/components/Navbar/Navbar.jsx b/src/components/Navbar/Navbar.jsx deleted file mode 100644 index 3a6a850..0000000 --- a/src/components/Navbar/Navbar.jsx +++ /dev/null @@ -1,73 +0,0 @@ -import React, { useState } from 'react'; -import { Link } from 'react-router-dom'; -import { FaSearch, FaUserCircle } from 'react-icons/fa'; - -import { BsFillCartFill, BsFillHeartFill } from 'react-icons/bs'; -import './Navbar.css'; -import { useStoreContext } from '../../context/ShoppingCartContext'; - -const Navbar = () => { - const [isLoginTrue, setLoginTrue] = useState(false); - const { cartQuantity } = useStoreContext(); - return ( - - ); -}; - -export default Navbar; diff --git a/src/components/OderSummary/OderSummary.jsx b/src/components/OderSummary/OderSummary.jsx deleted file mode 100644 index 8e181e5..0000000 --- a/src/components/OderSummary/OderSummary.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; - -const OderSummary = () => { - return ( -
- - - - - - - - - - - - - -
SubtotalTotal QuantityTaxTotal
SubtotalTotal QuantityTaxTotal
-
- ); -}; - -export default OderSummary; diff --git a/src/components/ProductContainer/ProductContainer.css b/src/components/ProductContainer/ProductContainer.css deleted file mode 100644 index f52ae75..0000000 --- a/src/components/ProductContainer/ProductContainer.css +++ /dev/null @@ -1,41 +0,0 @@ -.product-container>.container{ - padding-top: 1em; - - - -} - -.section-header{ - padding-block: 2em; - -} - -.char{ - transform: translateY(115px); - -webkit-transform: translateY(115px); - -moz-transform: translateY(115px); - -ms-transform: translateY(115px); - -o-transform: translateY(115px); - transition: transform .3s ease-in-out; - -webkit-transition: transform .3s ease-in-out; - -moz-transition: transform .3s ease-in-out; - -ms-transition: transform .3s ease-in-out; - -o-transition: transform .3s ease-in-out; -} - -@media (max-width:600px) { - .section-header h2{ - font-size: 42px; - width: 100%; - text-align: center; - } - - .swiper-slide{ - width: 100% !important; - } - .swiper-container{ - width: 100% !important; - - } - .swiper-slide>img{} -} \ No newline at end of file diff --git a/src/components/ProductContainer/ProductContainer.jsx b/src/components/ProductContainer/ProductContainer.jsx deleted file mode 100644 index 3fa0a82..0000000 --- a/src/components/ProductContainer/ProductContainer.jsx +++ /dev/null @@ -1,70 +0,0 @@ -import React, { useEffect, useRef } from 'react'; -import SingleProduct from '../SingleProduct/SingleProduct'; -// SWIPER SLIDERS -import { Swiper, SwiperSlide } from 'swiper/react'; -import { Navigation } from 'swiper'; -import 'swiper/css'; -import 'swiper/css/navigation'; -// SWIPER SLIDERS -// GSAP ANIMATION -import { gsap } from 'gsap'; - -import { ScrollTrigger } from 'gsap/ScrollTrigger'; -gsap.registerPlugin(ScrollTrigger); -// GSAP ANIMATION -// CUSTOM CSS -import './ProductContainer.css'; -// CUSTOM CSS -const ProductContainer = ({ products, name, style }) => { - const secTitle = useRef(null); - const productRef = useRef(null); - useEffect(() => {}, []); - return ( -
-
-
-

- {name} -

-
- -
- - {products && - products.map((item) => { - return ( - - - - ); - })} - -
-
-
- ); -}; - -export default ProductContainer \ No newline at end of file diff --git a/src/components/ShopBanner/ShopBanner.css b/src/components/ShopBanner/ShopBanner.css deleted file mode 100644 index 628e971..0000000 --- a/src/components/ShopBanner/ShopBanner.css +++ /dev/null @@ -1,12 +0,0 @@ -.shop-banner{ - display: flex; - justify-content: center; - align-items: center; -} -.shop-banner>img{ - width: 100vw; - object-fit: cover; - height: 450px; - clip-path: ellipse(70% 100% at 50% 0%); - -} \ No newline at end of file diff --git a/src/components/ShopBanner/ShopBanner.jsx b/src/components/ShopBanner/ShopBanner.jsx deleted file mode 100644 index 3c74e9c..0000000 --- a/src/components/ShopBanner/ShopBanner.jsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react' -import './ShopBanner.css' -const ShopBanner = () => { - return ( -
- shop banner - - -
- ) -} - -export default ShopBanner \ No newline at end of file diff --git a/src/components/ShoppingCart/ShoppingCart.jsx b/src/components/ShoppingCart/ShoppingCart.jsx deleted file mode 100644 index 9be1bd0..0000000 --- a/src/components/ShoppingCart/ShoppingCart.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import Navbar from '../Navbar/Navbar'; -import { FiDelete } from 'react-icons/fi'; -import { useStoreContext } from '../../context/ShoppingCartContext'; - -const ShoppingCart = () => { - const { cartItem } = useStoreContext(); - console.log(cartItem); - - return ( -
- -
- - - - - - - - - {} - - - - - - - -
ProductPriceQuantitySubtotalRemove
-
- -
-

GREY SWEATER

-
-
-
-

$1700.00

-
- - - - $1479.00 - -
-
-
- ); -}; - -export default ShoppingCart; diff --git a/src/components/SingleProduct/SingleProduct.css b/src/components/SingleProduct/SingleProduct.css deleted file mode 100644 index 1bdedb8..0000000 --- a/src/components/SingleProduct/SingleProduct.css +++ /dev/null @@ -1,51 +0,0 @@ -.single-product{ - height: 400px; -border-top: 1px solid var(--clr-secondary); -border-bottom: 1px solid var(--clr-secondary); -border-left: 1px solid var(--clr-secondary); - padding: 1em; - - display: flex; - justify-content: center; - align-items: flex-start; - flex-direction: column; - cursor: pointer; - text-align: left; - overflow: hidden; - text-decoration: none; -} -.single-product:hover.single-product>img{ - - rotate: 3deg; - transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1); - -webkit-transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1); - -moz-transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1); - -ms-transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1); - -o-transition: rotate 0.3s cubic-bezier(0.075, 0.82, 0.165, 1); -} -.single-product>img{ - width: 300px; - height: 300px; - - border: 1px solid var(--clr-secondary); - -} - - -@media (max-width:600px) { - - .single-product{ - width: 90%; - border-right: 1px solid var(--clr-secondary); - align-items: center; - - } - .single-product>img{ - width: 80%; - height: 300px; - - border: 1px solid var(--clr-secondary); - /* border: 0; */ - - } -} \ No newline at end of file diff --git a/src/components/SingleProduct/SingleProduct.jsx b/src/components/SingleProduct/SingleProduct.jsx deleted file mode 100644 index 96a50c8..0000000 --- a/src/components/SingleProduct/SingleProduct.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -import { useStoreContext } from '../../context/ShoppingCartContext.jsx'; -import { formatCurrency } from '../../utilities/CURRENCRYFORMATTER.js'; -import './SingleProduct.css' -const SingleProduct = ({ item,style }) => { - const {discount}=useStoreContext() - - return ( - - {item.productName} - -

{item.productName}

- -

{formatCurrency(item.productPrice)} {formatCurrency(item.productPrice-discount)}

- - ); -}; - -export default SingleProduct; diff --git a/src/context/ShoppingCartContext.jsx b/src/context/ShoppingCartContext.jsx deleted file mode 100644 index 965b89b..0000000 --- a/src/context/ShoppingCartContext.jsx +++ /dev/null @@ -1,106 +0,0 @@ -import { createContext, useContext, useEffect, useState } from 'react'; -import { products } from '../database/data'; - -const StoreContext = createContext(); - -export function useStoreContext() { - return useContext(StoreContext); -} - -export function StoreContextProvider({ children }) { - // CATEGORIES - const [sneakerCollection, setSneakerCollection] = useState([]); - const [shirtCollection, setShirtCollection] = useState([]); - const [exclusiveProduct, setExclusiveProduct] = useState([]); - useEffect(() => { - const sneaker = products.filter((item) => item.cat === 'sneakers'); - setSneakerCollection(sneaker); - const shirt = products.filter((item) => item.cat === 'shirt'); - setShirtCollection(shirt); - const exclusive = products.filter((item) => item.cat === 'exclusive'); - setExclusiveProduct(exclusive); - }, []); - - // PRODUCT DISCOUNT - const discount = Math.trunc(Math.random() * 300); - // console.log(discount); - // PRODUCT DISCOUNT - - // ADD TO CART FUNCTIONS - const [cartItem, setCartItem] = useState([]); - function getItemQuantity(id) { - return cartItem.find((item) => item.id === id)?.quantity || 0; - } - - function increaseCartQuantity(id) { - setCartItem((currItem) => { - // console.log(currItem); - if (currItem.find((item) => item.id === id) == null) { - // toast.success('New Product Added', { position: 'top-right' }); - return [...currItem, { id, quantity: 1 }]; - } else { - return currItem.map((item) => { - if (item.id === id) { - // toast.success('Product Added', { position: 'top-right' }); - return { ...item, quantity: item.quantity + 1 }; - } else { - return item; - } - }); - } - }); - } - - function decreaseCartQuantity(id) { - setCartItem((currItems) => { - if (currItems.find((item) => item.id === id)?.quantity === 1) { - return currItems.filter((item) => item.id !== id); - } else { - return currItems.map((item) => { - if (item.id === id) { - return { ...item, quantity: item.quantity - 1 }; - } else { - return item; - } - }); - } - }); - } - - function removeFromCart(id) { - setCartItem((currItems) => { - return currItems.filter((item) => item.id !== id); - }); - } - - function clearCart() { - setCartItem([]); - } - - const cartQuantity = cartItem.reduce( - (quantity, item) => item.quantity + quantity, - 0, - ); - const total = cartItem.reduce((total, item) => { - const product = products.find((i) => i.id === item.id); - return total + (product?.price || 0) * item.quantity; - }, 0); - const tax = Math.round(total * 0.15); - // console.log(cartItem); - // CONTEXT VALUES - const value = { - sneakerCollection, - shirtCollection, - exclusiveProduct, - discount, - clearCart, - removeFromCart, - decreaseCartQuantity, - increaseCartQuantity, - getItemQuantity, - cartQuantity, - }; - return ( - {children} - ); -} diff --git a/src/database/cta.js b/src/database/cta.js deleted file mode 100644 index cfb09e4..0000000 --- a/src/database/cta.js +++ /dev/null @@ -1,20 +0,0 @@ -export const cta = [ - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_11_ziS2vzKyiz.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522677593" - }, - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_12_NgVgYtZUZY.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522677537" - }, - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_13_jKnC_EULO.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522677081" - }, - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_10_3rvPKXcysH.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522677040" - }, - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_8_F_Y3iKnPB.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522676865" - }, - { - img: "https://ik.imagekit.io/abirhasan/Rectangle_9_rm-2M73Ei.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522676699" - }, -] \ No newline at end of file diff --git a/src/database/data.js b/src/database/data.js index 7d0b4c1..0e0bd93 100644 --- a/src/database/data.js +++ b/src/database/data.js @@ -1,159 +1,20 @@ -export const products = [ +export const heroData = [ { - productName: "air jordan 1 retro", - productPrice: 3399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DO9369-101-1_e86oLhB0kl.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478585335", - id: 1, - cat:"sneakers" - }, - { - productName: "AIR JORDAN 1 ZOOM", - productPrice: 2599, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/CT0979-500-1_v-gYn01YxY.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478585532", - id: 2, - cat:"sneakers" - }, - { - productName: "AIR JORDAN 1 MID", - productPrice: 5999, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DN3738-400_cLqg3eLxs.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478584708", - id: 3, - cat:"sneakers" - }, - { - productName: "AIR JORDAN 1 ACCLIMATE", - productPrice: 2799, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DX2667-600-1_7HHq2Pvsn.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478584886", - id: 4, - cat:"sneakers" - }, - { - productName: "air force red retro", - productPrice: 2399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DH3718-600-1_KedXgONUFt.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478585207" - , id: 5, - cat:"sneakers" - }, - { - productName: "air force 1 mid", - productPrice: 3399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DQ8766-002-1_5zyuTyHr8u.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478585371" - , id: 6, - cat:"sneakers" - }, - { - productName: "air force 1", - productPrice: 3399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-300/DO9456-100-1_DH6F-_AC4C.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478585396" - , id: 7, - cat:"sneakers" - }, -// MEN PRINTED HALF SHIRT + img: "https://ik.imagekit.io/abirhasan/tr:w-1000/v8uge_cloth_store/banner-1_fKA07NOER.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667481328402", + + + title: 'Make Your Summer Fashion More Elegant' - { - productName: "orange retro shirt", - productPrice: 399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__3__Vo-Cs6mBt.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478376991" - , id: 8, - cat:"shirt" - }, - { - productName: "leaf half shirt", - productPrice: 599, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__9__r_ZzNSqFF.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478377980" - , id: 9, - cat:"shirt" - }, - { - productName: "mexican bloq shirt", - productPrice: 999, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__6__AOpWwpaDr.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478378512" - , id: 21, - cat:"shirt" - }, - { - productName: "chines design shirt", - productPrice: 199, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__10__ee1O8YxEk.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478378649" - , id: 10, - cat:"shirt" - }, - { - productName: "red green shirt", - productPrice: 599, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__4__nA8CbB7yi.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478379832" - , id: 11, - cat:"shirt" - }, - { - productName: "spanish retro shirt", - productPrice: 999, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Printed-Shirt__8__4uJqPqjf1h.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664478380147" - , id: 12, - cat:"shirt" - }, - - - // EXCLUSIVE PRODUCTS - { - productName: "trouser", - productPrice: 699, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/frank-flores-eyFcZLLYvfA-unsplash_4UDE3WarH.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1664603119097" - , id: 13, - cat:"exclusive" - }, - { - productName: "hand paint t-shirt", - productPrice: 699, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/abdullah-ansari-CgXGPatEn9Q-unsplash_KadE7gUOq.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1664603118064" - , id: 14, - cat:"exclusive" - }, - { - productName: "blue jacket", - productPrice: 1799, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/drop-the-label-movement-yPAiyUfZebY-unsplash_1x1r1TEvfT.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1664603117160" - , id: 15, - cat:"exclusive" - }, - { - productName: "black hat", - productPrice: 99, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/ismail-taibi-EZbDxmvsh4g-unsplash_ejweGIn_l.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1664603116829" - , id: 16, - cat:"exclusive" - }, - { - productName: "handmade sweater", - productPrice: 1099, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Rectangle_10_3rvPKXcysH.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522677040" - , id: 17, - cat:"exclusive" - }, - { - productName: "grey sweater", - productPrice: 1299, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Rectangle_8_F_Y3iKnPB.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522676865" - , id: 18, - cat:"exclusive" - }, - { - productName: "white sweater", - productPrice: 2099, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Rectangle_9_rm-2M73Ei.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664522676699" - , id: 19, - cat:"exclusive" - }, - { - productName: "hand color jacket", - productPrice: 1399, - productImage: "https://ik.imagekit.io/abirhasan/tr:w-250/Featured_Image_1_LOvP82gw9.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1664040186269" - , id: 20, - cat:"exclusive" }, -] + { + title: 'Make Your Summer Fashion More Elegant', + img: "https://ik.imagekit.io/abirhasan/tr:w-1000/v8uge_cloth_store/banner-2_pXJ-OA2Co.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667481331667", + + + }, +] \ No newline at end of file diff --git a/src/database/slider.js b/src/database/slider.js deleted file mode 100644 index ac92c19..0000000 --- a/src/database/slider.js +++ /dev/null @@ -1,35 +0,0 @@ -export const slider = [ - { - img: "https://ik.imagekit.io/abirhasan/fashion_image_cover__5__YIndrVGqU.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664435742385", - title: "winter warmer" - , subtitle: "our new range of overcoats made from 100% cashmere,ethically & without the price tag of old fashion house" - , id: 1 - }, - - - - { - img: "https://ik.imagekit.io/abirhasan/tr:w-600/fashion_image_cover__2__Z-kaIcOukk.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664435741170", - title: "style & comfort" - , subtitle: "our new range of overcoats made from 100% cashmere,ethically & without the price tag of old fashion house" - , id: 2 - }, - { - img: "https://ik.imagekit.io/abirhasan/tr:w-600/fashion_image_cover__3__VDGWOXo_W.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664435740051", - title: "summer sale" - , subtitle: "our new range of overcoats made from 100% cashmere,ethically & without the price tag of old fashion house" - , id: 3 - }, - { - img: "https://ik.imagekit.io/abirhasan/tr:w-600/fashion_image_cover__1__vZ1mgHfysm.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664435740247", - title: "style & fashion" - , subtitle: "our new range of overcoats made from 100% cashmere,ethically & without the price tag of old fashion house" - , id: 4 - }, - { - img: "https://ik.imagekit.io/abirhasan/tr:w-600/fashion_image_cover__4__5qnNvh-pee.png?ik-sdk-version=javascript-1.4.3&updatedAt=1664435740260", - title: "hijab fashion" - , subtitle: "our new range of overcoats made from 100% cashmere,ethically & without the price tag of old fashion house" - , id: 5 - }, -] \ No newline at end of file diff --git a/src/fonts/Recoleta-RegularDEMO.otf b/src/fonts/Recoleta-RegularDEMO.otf deleted file mode 100644 index b351cf85bdf39a47b76b31114b390d2c514b3ad1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586892 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 KJ&(9@h4?>VF%ky= diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..82bae16 --- /dev/null +++ b/src/index.css @@ -0,0 +1,45 @@ +@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap'); +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* SWIPER JS */ +.swiper { + width: 100%; + height: 100%; + } + + .swiper-slide { + text-align: center; + font-size: 18px; + background: #fff; + + /* Center slide text vertically */ + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; + } + + .swiper-slide img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + } + + #title::first-line{ + color: #EE3D25; + } + + body::-webkit-scrollbar{ +display: none; + } \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index 67491ad..9af0bb6 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,20 +1,10 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; - - -import App from './App'; - -import "swiper/css/bundle"; - -import './stylesheet/reset.css'; -import './stylesheet/index.css'; -import './stylesheet/pages.css'; -import { BrowserRouter } from 'react-router-dom'; +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import './index.css' ReactDOM.createRoot(document.getElementById('root')).render( - - - - - , -); + + + +) diff --git a/src/pages/Blog.jsx b/src/pages/Blog.jsx deleted file mode 100644 index 1b82080..0000000 --- a/src/pages/Blog.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react' - -const Blog = () => { - return ( -
Blog
- ) -} - -export default Blog \ No newline at end of file diff --git a/src/pages/CartPage.jsx b/src/pages/CartPage.jsx deleted file mode 100644 index 50aa172..0000000 --- a/src/pages/CartPage.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; -import Navbar from '../components/Navbar/Navbar'; -import OderSummary from '../components/OderSummary/OderSummary'; -import ShoppingCart from '../components/ShoppingCart/ShoppingCart'; -import '../stylesheet/shoppingcart.css'; -const CartPage = () => { - return ( -
- - {/*
-
- -
-
- -
-
*/} - -
-

- COMING SOON -

-
-
- ); -}; - -export default CartPage; diff --git a/src/pages/Contact.jsx b/src/pages/Contact.jsx deleted file mode 100644 index 43fea43..0000000 --- a/src/pages/Contact.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react' - -const Contact = () => { - return ( -
Contact
- ) -} - -export default Contact \ No newline at end of file diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx deleted file mode 100644 index 48d02f0..0000000 --- a/src/pages/Home.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react' -import Hero from '../components/Hero/Hero' -import Navbar from '../components/Navbar/Navbar' -import ProductContainer from '../components/ProductContainer/ProductContainer'; -import { useStoreContext } from '../context/ShoppingCartContext'; - -const Home = () => { - const { sneakerCollection,shirtCollection, exclusiveProduct } = useStoreContext(); - return ( -
- - - - - - -
- ) -} - -export default Home \ No newline at end of file diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx deleted file mode 100644 index 09d2dff..0000000 --- a/src/pages/Login.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react' -import Navbar from '../components/Navbar/Navbar' - -const Login = () => { - return ( -
-
- -
-

Login Your Account

- -
- - - - -
-
- ) -} - -export default Login \ No newline at end of file diff --git a/src/pages/Notfound.jsx b/src/pages/Notfound.jsx deleted file mode 100644 index c470ba5..0000000 --- a/src/pages/Notfound.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react' - -const Notfound = () => { - return ( -
Notfound
- ) -} - -export default Notfound \ No newline at end of file diff --git a/src/pages/SignUp.jsx b/src/pages/SignUp.jsx deleted file mode 100644 index ab0ae82..0000000 --- a/src/pages/SignUp.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react' -import Navbar from '../components/Navbar/Navbar' - -const SignUp = () => { - return ( -
-
- -
-

Create an account

- -
- - - - - -
-
- ) -} - -export default SignUp \ No newline at end of file diff --git a/src/pages/SingleProductPage.jsx b/src/pages/SingleProductPage.jsx deleted file mode 100644 index 1889abb..0000000 --- a/src/pages/SingleProductPage.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import { useParams } from 'react-router-dom' -import Navbar from '../components/Navbar/Navbar.jsx' -import { useStoreContext } from '../context/ShoppingCartContext.jsx' -import {products} from '../database/data.js' -import { formatCurrency } from '../utilities/CURRENCRYFORMATTER.js' -import { BsFillCartPlusFill, BsFillBookmarkPlusFill } from 'react-icons/bs'; -const SingleProductPage = () => { - let { id } = useParams(); - const item = products.filter((product) => product.id === Number(id)); - const { discount, increaseCartQuantity } = useStoreContext(); - - return ( -
- -
-
-
- {item[0].productName} -
-
-

{item[0].productName}

-
-

{formatCurrency(item[0].productPrice)}

- {formatCurrency(item[0].productPrice - discount)} -
-
- - -
-
-
-
-
- ); -}; - -export default SingleProductPage \ No newline at end of file diff --git a/src/stylesheet/index.css b/src/stylesheet/index.css deleted file mode 100644 index 730a942..0000000 --- a/src/stylesheet/index.css +++ /dev/null @@ -1,130 +0,0 @@ - -@font-face { - - font-family: recolaAlt; - - src: url(../fonts/Recoleta-RegularDEMO.otf); - } - -:root { - /* FONT-FAMILY */ - --ff-primary: 'Outfit', sans-serif; - --ff-secondary: 'Anton', sans-serif; - - /* COLOR PLATE */ - --clr-primary: #fdfbf5; - --clr-secondary: #010a0b; - --clr-accent: #c02a2a; - - /* FONT SIZE */ - --fs-h1: 9.5rem; - --fs-h2: 5rem; - --fs-h2: 5rem; - --fs-h3: 1.9rem; - --fs-h4: 1.7rem; - --fs-h5: 1.25rem; - --fs-h6: 1rem; - - /* CUSTOM FONT SIZE */ -} - -/* CUSTOM PROPERTIES */ - -.container { - width: 1440px; - max-width: 90%; - margin: 0 auto; -} - -.headline { - font-size: var(--fs-h1); - color: var(--clr-secondary); - line-height: 110%; - font-family: var(--ff-secondary); - text-transform: uppercase; -} - -.sub-headline { - width: 80%; - font-size: var(--fs-h5); - font-family: var(--ff-primary); - font-weight: normal; - color: var(--clr-secondary); - text-transform: capitalize; - padding-left: .5em; -} - -.section-title { - font-size: var(--fs-h2); - font-family: var(--ff-secondary); - color: var(--clr-secondary); - text-transform: uppercase; - /* clip-path: ; */ - line-height: 110%; -} - -/* CUSTOM CARD */ -.card{ - width: 23%; - padding: .5rem; -} -.product-name{ - font-size: var(--fs-h3); - color: var(--clr-secondary); - font-family: var(--ff-secondary); - text-transform: uppercase; - font-weight:500; -} -.original-price{ - color: var(--clr-accent); - font-size: var(--fs-h3); - font-family: var(--ff-secondary); - font-weight: 300; - opacity: .9; -} - -.discount-price{ - color: var(--clr-secondary); - font-size: var(--fs-h3); - font-family: var(--ff-secondary); - font-weight: 300; - opacity: .9; -} - - -.btn-large{ - min-width: 220px; - min-height: 55px; - background-color: var(--clr-accent); - font-family: var(--ff-primary); - font-size: var(--fs-h4); - font-weight: 500; - color: var(--clr-primary); - border: transparent; - padding: 0; - margin: 0; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -ms-border-radius: 5px; - -o-border-radius: 5px; -} -.btn{ - min-width: 200px; - min-height: 48px; - background-color: var(--clr-accent); - font-family: var(--ff-primary); - font-size: var(--fs-h6); - font-weight: 500; - color: var(--clr-primary); - border: transparent; - padding: 0; - margin: 0; -} - - - -section{ - background-color: var(--clr-primary); -} - diff --git a/src/stylesheet/pages.css b/src/stylesheet/pages.css deleted file mode 100644 index dba6726..0000000 --- a/src/stylesheet/pages.css +++ /dev/null @@ -1,217 +0,0 @@ -/* SIGN UP PAGE STYLING */ -.sign-up{ - min-height: 100vh; - - -} -.sign-up>h2{ - text-align: center; - margin-block: 1em; - -} -.sign-up>form{ - - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - width: 100%; -} -.input-field{ - display: block; - width:40%; - margin: 1em auto; - min-height: 50px; - padding: 0; - border-bottom: .2px solid var(--clr-secondary); - background-color: transparent; - border-right:0 ; - border-left: 0; - border-top: 0; - text-transform: uppercase; - padding-left: 0.5em; - -} -.input-field:focus{ - border-bottom: .2px solid var(--clr-secondary); - background-color: transparent; - border-right:0 ; - border-left: 0; - border-top: 0; - outline: 0; -} -.input-btn{ - background-color: var(--clr-accent); - min-width: 280px; - color: var(--clr-primary); - min-height: 50px; - border: 0; - font-size: var(--fs-h4); - text-transform: uppercase; - border-radius: 2px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - cursor: pointer; - margin-top: 1em; - -} -@media (max-width:600px) { - .input-field{ - width: 68%; - } - .sign-up>h2{ - text-align: center; - margin-block: 6rem 1em; - font-size: 2.5rem; - - - } -} -/* SIGN UP PAGE STYLING */ -/* SINGLE PRODUCT PAGE STYLING */ -.single-product-page{ - - /* min-height: 100vh; */ - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 1em; - flex-wrap: wrap; -} -.single-product-img{ - width: 40%; - - min-height: 600px; - border: 1px solid var(--clr-secondary); -} -.single-product-img>img{ - width: 100%; - height: 100%; - object-fit: cover; -} -.single-product-info{ -width: 50%; -} -.single-product-name{ - font-size: var(--fs-h2); - font-family: var(--ff-secondary); - text-transform: uppercase; - color: var(--clr-secondary); -} -.single-product-price{ - display: flex; - justify-content: space-between; - width: 70%; - flex-wrap: wrap; -} -.single-product-price h4{ - font-size: 3.5rem; - font-family: var(--ff-secondary); - text-transform: uppercase; - display: flex; - - color: var(--clr-accent); - text-decoration: line-through; -} -.single-product-price>span{ - font-size: 3.5rem; - font-family: var(--ff-secondary); - text-transform: uppercase; - display: flex; - - color: var(--clr-secondary); -} - -.single-page-btn-group{ - - display: flex; - justify-content: space-between; - align-items: center; - min-height: 100px; -} -.addToCartBtn{ - width: 48%; - min-height: 60px; - font-size: 2.5rem; - font-family: var(--ff-secondary); - text-transform: uppercase; - background-color: var(--clr-accent); - color: var(--clr-primary); - border: 0; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -ms-border-radius: 5px; - -o-border-radius: 5px; - cursor: pointer; -} -.wishlist-btn{ - width: 48%; - min-height: 60px; - font-size: 2.5rem; - font-family: var(--ff-secondary); - text-transform: uppercase; - background-color: var(--clr-primary); - color: var(--clr-secondary); - border:1px solid var(--clr-secondary) ; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -ms-border-radius: 5px; - -o-border-radius: 5px; - cursor: pointer; -} - -@media (max-width:600px) { - .single-product-page{ -margin-top: 100px; - } - .single-product-img{ - width: 100%; - - height: auto; - border: 0; - min-height: 400px; - - } - .single-product-img>img{ - width: 100%; - } - .single-product-info{ - width: 100%; - } - .single-product-name{ - font-size: 42px; - width: 100%; - text-align: center; - } - .single-product-price{ - justify-content: center; - align-items: center; - width: 100%; - } - .single-product-price h4{ - font-size: 32px; - width: 50%; - - } - .single-product-price span{ - font-size: 28px; - width: 32%; - - } - .single-page-btn-group{ - flex-wrap: wrap; - gap: 1em; - margin-top: 1em; - } - .addToCartBtn{ - width: 100%; - } - .wishlist-btn{ - width: 100%; - } -} -/* SINGLE PRODUCT PAGE STYLING */ \ No newline at end of file diff --git a/src/stylesheet/reset.css b/src/stylesheet/reset.css deleted file mode 100644 index aab9642..0000000 --- a/src/stylesheet/reset.css +++ /dev/null @@ -1,37 +0,0 @@ -html { - box-sizing: border-box; - font-size: 16px; - } - - body, - h1, - h2, - h3, - h4, - h5, - h6, - p, - ol, - ul { - margin: 0; - padding: 0; - font-weight: normal; - -webkit-font-smoothing: antialiased; - } - - ol, - ul { - list-style: none; - } - - - - body { - - font-family: var(--ff-primary); - width: 100%; - height: 100%; - - - } - diff --git a/src/stylesheet/shoppingcart.css b/src/stylesheet/shoppingcart.css deleted file mode 100644 index b68c15d..0000000 --- a/src/stylesheet/shoppingcart.css +++ /dev/null @@ -1,76 +0,0 @@ -.cart-page { - width: 100%; -} -table { - width: 100%; - font-family: var(--ff-secondary); -} - -.cart-info { - display: flex; - flex-wrap: wrap; - align-items: center; - width: 100%; - - text-align: left; -} - -th { - text-align: left; - padding:1rem 5px; - color: var(--clr-secondary); - /* background-color: var(--clr-accent); */ - text-align: center; - font-size: var(--fs-h5); - text-transform: uppercase; - border: 1px solid var(--clr-secondary); - -} - -td { - padding: 10px 5px; - border: 1px solid var(--clr-secondary); -} -.product-name { - font-size: var(--fs-h4); - margin-left: 10px; -} -.remove-btn { - width: 120px; - display: block; - margin-left: 10px; -} - -small { - font-size: var(--fs-h5); - margin-left: 10px; -} - -.button-groups { - width: 20%; - text-align: center; -} -.button-groups > button { - width: 40px; - height: 40px; - margin: 0.5em; - background-color: var(--clr-secondary); - color: var(--clr-primary); - font-weight: 600; - border-radius: 3px; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - -ms-border-radius: 3px; - -o-border-radius: 3px; - cursor: pointer; -} - -.cart-price { - width: 20%; - text-align: center; - font-size: var(--fs-h4); - font-weight: 500; -} -.product-price{ - text-align: center; -} \ No newline at end of file diff --git a/src/utilities/CURRENCRYFORMATTER.js b/src/utilities/CURRENCRYFORMATTER.js deleted file mode 100644 index 7ee375e..0000000 --- a/src/utilities/CURRENCRYFORMATTER.js +++ /dev/null @@ -1,8 +0,0 @@ -const CURRENCY_FORMATTER = new Intl.NumberFormat(undefined, { currency: "USD", style: "currency" }) - - - - -export function formatCurrency(number) { - return CURRENCY_FORMATTER.format(number) -} \ No newline at end of file diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..9d8a33b --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,21 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + fontFamily: { + "outfit": `'Outfit', sans-serif;` + } + + , + colors: { + "black": '#1e1e1e', + 'orange': '#EE3D25' + } + }, + }, + plugins: [require("daisyui")], +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..3e24af7 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1203 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.20.0": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" + integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== + +"@babel/core@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" + integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.6" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helpers" "^7.19.4" + "@babel/parser" "^7.19.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.19.6", "@babel/generator@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" + integrity sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg== + dependencies: + "@babel/types" "^7.20.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-compilation-targets@^7.19.3": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== + dependencies: + "@babel/compat-data" "^7.20.0" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" + integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== + +"@babel/helper-simple-access@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" + integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== + dependencies: + "@babel/types" "^7.19.4" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.19.4": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" + integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.18.10", "@babel/parser@^7.19.6", "@babel/parser@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.1.tgz#3e045a92f7b4623cafc2425eddcb8cf2e54f9cc5" + integrity sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw== + +"@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-development@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.18.6" + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" + integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.19.0" + +"@babel/template@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.19.6", "@babel/traverse@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" + integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.1" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.1" + "@babel/types" "^7.20.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" + integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@esbuild/android-arm@0.15.12": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769" + integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA== + +"@esbuild/linux-loong64@0.15.12": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" + integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw== + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-dom@^18.0.7": + version "18.0.8" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.8.tgz#d2606d855186cd42cc1b11e63a71c39525441685" + integrity sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.0.22": + version "18.0.24" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.24.tgz#2f79ed5b27f08d05107aab45c17919754cc44c20" + integrity sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@vitejs/plugin-react@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz#1b9f63b8b6bc3f56258d20cd19b33f5cc761ce6e" + integrity sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-jsx" "^7.19.0" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.26.7" + react-refresh "^0.14.0" + +acorn-node@^1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.0.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +autoprefixer@^10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: + version "1.0.30001429" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz#70cdae959096756a85713b36dd9cb82e62325639" + integrity sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +css-selector-tokenizer@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd" + integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +daemon@>=0.3.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/daemon/-/daemon-1.1.0.tgz#6c5102c81db0be856fc9008fc2c935b398864ae8" + integrity sha512-1vX9YVcP21gt12nSD3SQRC/uPU7fyA6M8qyClTBIFuiRWoylFn57PwXhjBAqRl085bZAje7sILhZU48qcS9SWw== + +daisyui@^2.37.0: + version "2.37.0" + resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.37.0.tgz#9bca69fa3c9608bdfb0dfe1990444a9e847a372e" + integrity sha512-dwnPE4OC3UDGoarb7DM+XoiQWyccmTj7wMHR0ugZX1/4fIevhbHl7jr8b3jh1b9bOBff4ZXgbi6Mj6B6HgOymg== + dependencies: + color "^4.2" + css-selector-tokenizer "^0.8.0" + postcss-js "^4.0.0" + tailwindcss "^3" + +debug@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +defined@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +detective@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" + integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== + dependencies: + acorn-node "^1.8.2" + defined "^1.0.0" + minimist "^1.2.6" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +dom7@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/dom7/-/dom7-4.0.4.tgz#8b68c5d8e5e2ed0fddb1cb93e433bc9060c8f3fb" + integrity sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw== + dependencies: + ssr-window "^4.0.0" + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +esbuild-android-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc" + integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q== + +esbuild-android-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" + integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA== + +esbuild-darwin-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" + integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q== + +esbuild-darwin-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" + integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw== + +esbuild-freebsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" + integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw== + +esbuild-freebsd-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" + integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g== + +esbuild-linux-32@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" + integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA== + +esbuild-linux-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" + integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA== + +esbuild-linux-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" + integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ== + +esbuild-linux-arm@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" + integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A== + +esbuild-linux-mips64le@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" + integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A== + +esbuild-linux-ppc64le@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" + integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg== + +esbuild-linux-riscv64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" + integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA== + +esbuild-linux-s390x@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" + integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww== + +esbuild-netbsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" + integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w== + +esbuild-openbsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" + integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw== + +esbuild-sunos-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" + integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg== + +esbuild-windows-32@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" + integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw== + +esbuild-windows-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" + integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA== + +esbuild-windows-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" + integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA== + +esbuild@^0.15.9: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" + integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng== + optionalDependencies: + "@esbuild/android-arm" "0.15.12" + "@esbuild/linux-loong64" "0.15.12" + esbuild-android-64 "0.15.12" + esbuild-android-arm64 "0.15.12" + esbuild-darwin-64 "0.15.12" + esbuild-darwin-arm64 "0.15.12" + esbuild-freebsd-64 "0.15.12" + esbuild-freebsd-arm64 "0.15.12" + esbuild-linux-32 "0.15.12" + esbuild-linux-64 "0.15.12" + esbuild-linux-arm "0.15.12" + esbuild-linux-arm64 "0.15.12" + esbuild-linux-mips64le "0.15.12" + esbuild-linux-ppc64le "0.15.12" + esbuild-linux-riscv64 "0.15.12" + esbuild-linux-s390x "0.15.12" + esbuild-netbsd-64 "0.15.12" + esbuild-openbsd-64 "0.15.12" + esbuild-sunos-64 "0.15.12" + esbuild-windows-32 "0.15.12" + esbuild-windows-64 "0.15.12" + esbuild-windows-arm64 "0.15.12" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +fast-glob@^3.2.12: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +init@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/init/-/init-0.1.2.tgz#9882ac152707bccba7fe2207c8df8050875c1504" + integrity sha512-IvHUjULS2q+BXJdiu4FHkByh3+qSFmkOXQ2ItSfYTtkdUksQc0yNX6f1uDyokzRV71tjpFsFc3ckeYLJXunTGw== + dependencies: + daemon ">=0.3.0" + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +lilconfig@^2.0.5, lilconfig@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +loose-envify@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +magic-string@^0.26.7: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== + dependencies: + sourcemap-codec "^1.4.8" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +postcss-import@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" + integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-nested@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" + integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.17, postcss@^8.4.18: + version "8.4.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" + integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-fast-marquee@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/react-fast-marquee/-/react-fast-marquee-1.3.5.tgz#e53995027102fbec92da90606d7ca89703db9903" + integrity sha512-eOqLoz4iVVBvi2wN/web8hd2XX9y2Z6CYR7g++7nTVHlTOXBtqyARQJ9rYNpbp179hAzloMx0yBFAo8LpNYmKQ== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.1.7, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^2.79.1: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +ssr-window@^4.0.0, ssr-window@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-4.0.2.tgz#dc6b3ee37be86ac0e3ddc60030f7b3bc9b8553be" + integrity sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swiper@^8.4.4: + version "8.4.4" + resolved "https://registry.yarnpkg.com/swiper/-/swiper-8.4.4.tgz#868ccad5384624e84143b469c75bc54ba004e668" + integrity sha512-jA/8BfOZwT8PqPSnMX0TENZYitXEhNa7ZSNj1Diqh5LZyUJoBQaZcqAiPQ/PIg1+IPaRn/V8ZYVb0nxHMh51yw== + dependencies: + dom7 "^4.0.4" + ssr-window "^4.0.2" + +tailwindcss@^3, tailwindcss@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.1.tgz#1bd828fff3172489962357f8d531c184080a6786" + integrity sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg== + dependencies: + arg "^5.0.2" + chokidar "^3.5.3" + color-name "^1.1.4" + detective "^5.2.1" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + lilconfig "^2.0.6" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.17" + postcss-import "^14.1.0" + postcss-js "^4.0.0" + postcss-load-config "^3.1.4" + postcss-nested "6.0.0" + postcss-selector-parser "^6.0.10" + postcss-value-parser "^4.2.0" + quick-lru "^5.1.1" + resolve "^1.22.1" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.2.tgz#280762bfaf47bcea1d12698427331c0009ac7c1f" + integrity sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw== + dependencies: + esbuild "^0.15.9" + postcss "^8.4.18" + resolve "^1.22.1" + rollup "^2.79.1" + optionalDependencies: + fsevents "~2.3.2" + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From e3db70320d05f1509fc12995585943bb1698efc4 Mon Sep 17 00:00:00 2001 From: abirhasn07 Date: Thu, 3 Nov 2022 22:30:53 +0600 Subject: [PATCH 2/5] product-container update --- src/App.jsx | 8 +++ src/assets/Group 16.svg | 7 +++ src/components/Banner.jsx | 19 +++++++ src/components/Hero.jsx | 2 +- src/components/Products.jsx | 24 +++++++++ src/components/SingleProduct.jsx | 57 ++++++++++++++++++++ src/database/data.js | 89 ++++++++++++++++++++++++++++++++ 7 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 src/assets/Group 16.svg create mode 100644 src/components/Banner.jsx create mode 100644 src/components/Products.jsx create mode 100644 src/components/SingleProduct.jsx diff --git a/src/App.jsx b/src/App.jsx index 003b5c4..94da59c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,11 +2,19 @@ import React from 'react'; import Hero from './components/Hero'; import Navbar from './components/Navbar'; import 'swiper/css/bundle'; +import Products from './components/Products'; +import Banner from './components/Banner'; +import { bestSeller, newYearExclusive } from './database/data'; const App = () => { + const weekly_product = bestSeller; + const yearly_product = newYearExclusive; return (
+ + +
); }; diff --git a/src/assets/Group 16.svg b/src/assets/Group 16.svg new file mode 100644 index 0000000..80bf360 --- /dev/null +++ b/src/assets/Group 16.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/components/Banner.jsx b/src/components/Banner.jsx new file mode 100644 index 0000000..01cb1c5 --- /dev/null +++ b/src/components/Banner.jsx @@ -0,0 +1,19 @@ +import React from 'react'; + +const Banner = () => { + const img = + 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/weekly_Best_Sellers_T0GtNfzeoG.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667489774388'; + return ( +
+ discount banner +
+ ); +}; + +export default Banner; diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx index aa7b953..d1f0687 100644 --- a/src/components/Hero.jsx +++ b/src/components/Hero.jsx @@ -16,7 +16,7 @@ const Hero = () => {

{item.title}

diff --git a/src/components/Products.jsx b/src/components/Products.jsx new file mode 100644 index 0000000..be1aba5 --- /dev/null +++ b/src/components/Products.jsx @@ -0,0 +1,24 @@ +import React from 'react'; + +import SingleProduct from './SingleProduct'; + +const Products = ({ productsData }) => { + return ( +
+
+ weekly Best Sellers{' '} +
+
+ {productsData && + productsData.map((item, index) => { + return ; + })} +
+
+ ); +}; + +export default Products; diff --git a/src/components/SingleProduct.jsx b/src/components/SingleProduct.jsx new file mode 100644 index 0000000..c4e8ba5 --- /dev/null +++ b/src/components/SingleProduct.jsx @@ -0,0 +1,57 @@ +import React from 'react'; + +const SingleProduct = ({ item }) => { + return ( +
+
+ {item.name} +
+

{item.name}

+ +
+

USD ${item.price}

+
+ + + + + + + +
+
+
+ ); +}; + +export default SingleProduct; diff --git a/src/database/data.js b/src/database/data.js index 0e0bd93..47e7e7b 100644 --- a/src/database/data.js +++ b/src/database/data.js @@ -17,4 +17,93 @@ export const heroData = [ }, +] + + + +export const bestSeller = [ + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___2__wW9qQbq4W.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486403474', + name: 'ladies product', + price: 750, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___3__31GMu_9Qh.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486403240', + name: 'ladies product', + price: 850, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___1__8DnyAob--I.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486403138', + name: 'ladies product', + price: 950, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___7__Zhqpi0T6Ci.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486402512', + name: 'ladies product', + price: 599, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___8__NUXcIhnTl.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486402433', + name: 'ladies product', + price: 699, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___4__kDRra1LnaH.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486401546', + name: 'ladies product', + price: 899, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___5__yoGwbJc1VR.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486401319', + name: 'ladies product', + price: 799, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/product___6__rsf3Q2oc0.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667486400999', + name: 'ladies product', + price: 999, + }, +] + + +export const newYearExclusive = [ + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Rectangle_9_mWsDEYae6.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667491710826', + name: 'exclusive product', + price: 1299, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___1__3vrdt-iKL.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490498632', + name: 'exclusive product', + price: 1399, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___2__njulqHORf.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490498832', + name: 'exclusive product', + price: 1499, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___6__3nkmmsYzh.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490498964', + name: 'exclusive product', + price: 1599, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___5__8zRnunA-cc.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490499039', + name: 'exclusive product', + price: 1699, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___8__0qrOFi70D-.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490499103', + name: 'exclusive product', + price: 1799, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___3__rNcjyE-alU.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490499273', + name: 'exclusive product', + price: 1899, + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/exclusive_product___4__mGik7atYXm.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667490499433', + name: 'exclusive product', + price: 1999, + }, ] \ No newline at end of file From 1dcfe3e9c87a3e78f17cc052686f7de8a8f2100e Mon Sep 17 00:00:00 2001 From: abirhasn07 Date: Sun, 6 Nov 2022 01:14:00 +0600 Subject: [PATCH 3/5] home page done --- src/App.jsx | 8 ++++ src/assets/star-svgrepo-com.svg | 22 +++++++++ src/components/Banner.jsx | 39 ++++++++++++---- src/components/Categories.jsx | 63 +++++++++++++++++++++++++ src/components/Hero.jsx | 2 +- src/components/Newsletter.jsx | 37 +++++++++++++++ src/components/SocialMedia.jsx | 25 ++++++++++ src/components/Testimonial.jsx | 82 +++++++++++++++++++++++++++++++++ src/database/banner.js | 14 ++++++ src/database/data.js | 60 ++++++++++++++++++++++++ src/index.css | 7 ++- tailwind.config.cjs | 5 ++ 12 files changed, 349 insertions(+), 15 deletions(-) create mode 100644 src/assets/star-svgrepo-com.svg create mode 100644 src/components/Categories.jsx create mode 100644 src/components/Newsletter.jsx create mode 100644 src/components/SocialMedia.jsx create mode 100644 src/components/Testimonial.jsx create mode 100644 src/database/banner.js diff --git a/src/App.jsx b/src/App.jsx index 94da59c..d3dabb1 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -5,6 +5,10 @@ import 'swiper/css/bundle'; import Products from './components/Products'; import Banner from './components/Banner'; import { bestSeller, newYearExclusive } from './database/data'; +import Categories from './components/Categories'; +import Testimonial from './components/Testimonial'; +import SocialMedia from './components/SocialMedia'; +import Newsletter from './components/Newsletter'; const App = () => { const weekly_product = bestSeller; const yearly_product = newYearExclusive; @@ -12,9 +16,13 @@ const App = () => {
+ + + +
); }; diff --git a/src/assets/star-svgrepo-com.svg b/src/assets/star-svgrepo-com.svg new file mode 100644 index 0000000..1742890 --- /dev/null +++ b/src/assets/star-svgrepo-com.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/Banner.jsx b/src/components/Banner.jsx index 01cb1c5..d480cf6 100644 --- a/src/components/Banner.jsx +++ b/src/components/Banner.jsx @@ -1,17 +1,36 @@ import React from 'react'; +import { banner } from '../database/banner'; +// Import Swiper React components +import { Swiper, SwiperSlide } from 'swiper/react'; + +// Import Swiper styles +import 'swiper/css'; +import 'swiper/css/pagination'; +import { Autoplay, Pagination } from 'swiper'; const Banner = () => { - const img = - 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/weekly_Best_Sellers_T0GtNfzeoG.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667489774388'; return ( -
- discount banner +
+ + {banner.map((item, index) => ( + + + + ))} +
); }; diff --git a/src/components/Categories.jsx b/src/components/Categories.jsx new file mode 100644 index 0000000..3915acc --- /dev/null +++ b/src/components/Categories.jsx @@ -0,0 +1,63 @@ +import React from 'react'; +// Import Swiper React components +import { Swiper, SwiperSlide } from 'swiper/react'; + +// Import Swiper styles +import 'swiper/css'; + +import { Autoplay } from 'swiper'; +import { categories } from '../database/data'; +const Categories = () => { + return ( +
+ + {categories.map((cat, index) => { + return ( + +
+ {cat.name} +
+ {cat.name} +
+
+
+ ); + })} +
+
+ ); +}; + +export default Categories; diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx index d1f0687..5f650d6 100644 --- a/src/components/Hero.jsx +++ b/src/components/Hero.jsx @@ -9,7 +9,7 @@ import { heroData } from '../database/data'; const Hero = () => { return (
- + {heroData.map((item, index) => { return ( diff --git a/src/components/Newsletter.jsx b/src/components/Newsletter.jsx new file mode 100644 index 0000000..d02b186 --- /dev/null +++ b/src/components/Newsletter.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +const bg = `https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/newsletter_atnLltTdi.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667674225656`; +const Newsletter = () => { + return ( +
+
+
+

+ get tips from our experts +

+

+ subscribe our Newsletter For Stay updated +

+
+
+ + +
+
+
+ ); +}; + +export default Newsletter; diff --git a/src/components/SocialMedia.jsx b/src/components/SocialMedia.jsx new file mode 100644 index 0000000..885e071 --- /dev/null +++ b/src/components/SocialMedia.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { socialMedia } from '../database/data'; +import Marquee from 'react-fast-marquee'; + +const SocialMedia = () => { + const img = socialMedia.map((item, index) => { + return ( + fashion_icon + ); + }); + return ( +
+ {img} +
+ ); +}; + +export default SocialMedia; diff --git a/src/components/Testimonial.jsx b/src/components/Testimonial.jsx new file mode 100644 index 0000000..525b8af --- /dev/null +++ b/src/components/Testimonial.jsx @@ -0,0 +1,82 @@ +import React, { useEffect, useState } from 'react'; +import star from '../assets/star-svgrepo-com.svg'; +import { Swiper, SwiperSlide } from 'swiper/react'; + +// Import Swiper styles +import 'swiper/css'; +import 'swiper/css/scrollbar'; + +// import required modules +import { Autoplay, Scrollbar } from 'swiper'; +const Testimonial = () => { + useEffect(() => { + const fetchData = async () => { + const res = await fetch('https://testimonialapi.toolcarton.com/api'); + const data = await res.json(); + setUser(data); + }; + fetchData(); + }, []); + + const [user, setUser] = useState([]); + + const data = user.map((item, index) => { + return ( + +
+
+ {item.name} +
+

{item.name}

+ {item.designation} +
+
+ + {item.rating} +
+
+ +
+
+ ); + }); + return ( +
+ + {data} + +
+ ); +}; + +export default Testimonial; diff --git a/src/database/banner.js b/src/database/banner.js new file mode 100644 index 0000000..d7a5be3 --- /dev/null +++ b/src/database/banner.js @@ -0,0 +1,14 @@ +export const banner = [ + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/banner-6_yLu3PLw07.webp?ik-sdk-version=javascript-1.4.3&updatedAt=1667662293321' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/banner-1_AFA8wA9z-.webp?ik-sdk-version=javascript-1.4.3&updatedAt=1667662293136' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/banner-2_vQ84UU57ET.webp?ik-sdk-version=javascript-1.4.3&updatedAt=1667662293269' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/banner-1__1__PzBrgUxK2.webp?ik-sdk-version=javascript-1.4.3&updatedAt=1667662292822' + }, +] \ No newline at end of file diff --git a/src/database/data.js b/src/database/data.js index 47e7e7b..5810646 100644 --- a/src/database/data.js +++ b/src/database/data.js @@ -106,4 +106,64 @@ export const newYearExclusive = [ name: 'exclusive product', price: 1999, }, +] + + + + +export const categories = [ + { + name: 'bags', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/bags_T0EwpTz41a.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969686' + }, + { + name: 'kids', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/woman_rSRJzS-iLX.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969514' + }, + { + name: 'woman', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/woman_rSRJzS-iLX.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969514' + }, + { + name: 'sneakers', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/sneakers_xGpAAdXeSC.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969691' + }, + { + name: 'watches', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/watch_KxS4T9Kq1.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969068' + }, + { + name: 'glass', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/sunglass_KYcTxKds8R.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969308' + }, + { + name: 'man', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/man_ZVKPr9-Ab.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659968942' + }, + { + name: 'sports', + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Categories/sports_wmJl60DLv.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667659969088' + }, +] + + +export const socialMedia = [ + { + img: 'https://ik.imagekit.io/abirhasan/tr:w-298,h-298/v8uge_cloth_store/Social_Media/5_S9l9s2vtb.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672198193' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Social_Media/4_4eaBwu4Gf-.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672198023' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Social_Media/2_ARAauHKBC.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672197937' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Social_Media/3_aVR6GkgXVD.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672197748' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Social_Media/5__1__fKhzAvZZAD.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672197734' + }, + { + img: 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Social_Media/6_bYojE7OBD.jpg?ik-sdk-version=javascript-1.4.3&updatedAt=1667672197710' + }, ] \ No newline at end of file diff --git a/src/index.css b/src/index.css index 82bae16..6966d5e 100644 --- a/src/index.css +++ b/src/index.css @@ -12,7 +12,7 @@ .swiper-slide { text-align: center; font-size: 18px; - background: #fff; + /* Center slide text vertically */ display: -webkit-box; @@ -31,9 +31,8 @@ .swiper-slide img { display: block; - width: 100%; - height: 100%; - object-fit: cover; + + object-fit: contain; } #title::first-line{ diff --git a/tailwind.config.cjs b/tailwind.config.cjs index 9d8a33b..34c3fdc 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -10,6 +10,11 @@ module.exports = { "outfit": `'Outfit', sans-serif;` } + , + backgroundImage: { + 'newsletter': "url('https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/newsletter_atnLltTdi.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667674225656')" + } + , colors: { "black": '#1e1e1e', From 6ef2d2c9d87504de97b1d794454ead7f864437dc Mon Sep 17 00:00:00 2001 From: abirhasn07 Date: Sun, 6 Nov 2022 20:45:53 +0600 Subject: [PATCH 4/5] home page design --- src/components/Categories.jsx | 43 +++++++++++++------------- src/components/Hero.jsx | 58 ++++++++++++++--------------------- src/components/Navbar.jsx | 39 +++++++++++++---------- src/index.css | 7 +++++ 4 files changed, 74 insertions(+), 73 deletions(-) diff --git a/src/components/Categories.jsx b/src/components/Categories.jsx index 3915acc..234eeaf 100644 --- a/src/components/Categories.jsx +++ b/src/components/Categories.jsx @@ -8,10 +8,30 @@ import 'swiper/css'; import { Autoplay } from 'swiper'; import { categories } from '../database/data'; const Categories = () => { + const catList = categories.map((cat, index) => { + return ( + +
+ {cat.name} +
+ {cat.name} +
+
+
+ ); + }); return (
{ modules={[Autoplay]} className="mySwiper" > - {categories.map((cat, index) => { - return ( - -
- {cat.name} -
- {cat.name} -
-
-
- ); - })} + {catList}
); diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx index 5f650d6..077e6f7 100644 --- a/src/components/Hero.jsx +++ b/src/components/Hero.jsx @@ -1,41 +1,29 @@ import React from 'react'; -import { Swiper, SwiperSlide } from 'swiper/react'; - -// Import Swiper styles -import 'swiper/css'; - -// import required modules -import { heroData } from '../database/data'; const Hero = () => { + const banner = + 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Banner/final_banner_cxg3Xddul.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667742802594'; return ( -
- - {heroData.map((item, index) => { - return ( - -
-

- {item.title} -

- - - - -
-
- ); - })} -
+
+
+

exclusive Collection

+

+ Make Your Summer Fashion More + Elegant +

+ + use this code to receive 50% discount off all products + + +
+
+ this is a banner v8uge website +
); }; diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx index 81c8086..1a24b34 100644 --- a/src/components/Navbar.jsx +++ b/src/components/Navbar.jsx @@ -2,18 +2,23 @@ import React from 'react'; const Navbar = () => { const logo = - 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Logo_2_59M8WlJ.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667310731725'; + 'https://ik.imagekit.io/abirhasan/v8uge_cloth_store/Logo_1_XgP3o3EX2.png?ik-sdk-version=javascript-1.4.3&updatedAt=1667736627353'; return (