├── .gitignore ├── README.md ├── index.html ├── package.json ├── postcss.config.cjs ├── public └── hoobank.svg ├── src ├── App.jsx ├── assets │ ├── Discount.svg │ ├── Send.svg │ ├── Shield.svg │ ├── Star.svg │ ├── airbnb.png │ ├── apple.svg │ ├── arrow-up.svg │ ├── bill.png │ ├── binance.png │ ├── card.png │ ├── close.svg │ ├── coinbase.png │ ├── dropbox.png │ ├── facebook.svg │ ├── google.svg │ ├── index.js │ ├── instagram.svg │ ├── linkedin.svg │ ├── logo.svg │ ├── menu.svg │ ├── people01.png │ ├── people02.png │ ├── people03.png │ ├── quotes.svg │ ├── react.svg │ ├── robot.png │ └── twitter.svg ├── components │ ├── Billing.jsx │ ├── Business.jsx │ ├── Button.jsx │ ├── CTA.jsx │ ├── CardDeal.jsx │ ├── Clients.jsx │ ├── FeedbackCard.jsx │ ├── Footer.jsx │ ├── GetStarted.jsx │ ├── Hero.jsx │ ├── Navbar.jsx │ ├── Stats.jsx │ ├── Testimonials.jsx │ └── index.js ├── constants │ └── index.js ├── index.css ├── main.jsx └── style.js ├── tailwind.config.cjs ├── vite.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | # vscode 27 | .vscode -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HooBank Landing page 2 | Modern UI/UX Landing Page using React.js & Tailwind CSS 3 | 4 | ![HooBank](https://i.ibb.co/BK1Hn0x/Screenshot-2022-08-08-at-4-05-48-PM.png) 5 | 6 | **Figma Link** : https://www.figma.com/file/bUGIPys15E78w9bs1l4tgS/HooBank?node-id=310%3A485 7 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | HooBank 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind-react", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "react": "^18.2.0", 13 | "react-dom": "^18.2.0" 14 | }, 15 | "devDependencies": { 16 | "@types/react": "^18.0.17", 17 | "@types/react-dom": "^18.0.6", 18 | "@vitejs/plugin-react": "^2.1.0", 19 | "autoprefixer": "^10.4.12", 20 | "postcss": "^8.4.17", 21 | "tailwindcss": "^3.1.8", 22 | "vite": "^3.1.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/hoobank.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import styles from "./style"; 2 | import { Navbar, Hero, Stats, Business, Billing, CardDeal, Testimonials, Clients, CTA, Footer } from "./components"; 3 | 4 | const App = () => ( 5 | <> 6 |
7 |
8 | 9 |
10 |
11 |
12 | 13 |
14 |
15 | 16 |
17 |
18 | 19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
30 |
31 | 32 |
33 | 34 | ); 35 | 36 | export default App; 37 | -------------------------------------------------------------------------------- /src/assets/Discount.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/Send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/Shield.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/Star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/airbnb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/airbnb.png -------------------------------------------------------------------------------- /src/assets/apple.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/bill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/bill.png -------------------------------------------------------------------------------- /src/assets/binance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/binance.png -------------------------------------------------------------------------------- /src/assets/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/card.png -------------------------------------------------------------------------------- /src/assets/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/coinbase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/coinbase.png -------------------------------------------------------------------------------- /src/assets/dropbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/dropbox.png -------------------------------------------------------------------------------- /src/assets/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/google.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/assets/index.js: -------------------------------------------------------------------------------- 1 | import airbnb from "./airbnb.png"; 2 | import bill from "./bill.png"; 3 | import binance from "./binance.png"; 4 | import card from "./card.png"; 5 | import coinbase from "./coinbase.png"; 6 | import dropbox from "./dropbox.png"; 7 | import logo from "./logo.svg"; 8 | import quotes from "./quotes.svg"; 9 | import robot from "./robot.png"; 10 | import send from "./Send.svg"; 11 | import shield from "./Shield.svg"; 12 | import star from "./Star.svg"; 13 | import menu from "./menu.svg"; 14 | import close from "./close.svg"; 15 | import google from "./google.svg"; 16 | import apple from "./apple.svg"; 17 | import arrowUp from "./arrow-up.svg"; 18 | import discount from "./Discount.svg"; 19 | import facebook from "./facebook.svg"; 20 | import instagram from "./instagram.svg"; 21 | import linkedin from "./linkedin.svg"; 22 | import twitter from "./twitter.svg"; 23 | import people01 from "./people01.png"; 24 | import people02 from "./people02.png"; 25 | import people03 from "./people03.png"; 26 | 27 | export { 28 | airbnb, 29 | bill, 30 | binance, 31 | card, 32 | coinbase, 33 | dropbox, 34 | logo, 35 | quotes, 36 | robot, 37 | send, 38 | shield, 39 | star, 40 | menu, 41 | close, 42 | google, 43 | apple, 44 | arrowUp, 45 | discount, 46 | facebook, 47 | instagram, 48 | linkedin, 49 | twitter, 50 | people01, 51 | people02, 52 | people03, 53 | }; 54 | -------------------------------------------------------------------------------- /src/assets/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/assets/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/people01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/people01.png -------------------------------------------------------------------------------- /src/assets/people02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/people02.png -------------------------------------------------------------------------------- /src/assets/people03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/people03.png -------------------------------------------------------------------------------- /src/assets/quotes.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/robot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DzunN86/hoobank-landingpage/30872f99b61602c253001e6772c04e25c3147765/src/assets/robot.png -------------------------------------------------------------------------------- /src/assets/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/components/Billing.jsx: -------------------------------------------------------------------------------- 1 | import { apple, bill, google } from "../assets"; 2 | import styles, { layout } from "../style"; 3 | 4 | const Billing = () => ( 5 |
6 |
7 | billing 8 | 9 | {/* gradient start */} 10 |
11 |
12 | {/* gradient end */} 13 |
14 | 15 |
16 |

17 | Easily control your
billing & 18 | invoicing 19 |

20 |

21 | Elit enim sed massa etiam. Mauris eu adipiscing ultrices ametodio 22 | aenean neque. Fusce ipsum orci rhoncus aliporttitor integer platea 23 | placerat. 24 |

25 | 26 |
27 | google_play 28 | google_play 29 |
30 |
31 |
32 | ); 33 | 34 | export default Billing; 35 | -------------------------------------------------------------------------------- /src/components/Business.jsx: -------------------------------------------------------------------------------- 1 | import { features } from "../constants"; 2 | import styles, { layout } from "../style"; 3 | import Button from "./Button"; 4 | 5 | const FeatureCard = ({ icon, title, content, index }) => ( 6 |
7 |
8 | star 9 |
10 |
11 |

12 | {title} 13 |

14 |

15 | {content} 16 |

17 |
18 |
19 | ); 20 | 21 | const Business = () => ( 22 |
23 |
24 |

25 | You do the business,
we’ll handle 26 | the money. 27 |

28 |

29 | With the right credit card, you can improve your financial life by 30 | building credit, earning rewards and saving money. But with hundreds 31 | of credit cards on the market. 32 |

33 | 34 |
36 | 37 |
38 | {features.map((feature, index) => ( 39 | 40 | ))} 41 |
42 |
43 | ); 44 | 45 | export default Business; 46 | -------------------------------------------------------------------------------- /src/components/Button.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const Button = ({ styles }) => ( 4 | 7 | ); 8 | 9 | export default Button; 10 | -------------------------------------------------------------------------------- /src/components/CTA.jsx: -------------------------------------------------------------------------------- 1 | import styles from "../style"; 2 | import Button from "./Button"; 3 | 4 | const CTA = () => ( 5 |
6 |
7 |

Let’s try our service now!

8 |

9 | Everything you need to accept card payments and grow your business 10 | anywhere on the planet. 11 |

12 |
13 | 14 |
15 |
17 |
18 | ); 19 | 20 | export default CTA; 21 | -------------------------------------------------------------------------------- /src/components/CardDeal.jsx: -------------------------------------------------------------------------------- 1 | import { card } from "../assets"; 2 | import styles, { layout } from "../style"; 3 | import Button from "./Button"; 4 | 5 | const CardDeal = () => ( 6 |
7 |
8 |

9 | Find a better card deal
in few easy 10 | steps. 11 |

12 |

13 | Arcu tortor, purus in mattis at sed integer faucibus. Aliquet quis 14 | aliquet eget mauris tortor.ç Aliquet ultrices ac, ametau. 15 |

16 | 17 |
19 | 20 |
21 | billing 22 |
23 |
24 | ); 25 | 26 | export default CardDeal; 27 | -------------------------------------------------------------------------------- /src/components/Clients.jsx: -------------------------------------------------------------------------------- 1 | import { clients } from "../constants"; 2 | import styles from "../style"; 3 | 4 | const Clients = () => ( 5 |
6 |
7 | {clients.map((client) => ( 8 |
9 | client_logo 10 |
11 | ))} 12 |
13 |
14 | ); 15 | 16 | export default Clients; 17 | -------------------------------------------------------------------------------- /src/components/FeedbackCard.jsx: -------------------------------------------------------------------------------- 1 | import { quotes } from "../assets"; 2 | 3 | const FeedbackCard = ({ content, name, title, img }) => ( 4 |
5 | double_quotes 6 |

7 | {content} 8 |

9 | 10 |
11 | {name} 12 |
13 |

14 | {name} 15 |

16 |

17 | {title} 18 |

19 |
20 |
21 |
22 | ); 23 | 24 | 25 | export default FeedbackCard; 26 | -------------------------------------------------------------------------------- /src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import styles from "../style"; 2 | import { logo } from "../assets"; 3 | import { footerLinks, socialMedia } from "../constants"; 4 | 5 | const Footer = () => ( 6 |
7 |
8 |
9 | hoobank 14 |

15 | A new way to make the payments easy, reliable and secure. 16 |

17 |
18 | 19 |
20 | {footerLinks.map((footerlink) => ( 21 |
22 |

23 | {footerlink.title} 24 |

25 |
    26 | {footerlink.links.map((link, index) => ( 27 |
  • 33 | {link.name} 34 |
  • 35 | ))} 36 |
37 |
38 | ))} 39 |
40 |
41 | 42 |
43 |

44 | Copyright Ⓒ 2022 HooBank. All Rights Reserved. 45 |

46 | 47 |
48 | {socialMedia.map((social, index) => ( 49 | {social.id} window.open(social.link)} 57 | /> 58 | ))} 59 |
60 |
61 |
62 | ); 63 | 64 | export default Footer; 65 | -------------------------------------------------------------------------------- /src/components/GetStarted.jsx: -------------------------------------------------------------------------------- 1 | import styles from "../style"; 2 | import { arrowUp } from "../assets"; 3 | 4 | const GetStarted = () => ( 5 |
6 |
7 |
8 |

9 | Get 10 |

11 | arrow-up 12 |
13 | 14 |

15 | Started 16 |

17 |
18 |
19 | ); 20 | 21 | export default GetStarted; 22 | -------------------------------------------------------------------------------- /src/components/Hero.jsx: -------------------------------------------------------------------------------- 1 | import styles from "../style"; 2 | import { discount, robot } from "../assets"; 3 | import GetStarted from "./GetStarted"; 4 | 5 | const Hero = () => { 6 | return ( 7 |
8 |
9 |
10 | discount 11 |

12 | 20% Discount For{" "} 13 | 1 Month Account 14 |

15 |
16 | 17 |
18 |

19 | The Next
{" "} 20 | Generation{" "} 21 |

22 |
23 | 24 |
25 |
26 | 27 |

28 | Payment Method. 29 |

30 |

31 | Our team of experts uses a methodology to identify the credit cards 32 | most likely to fit your needs. We examine annual percentage rates, 33 | annual fees. 34 |

35 |
36 | 37 |
38 | billing 39 | 40 | {/* gradient start */} 41 |
42 |
43 |
44 | {/* gradient end */} 45 |
46 | 47 |
48 | 49 |
50 |
51 | ); 52 | }; 53 | 54 | export default Hero; 55 | -------------------------------------------------------------------------------- /src/components/Navbar.jsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | import { close, logo, menu } from "../assets"; 4 | import { navLinks } from "../constants"; 5 | 6 | const Navbar = () => { 7 | const [active, setActive] = useState("Home"); 8 | const [toggle, setToggle] = useState(false); 9 | 10 | return ( 11 | 60 | ); 61 | }; 62 | 63 | export default Navbar; 64 | -------------------------------------------------------------------------------- /src/components/Stats.jsx: -------------------------------------------------------------------------------- 1 | import { stats } from "../constants"; 2 | import styles from "../style"; 3 | 4 | const Stats = () => ( 5 |
6 | {stats.map((stat) => ( 7 |
8 |

9 | {stat.value} 10 |

11 |

12 | {stat.title} 13 |

14 |
15 | ))} 16 |
17 | ); 18 | 19 | export default Stats; 20 | -------------------------------------------------------------------------------- /src/components/Testimonials.jsx: -------------------------------------------------------------------------------- 1 | import { feedback } from "../constants"; 2 | import styles from "../style"; 3 | import FeedbackCard from "./FeedbackCard"; 4 | 5 | const Testimonials = () => ( 6 |
7 |
8 | 9 |
10 |

11 | What People are
saying about us 12 |

13 |
14 |

15 | Everything you need to accept card payments and grow your business 16 | anywhere on the planet. 17 |

18 |
19 |
20 | 21 |
22 | {feedback.map((card) => )} 23 |
24 |
25 | ); 26 | 27 | export default Testimonials; 28 | -------------------------------------------------------------------------------- /src/components/index.js: -------------------------------------------------------------------------------- 1 | import Navbar from "./Navbar"; 2 | import Hero from "./Hero"; 3 | import Business from "./Business"; 4 | import Stats from "./Stats"; 5 | import Billing from "./Billing"; 6 | import CardDeal from "./CardDeal"; 7 | import Testimonials from "./Testimonials"; 8 | import Clients from "./Clients"; 9 | import CTA from "./CTA"; 10 | import Footer from "./Footer"; 11 | 12 | export { 13 | Navbar, 14 | Hero, 15 | Business, 16 | Stats, 17 | Billing, 18 | CardDeal, 19 | Testimonials, 20 | Clients, 21 | CTA, 22 | Footer, 23 | }; 24 | -------------------------------------------------------------------------------- /src/constants/index.js: -------------------------------------------------------------------------------- 1 | import { people01, people02, people03, facebook, instagram, linkedin, twitter, airbnb, binance, coinbase, dropbox, send, shield, star } from "../assets"; 2 | 3 | export const navLinks = [ 4 | { 5 | id: "home", 6 | title: "Home", 7 | }, 8 | { 9 | id: "features", 10 | title: "Features", 11 | }, 12 | { 13 | id: "product", 14 | title: "Product", 15 | }, 16 | { 17 | id: "clients", 18 | title: "Clients", 19 | }, 20 | ]; 21 | 22 | export const features = [ 23 | { 24 | id: "feature-1", 25 | icon: star, 26 | title: "Rewards", 27 | content: 28 | "The best credit cards offer some tantalizing combinations of promotions and prizes", 29 | }, 30 | { 31 | id: "feature-2", 32 | icon: shield, 33 | title: "100% Secured", 34 | content: 35 | "We take proactive steps make sure your information and transactions are secure.", 36 | }, 37 | { 38 | id: "feature-3", 39 | icon: send, 40 | title: "Balance Transfer", 41 | content: 42 | "A balance transfer credit card can save you a lot of money in interest charges.", 43 | }, 44 | ]; 45 | 46 | export const feedback = [ 47 | { 48 | id: "feedback-1", 49 | content: 50 | "Money is only a tool. It will take you wherever you wish, but it will not replace you as the driver.", 51 | name: "Herman Jensen", 52 | title: "Founder & Leader", 53 | img: people01, 54 | }, 55 | { 56 | id: "feedback-2", 57 | content: 58 | "Money makes your life easier. If you're lucky to have it, you're lucky.", 59 | name: "Steve Mark", 60 | title: "Founder & Leader", 61 | img: people02, 62 | }, 63 | { 64 | id: "feedback-3", 65 | content: 66 | "It is usually people in the money business, finance, and international trade that are really rich.", 67 | name: "Kenn Gallagher", 68 | title: "Founder & Leader", 69 | img: people03, 70 | }, 71 | ]; 72 | 73 | export const stats = [ 74 | { 75 | id: "stats-1", 76 | title: "User Active", 77 | value: "3800+", 78 | }, 79 | { 80 | id: "stats-2", 81 | title: "Trusted by Company", 82 | value: "230+", 83 | }, 84 | { 85 | id: "stats-3", 86 | title: "Transaction", 87 | value: "$230M+", 88 | }, 89 | ]; 90 | 91 | export const footerLinks = [ 92 | { 93 | title: "Useful Links", 94 | links: [ 95 | { 96 | name: "Content", 97 | link: "https://www.hoobank.com/content/", 98 | }, 99 | { 100 | name: "How it Works", 101 | link: "https://www.hoobank.com/how-it-works/", 102 | }, 103 | { 104 | name: "Create", 105 | link: "https://www.hoobank.com/create/", 106 | }, 107 | { 108 | name: "Explore", 109 | link: "https://www.hoobank.com/explore/", 110 | }, 111 | { 112 | name: "Terms & Services", 113 | link: "https://www.hoobank.com/terms-and-services/", 114 | }, 115 | ], 116 | }, 117 | { 118 | title: "Community", 119 | links: [ 120 | { 121 | name: "Help Center", 122 | link: "https://www.hoobank.com/help-center/", 123 | }, 124 | { 125 | name: "Partners", 126 | link: "https://www.hoobank.com/partners/", 127 | }, 128 | { 129 | name: "Suggestions", 130 | link: "https://www.hoobank.com/suggestions/", 131 | }, 132 | { 133 | name: "Blog", 134 | link: "https://www.hoobank.com/blog/", 135 | }, 136 | { 137 | name: "Newsletters", 138 | link: "https://www.hoobank.com/newsletters/", 139 | }, 140 | ], 141 | }, 142 | { 143 | title: "Partner", 144 | links: [ 145 | { 146 | name: "Our Partner", 147 | link: "https://www.hoobank.com/our-partner/", 148 | }, 149 | { 150 | name: "Become a Partner", 151 | link: "https://www.hoobank.com/become-a-partner/", 152 | }, 153 | ], 154 | }, 155 | ]; 156 | 157 | export const socialMedia = [ 158 | { 159 | id: "social-media-1", 160 | icon: instagram, 161 | link: "https://www.instagram.com/", 162 | }, 163 | { 164 | id: "social-media-2", 165 | icon: facebook, 166 | link: "https://www.facebook.com/", 167 | }, 168 | { 169 | id: "social-media-3", 170 | icon: twitter, 171 | link: "https://www.twitter.com/", 172 | }, 173 | { 174 | id: "social-media-4", 175 | icon: linkedin, 176 | link: "https://www.linkedin.com/", 177 | }, 178 | ]; 179 | 180 | export const clients = [ 181 | { 182 | id: "client-1", 183 | logo: airbnb, 184 | }, 185 | { 186 | id: "client-2", 187 | logo: binance, 188 | }, 189 | { 190 | id: "client-3", 191 | logo: coinbase, 192 | }, 193 | { 194 | id: "client-4", 195 | logo: dropbox, 196 | }, 197 | ]; -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap"); 2 | 3 | @tailwind base; 4 | @tailwind components; 5 | @tailwind utilities; 6 | 7 | :root { 8 | --black-gradient: linear-gradient( 9 | 144.39deg, 10 | #ffffff -278.56%, 11 | #6d6d6d -78.47%, 12 | #11101d 91.61% 13 | ); 14 | --card-shadow: 0px 20px 100px -10px rgba(66, 71, 91, 0.1); 15 | } 16 | 17 | * { 18 | scroll-behavior: smooth; 19 | } 20 | 21 | .text-gradient { 22 | background: radial-gradient( 23 | 64.18% 64.18% at 71.16% 35.69%, 24 | #def9fa 0.89%, 25 | #bef3f5 17.23%, 26 | #9dedf0 42.04%, 27 | #7de7eb 55.12%, 28 | #5ce1e6 71.54%, 29 | #33bbcf 100% 30 | ); 31 | -webkit-background-clip: text; 32 | -webkit-text-fill-color: transparent; 33 | background-clip: text; 34 | text-fill-color: transparent; 35 | } 36 | 37 | .bg-blue-gradient { 38 | background: linear-gradient( 39 | 157.81deg, 40 | #def9fa -43.27%, 41 | #bef3f5 -21.24%, 42 | #9dedf0 12.19%, 43 | #7de7eb 29.82%, 44 | #5ce1e6 51.94%, 45 | #33bbcf 90.29% 46 | ); 47 | } 48 | 49 | .bg-black-gradient { 50 | background: linear-gradient( 51 | 144.39deg, 52 | #ffffff -278.56%, 53 | #6d6d6d -78.47%, 54 | #11101d 91.61% 55 | ); 56 | } 57 | 58 | .bg-black-gradient-2 { 59 | background: linear-gradient( 60 | -168.39deg, 61 | #ffffff -278.56%, 62 | #6d6d6d -78.47%, 63 | #11101d 91.61% 64 | ); 65 | } 66 | 67 | .bg-gray-gradient { 68 | background: linear-gradient( 69 | 153.47deg, 70 | rgba(255, 255, 255, 0) -341.94%, 71 | #14101d 95.11% 72 | ); 73 | } 74 | 75 | .bg-discount-gradient { 76 | background: linear-gradient(125.17deg, #272727 0%, #11101d 100%); 77 | } 78 | 79 | .box-shadow { 80 | box-shadow: 0px 20px 100px -10px rgba(66, 71, 91, 0.1); 81 | } 82 | 83 | .sidebar { 84 | -webkit-animation: slide-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; 85 | animation: slide-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; 86 | } 87 | 88 | @-webkit-keyframes slide-top { 89 | 0% { 90 | -webkit-transform: translateY(100px); 91 | transform: translateY(100px); 92 | } 93 | 100% { 94 | -webkit-transform: translateY(0); 95 | transform: translateY(0); 96 | } 97 | } 98 | 99 | @keyframes slide-top { 100 | 0% { 101 | -webkit-transform: translateY(100px); 102 | transform: translateY(100px); 103 | } 104 | 100% { 105 | -webkit-transform: translateY(0); 106 | transform: translateY(0); 107 | } 108 | } 109 | 110 | .feature-card:hover { 111 | background: var(--black-gradient); 112 | box-shadow: var(--card-shadow); 113 | } 114 | 115 | .feedback-container .feedback-card:last-child { 116 | margin-right: 0px; 117 | } 118 | 119 | .feedback-card { 120 | opacity: 0.6; 121 | transition: all 0.5s ease-in-out; 122 | -webkit-transition: opacity 0.5s ease-in-out; 123 | } 124 | 125 | .feedback-card:hover { 126 | background: var(--black-gradient); 127 | opacity: 1; 128 | } 129 | 130 | .blue__gradient { 131 | background: linear-gradient(180deg, rgba(188, 165, 255, 0) 0%, #214d76 100%); 132 | filter: blur(123px); 133 | } 134 | 135 | .pink__gradient { 136 | background: linear-gradient(90deg, #f4c4f3 0%, #fc67fa 100%); 137 | filter: blur(900px); 138 | } 139 | 140 | .white__gradient { 141 | background: rgba(255, 255, 255, 0.6); 142 | filter: blur(750px); 143 | } 144 | -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | 10 | ) 11 | -------------------------------------------------------------------------------- /src/style.js: -------------------------------------------------------------------------------- 1 | const styles = { 2 | boxWidth: "xl:max-w-[1280px] w-full", 3 | 4 | heading2: "font-poppins font-semibold xs:text-[48px] text-[40px] text-white xs:leading-[76.8px] leading-[66.8px] w-full", 5 | paragraph: "font-poppins font-normal text-dimWhite text-[18px] leading-[30.8px]", 6 | 7 | flexCenter: "flex justify-center items-center", 8 | flexStart: "flex justify-center items-start", 9 | 10 | paddingX: "sm:px-16 px-6", 11 | paddingY: "sm:py-16 py-6", 12 | padding: "sm:px-16 px-6 sm:py-12 py-4", 13 | 14 | marginX: "sm:mx-16 mx-6", 15 | marginY: "sm:my-16 my-6", 16 | }; 17 | 18 | export const layout = { 19 | section: `flex md:flex-row flex-col ${styles.paddingY}`, 20 | sectionReverse: `flex md:flex-row flex-col-reverse ${styles.paddingY}`, 21 | 22 | sectionImgReverse: `flex-1 flex ${styles.flexCenter} md:mr-10 mr-0 md:mt-0 mt-10 relative`, 23 | sectionImg: `flex-1 flex ${styles.flexCenter} md:ml-10 ml-0 md:mt-0 mt-10 relative`, 24 | 25 | sectionInfo: `flex-1 ${styles.flexStart} flex-col`, 26 | }; 27 | 28 | export default styles; 29 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./index.html", "./src/**/*.{js,jsx}"], 4 | mode: "jit", 5 | theme: { 6 | extend: { 7 | colors: { 8 | primary: "#00040f", 9 | secondary: "#00f6ff", 10 | dimWhite: "rgba(255, 255, 255, 0.7)", 11 | dimBlue: "rgba(9, 151, 124, 0.1)", 12 | }, 13 | fontFamily: { 14 | poppins: ["Poppins", "sans-serif"], 15 | }, 16 | boxShadow : { 17 | woke : '0px 9.9px 21.6px rgba(9, 151, 124, 0.41)' 18 | } 19 | }, 20 | screens: { 21 | xs: "480px", 22 | ss: "620px", 23 | sm: "768px", 24 | md: "1060px", 25 | lg: "1200px", 26 | xl: "1700px", 27 | }, 28 | }, 29 | plugins: [], 30 | }; 31 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()] 7 | }) 8 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | "integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==" 7 | "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" 8 | "version" "2.2.0" 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.18.6": 14 | "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" 15 | "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" 16 | "version" "7.18.6" 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.19.3": 21 | "integrity" "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==" 22 | "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz" 23 | "version" "7.19.3" 24 | 25 | "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.18.13": 26 | "integrity" "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==" 27 | "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz" 28 | "version" "7.19.3" 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.19.3" 33 | "@babel/helper-compilation-targets" "^7.19.3" 34 | "@babel/helper-module-transforms" "^7.19.0" 35 | "@babel/helpers" "^7.19.0" 36 | "@babel/parser" "^7.19.3" 37 | "@babel/template" "^7.18.10" 38 | "@babel/traverse" "^7.19.3" 39 | "@babel/types" "^7.19.3" 40 | "convert-source-map" "^1.7.0" 41 | "debug" "^4.1.0" 42 | "gensync" "^1.0.0-beta.2" 43 | "json5" "^2.2.1" 44 | "semver" "^6.3.0" 45 | 46 | "@babel/generator@^7.19.3": 47 | "integrity" "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==" 48 | "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz" 49 | "version" "7.19.3" 50 | dependencies: 51 | "@babel/types" "^7.19.3" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | "jsesc" "^2.5.1" 54 | 55 | "@babel/helper-annotate-as-pure@^7.18.6": 56 | "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" 57 | "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" 58 | "version" "7.18.6" 59 | dependencies: 60 | "@babel/types" "^7.18.6" 61 | 62 | "@babel/helper-compilation-targets@^7.19.3": 63 | "integrity" "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==" 64 | "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz" 65 | "version" "7.19.3" 66 | dependencies: 67 | "@babel/compat-data" "^7.19.3" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | "browserslist" "^4.21.3" 70 | "semver" "^6.3.0" 71 | 72 | "@babel/helper-environment-visitor@^7.18.9": 73 | "integrity" "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" 74 | "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" 75 | "version" "7.18.9" 76 | 77 | "@babel/helper-function-name@^7.19.0": 78 | "integrity" "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==" 79 | "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" 80 | "version" "7.19.0" 81 | dependencies: 82 | "@babel/template" "^7.18.10" 83 | "@babel/types" "^7.19.0" 84 | 85 | "@babel/helper-hoist-variables@^7.18.6": 86 | "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" 87 | "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" 88 | "version" "7.18.6" 89 | dependencies: 90 | "@babel/types" "^7.18.6" 91 | 92 | "@babel/helper-module-imports@^7.18.6": 93 | "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" 94 | "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" 95 | "version" "7.18.6" 96 | dependencies: 97 | "@babel/types" "^7.18.6" 98 | 99 | "@babel/helper-module-transforms@^7.19.0": 100 | "integrity" "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==" 101 | "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" 102 | "version" "7.19.0" 103 | dependencies: 104 | "@babel/helper-environment-visitor" "^7.18.9" 105 | "@babel/helper-module-imports" "^7.18.6" 106 | "@babel/helper-simple-access" "^7.18.6" 107 | "@babel/helper-split-export-declaration" "^7.18.6" 108 | "@babel/helper-validator-identifier" "^7.18.6" 109 | "@babel/template" "^7.18.10" 110 | "@babel/traverse" "^7.19.0" 111 | "@babel/types" "^7.19.0" 112 | 113 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 114 | "integrity" "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" 115 | "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" 116 | "version" "7.19.0" 117 | 118 | "@babel/helper-simple-access@^7.18.6": 119 | "integrity" "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==" 120 | "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" 121 | "version" "7.18.6" 122 | dependencies: 123 | "@babel/types" "^7.18.6" 124 | 125 | "@babel/helper-split-export-declaration@^7.18.6": 126 | "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" 127 | "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" 128 | "version" "7.18.6" 129 | dependencies: 130 | "@babel/types" "^7.18.6" 131 | 132 | "@babel/helper-string-parser@^7.18.10": 133 | "integrity" "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" 134 | "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" 135 | "version" "7.18.10" 136 | 137 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 138 | "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" 139 | "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" 140 | "version" "7.19.1" 141 | 142 | "@babel/helper-validator-option@^7.18.6": 143 | "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" 144 | "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" 145 | "version" "7.18.6" 146 | 147 | "@babel/helpers@^7.19.0": 148 | "integrity" "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==" 149 | "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" 150 | "version" "7.19.0" 151 | dependencies: 152 | "@babel/template" "^7.18.10" 153 | "@babel/traverse" "^7.19.0" 154 | "@babel/types" "^7.19.0" 155 | 156 | "@babel/highlight@^7.18.6": 157 | "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" 158 | "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" 159 | "version" "7.18.6" 160 | dependencies: 161 | "@babel/helper-validator-identifier" "^7.18.6" 162 | "chalk" "^2.0.0" 163 | "js-tokens" "^4.0.0" 164 | 165 | "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": 166 | "integrity" "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==" 167 | "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz" 168 | "version" "7.19.3" 169 | 170 | "@babel/plugin-syntax-jsx@^7.18.6": 171 | "integrity" "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==" 172 | "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" 173 | "version" "7.18.6" 174 | dependencies: 175 | "@babel/helper-plugin-utils" "^7.18.6" 176 | 177 | "@babel/plugin-transform-react-jsx-development@^7.18.6": 178 | "integrity" "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==" 179 | "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" 180 | "version" "7.18.6" 181 | dependencies: 182 | "@babel/plugin-transform-react-jsx" "^7.18.6" 183 | 184 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 185 | "integrity" "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==" 186 | "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz" 187 | "version" "7.18.6" 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.18.6" 190 | 191 | "@babel/plugin-transform-react-jsx-source@^7.18.6": 192 | "integrity" "sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==" 193 | "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz" 194 | "version" "7.18.6" 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.18.6" 197 | 198 | "@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6": 199 | "integrity" "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==" 200 | "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz" 201 | "version" "7.19.0" 202 | dependencies: 203 | "@babel/helper-annotate-as-pure" "^7.18.6" 204 | "@babel/helper-module-imports" "^7.18.6" 205 | "@babel/helper-plugin-utils" "^7.19.0" 206 | "@babel/plugin-syntax-jsx" "^7.18.6" 207 | "@babel/types" "^7.19.0" 208 | 209 | "@babel/template@^7.18.10": 210 | "integrity" "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" 211 | "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" 212 | "version" "7.18.10" 213 | dependencies: 214 | "@babel/code-frame" "^7.18.6" 215 | "@babel/parser" "^7.18.10" 216 | "@babel/types" "^7.18.10" 217 | 218 | "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.3": 219 | "integrity" "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==" 220 | "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz" 221 | "version" "7.19.3" 222 | dependencies: 223 | "@babel/code-frame" "^7.18.6" 224 | "@babel/generator" "^7.19.3" 225 | "@babel/helper-environment-visitor" "^7.18.9" 226 | "@babel/helper-function-name" "^7.19.0" 227 | "@babel/helper-hoist-variables" "^7.18.6" 228 | "@babel/helper-split-export-declaration" "^7.18.6" 229 | "@babel/parser" "^7.19.3" 230 | "@babel/types" "^7.19.3" 231 | "debug" "^4.1.0" 232 | "globals" "^11.1.0" 233 | 234 | "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.3": 235 | "integrity" "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==" 236 | "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz" 237 | "version" "7.19.3" 238 | dependencies: 239 | "@babel/helper-string-parser" "^7.18.10" 240 | "@babel/helper-validator-identifier" "^7.19.1" 241 | "to-fast-properties" "^2.0.0" 242 | 243 | "@jridgewell/gen-mapping@^0.1.0": 244 | "integrity" "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==" 245 | "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" 246 | "version" "0.1.1" 247 | dependencies: 248 | "@jridgewell/set-array" "^1.0.0" 249 | "@jridgewell/sourcemap-codec" "^1.4.10" 250 | 251 | "@jridgewell/gen-mapping@^0.3.2": 252 | "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" 253 | "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" 254 | "version" "0.3.2" 255 | dependencies: 256 | "@jridgewell/set-array" "^1.0.1" 257 | "@jridgewell/sourcemap-codec" "^1.4.10" 258 | "@jridgewell/trace-mapping" "^0.3.9" 259 | 260 | "@jridgewell/resolve-uri@^3.0.3": 261 | "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" 262 | "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" 263 | "version" "3.1.0" 264 | 265 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 266 | "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" 267 | "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" 268 | "version" "1.1.2" 269 | 270 | "@jridgewell/sourcemap-codec@^1.4.10": 271 | "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" 272 | "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" 273 | "version" "1.4.14" 274 | 275 | "@jridgewell/trace-mapping@^0.3.9": 276 | "integrity" "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==" 277 | "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" 278 | "version" "0.3.15" 279 | dependencies: 280 | "@jridgewell/resolve-uri" "^3.0.3" 281 | "@jridgewell/sourcemap-codec" "^1.4.10" 282 | 283 | "@nodelib/fs.scandir@2.1.5": 284 | "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" 285 | "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 286 | "version" "2.1.5" 287 | dependencies: 288 | "@nodelib/fs.stat" "2.0.5" 289 | "run-parallel" "^1.1.9" 290 | 291 | "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": 292 | "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" 293 | "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 294 | "version" "2.0.5" 295 | 296 | "@nodelib/fs.walk@^1.2.3": 297 | "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" 298 | "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 299 | "version" "1.2.8" 300 | dependencies: 301 | "@nodelib/fs.scandir" "2.1.5" 302 | "fastq" "^1.6.0" 303 | 304 | "@types/prop-types@*": 305 | "integrity" "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" 306 | "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" 307 | "version" "15.7.5" 308 | 309 | "@types/react-dom@^18.0.6": 310 | "integrity" "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==" 311 | "resolved" "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz" 312 | "version" "18.0.6" 313 | dependencies: 314 | "@types/react" "*" 315 | 316 | "@types/react@*", "@types/react@^18.0.17": 317 | "integrity" "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==" 318 | "resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz" 319 | "version" "18.0.21" 320 | dependencies: 321 | "@types/prop-types" "*" 322 | "@types/scheduler" "*" 323 | "csstype" "^3.0.2" 324 | 325 | "@types/scheduler@*": 326 | "integrity" "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" 327 | "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" 328 | "version" "0.16.2" 329 | 330 | "@vitejs/plugin-react@^2.1.0": 331 | "integrity" "sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==" 332 | "resolved" "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.1.0.tgz" 333 | "version" "2.1.0" 334 | dependencies: 335 | "@babel/core" "^7.18.13" 336 | "@babel/plugin-transform-react-jsx" "^7.18.10" 337 | "@babel/plugin-transform-react-jsx-development" "^7.18.6" 338 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 339 | "@babel/plugin-transform-react-jsx-source" "^7.18.6" 340 | "magic-string" "^0.26.2" 341 | "react-refresh" "^0.14.0" 342 | 343 | "acorn-node@^1.8.2": 344 | "integrity" "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==" 345 | "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" 346 | "version" "1.8.2" 347 | dependencies: 348 | "acorn" "^7.0.0" 349 | "acorn-walk" "^7.0.0" 350 | "xtend" "^4.0.2" 351 | 352 | "acorn-walk@^7.0.0": 353 | "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 354 | "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" 355 | "version" "7.2.0" 356 | 357 | "acorn@^7.0.0": 358 | "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" 359 | "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" 360 | "version" "7.4.1" 361 | 362 | "ansi-styles@^3.2.1": 363 | "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" 364 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 365 | "version" "3.2.1" 366 | dependencies: 367 | "color-convert" "^1.9.0" 368 | 369 | "anymatch@~3.1.2": 370 | "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" 371 | "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" 372 | "version" "3.1.2" 373 | dependencies: 374 | "normalize-path" "^3.0.0" 375 | "picomatch" "^2.0.4" 376 | 377 | "arg@^5.0.2": 378 | "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 379 | "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" 380 | "version" "5.0.2" 381 | 382 | "autoprefixer@^10.4.12": 383 | "integrity" "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==" 384 | "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz" 385 | "version" "10.4.12" 386 | dependencies: 387 | "browserslist" "^4.21.4" 388 | "caniuse-lite" "^1.0.30001407" 389 | "fraction.js" "^4.2.0" 390 | "normalize-range" "^0.1.2" 391 | "picocolors" "^1.0.0" 392 | "postcss-value-parser" "^4.2.0" 393 | 394 | "binary-extensions@^2.0.0": 395 | "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" 396 | "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" 397 | "version" "2.2.0" 398 | 399 | "braces@^3.0.2", "braces@~3.0.2": 400 | "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" 401 | "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 402 | "version" "3.0.2" 403 | dependencies: 404 | "fill-range" "^7.0.1" 405 | 406 | "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@>= 4.21.0": 407 | "integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" 408 | "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" 409 | "version" "4.21.4" 410 | dependencies: 411 | "caniuse-lite" "^1.0.30001400" 412 | "electron-to-chromium" "^1.4.251" 413 | "node-releases" "^2.0.6" 414 | "update-browserslist-db" "^1.0.9" 415 | 416 | "camelcase-css@^2.0.1": 417 | "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" 418 | "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" 419 | "version" "2.0.1" 420 | 421 | "caniuse-lite@^1.0.30001400", "caniuse-lite@^1.0.30001407": 422 | "integrity" "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==" 423 | "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz" 424 | "version" "1.0.30001414" 425 | 426 | "chalk@^2.0.0": 427 | "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" 428 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 429 | "version" "2.4.2" 430 | dependencies: 431 | "ansi-styles" "^3.2.1" 432 | "escape-string-regexp" "^1.0.5" 433 | "supports-color" "^5.3.0" 434 | 435 | "chokidar@^3.5.3": 436 | "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" 437 | "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" 438 | "version" "3.5.3" 439 | dependencies: 440 | "anymatch" "~3.1.2" 441 | "braces" "~3.0.2" 442 | "glob-parent" "~5.1.2" 443 | "is-binary-path" "~2.1.0" 444 | "is-glob" "~4.0.1" 445 | "normalize-path" "~3.0.0" 446 | "readdirp" "~3.6.0" 447 | optionalDependencies: 448 | "fsevents" "~2.3.2" 449 | 450 | "color-convert@^1.9.0": 451 | "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" 452 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 453 | "version" "1.9.3" 454 | dependencies: 455 | "color-name" "1.1.3" 456 | 457 | "color-name@^1.1.4": 458 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 459 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 460 | "version" "1.1.4" 461 | 462 | "color-name@1.1.3": 463 | "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 464 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 465 | "version" "1.1.3" 466 | 467 | "convert-source-map@^1.7.0": 468 | "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" 469 | "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" 470 | "version" "1.8.0" 471 | dependencies: 472 | "safe-buffer" "~5.1.1" 473 | 474 | "cssesc@^3.0.0": 475 | "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" 476 | "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" 477 | "version" "3.0.0" 478 | 479 | "csstype@^3.0.2": 480 | "integrity" "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" 481 | "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" 482 | "version" "3.1.1" 483 | 484 | "debug@^4.1.0": 485 | "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" 486 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 487 | "version" "4.3.4" 488 | dependencies: 489 | "ms" "2.1.2" 490 | 491 | "defined@^1.0.0": 492 | "integrity" "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" 493 | "resolved" "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" 494 | "version" "1.0.0" 495 | 496 | "detective@^5.2.1": 497 | "integrity" "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==" 498 | "resolved" "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz" 499 | "version" "5.2.1" 500 | dependencies: 501 | "acorn-node" "^1.8.2" 502 | "defined" "^1.0.0" 503 | "minimist" "^1.2.6" 504 | 505 | "didyoumean@^1.2.2": 506 | "integrity" "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 507 | "resolved" "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" 508 | "version" "1.2.2" 509 | 510 | "dlv@^1.1.3": 511 | "integrity" "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 512 | "resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" 513 | "version" "1.1.3" 514 | 515 | "electron-to-chromium@^1.4.251": 516 | "integrity" "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==" 517 | "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz" 518 | "version" "1.4.270" 519 | 520 | "esbuild-linux-64@0.15.10": 521 | "integrity" "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==" 522 | "resolved" "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz" 523 | "version" "0.15.10" 524 | 525 | "esbuild@^0.15.6": 526 | "integrity" "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==" 527 | "resolved" "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz" 528 | "version" "0.15.10" 529 | optionalDependencies: 530 | "@esbuild/android-arm" "0.15.10" 531 | "@esbuild/linux-loong64" "0.15.10" 532 | "esbuild-android-64" "0.15.10" 533 | "esbuild-android-arm64" "0.15.10" 534 | "esbuild-darwin-64" "0.15.10" 535 | "esbuild-darwin-arm64" "0.15.10" 536 | "esbuild-freebsd-64" "0.15.10" 537 | "esbuild-freebsd-arm64" "0.15.10" 538 | "esbuild-linux-32" "0.15.10" 539 | "esbuild-linux-64" "0.15.10" 540 | "esbuild-linux-arm" "0.15.10" 541 | "esbuild-linux-arm64" "0.15.10" 542 | "esbuild-linux-mips64le" "0.15.10" 543 | "esbuild-linux-ppc64le" "0.15.10" 544 | "esbuild-linux-riscv64" "0.15.10" 545 | "esbuild-linux-s390x" "0.15.10" 546 | "esbuild-netbsd-64" "0.15.10" 547 | "esbuild-openbsd-64" "0.15.10" 548 | "esbuild-sunos-64" "0.15.10" 549 | "esbuild-windows-32" "0.15.10" 550 | "esbuild-windows-64" "0.15.10" 551 | "esbuild-windows-arm64" "0.15.10" 552 | 553 | "escalade@^3.1.1": 554 | "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 555 | "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 556 | "version" "3.1.1" 557 | 558 | "escape-string-regexp@^1.0.5": 559 | "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" 560 | "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 561 | "version" "1.0.5" 562 | 563 | "fast-glob@^3.2.11": 564 | "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" 565 | "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" 566 | "version" "3.2.12" 567 | dependencies: 568 | "@nodelib/fs.stat" "^2.0.2" 569 | "@nodelib/fs.walk" "^1.2.3" 570 | "glob-parent" "^5.1.2" 571 | "merge2" "^1.3.0" 572 | "micromatch" "^4.0.4" 573 | 574 | "fastq@^1.6.0": 575 | "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" 576 | "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 577 | "version" "1.13.0" 578 | dependencies: 579 | "reusify" "^1.0.4" 580 | 581 | "fill-range@^7.0.1": 582 | "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" 583 | "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 584 | "version" "7.0.1" 585 | dependencies: 586 | "to-regex-range" "^5.0.1" 587 | 588 | "fraction.js@^4.2.0": 589 | "integrity" "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" 590 | "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" 591 | "version" "4.2.0" 592 | 593 | "function-bind@^1.1.1": 594 | "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 595 | "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 596 | "version" "1.1.1" 597 | 598 | "gensync@^1.0.0-beta.2": 599 | "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" 600 | "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" 601 | "version" "1.0.0-beta.2" 602 | 603 | "glob-parent@^5.1.2": 604 | "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" 605 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 606 | "version" "5.1.2" 607 | dependencies: 608 | "is-glob" "^4.0.1" 609 | 610 | "glob-parent@^6.0.2": 611 | "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" 612 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 613 | "version" "6.0.2" 614 | dependencies: 615 | "is-glob" "^4.0.3" 616 | 617 | "glob-parent@~5.1.2": 618 | "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" 619 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 620 | "version" "5.1.2" 621 | dependencies: 622 | "is-glob" "^4.0.1" 623 | 624 | "globals@^11.1.0": 625 | "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" 626 | "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" 627 | "version" "11.12.0" 628 | 629 | "has-flag@^3.0.0": 630 | "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" 631 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 632 | "version" "3.0.0" 633 | 634 | "has@^1.0.3": 635 | "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" 636 | "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 637 | "version" "1.0.3" 638 | dependencies: 639 | "function-bind" "^1.1.1" 640 | 641 | "is-binary-path@~2.1.0": 642 | "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" 643 | "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" 644 | "version" "2.1.0" 645 | dependencies: 646 | "binary-extensions" "^2.0.0" 647 | 648 | "is-core-module@^2.9.0": 649 | "integrity" "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==" 650 | "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" 651 | "version" "2.10.0" 652 | dependencies: 653 | "has" "^1.0.3" 654 | 655 | "is-extglob@^2.1.1": 656 | "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" 657 | "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 658 | "version" "2.1.1" 659 | 660 | "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": 661 | "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" 662 | "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 663 | "version" "4.0.3" 664 | dependencies: 665 | "is-extglob" "^2.1.1" 666 | 667 | "is-number@^7.0.0": 668 | "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 669 | "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 670 | "version" "7.0.0" 671 | 672 | "js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": 673 | "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 674 | "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 675 | "version" "4.0.0" 676 | 677 | "jsesc@^2.5.1": 678 | "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" 679 | "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" 680 | "version" "2.5.2" 681 | 682 | "json5@^2.2.1": 683 | "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" 684 | "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" 685 | "version" "2.2.1" 686 | 687 | "lilconfig@^2.0.5", "lilconfig@^2.0.6": 688 | "integrity" "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" 689 | "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz" 690 | "version" "2.0.6" 691 | 692 | "loose-envify@^1.1.0": 693 | "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" 694 | "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" 695 | "version" "1.4.0" 696 | dependencies: 697 | "js-tokens" "^3.0.0 || ^4.0.0" 698 | 699 | "magic-string@^0.26.2": 700 | "integrity" "sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg==" 701 | "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.26.5.tgz" 702 | "version" "0.26.5" 703 | dependencies: 704 | "sourcemap-codec" "^1.4.8" 705 | 706 | "merge2@^1.3.0": 707 | "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" 708 | "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 709 | "version" "1.4.1" 710 | 711 | "micromatch@^4.0.4": 712 | "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" 713 | "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 714 | "version" "4.0.5" 715 | dependencies: 716 | "braces" "^3.0.2" 717 | "picomatch" "^2.3.1" 718 | 719 | "minimist@^1.2.6": 720 | "integrity" "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" 721 | "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" 722 | "version" "1.2.6" 723 | 724 | "ms@2.1.2": 725 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 726 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 727 | "version" "2.1.2" 728 | 729 | "nanoid@^3.3.4": 730 | "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 731 | "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" 732 | "version" "3.3.4" 733 | 734 | "node-releases@^2.0.6": 735 | "integrity" "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" 736 | "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" 737 | "version" "2.0.6" 738 | 739 | "normalize-path@^3.0.0", "normalize-path@~3.0.0": 740 | "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 741 | "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 742 | "version" "3.0.0" 743 | 744 | "normalize-range@^0.1.2": 745 | "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" 746 | "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" 747 | "version" "0.1.2" 748 | 749 | "object-hash@^3.0.0": 750 | "integrity" "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" 751 | "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" 752 | "version" "3.0.0" 753 | 754 | "path-parse@^1.0.7": 755 | "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 756 | "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 757 | "version" "1.0.7" 758 | 759 | "picocolors@^1.0.0": 760 | "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 761 | "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 762 | "version" "1.0.0" 763 | 764 | "picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.3.1": 765 | "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" 766 | "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 767 | "version" "2.3.1" 768 | 769 | "pify@^2.3.0": 770 | "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" 771 | "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" 772 | "version" "2.3.0" 773 | 774 | "postcss-import@^14.1.0": 775 | "integrity" "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==" 776 | "resolved" "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" 777 | "version" "14.1.0" 778 | dependencies: 779 | "postcss-value-parser" "^4.0.0" 780 | "read-cache" "^1.0.0" 781 | "resolve" "^1.1.7" 782 | 783 | "postcss-js@^4.0.0": 784 | "integrity" "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==" 785 | "resolved" "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz" 786 | "version" "4.0.0" 787 | dependencies: 788 | "camelcase-css" "^2.0.1" 789 | 790 | "postcss-load-config@^3.1.4": 791 | "integrity" "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==" 792 | "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" 793 | "version" "3.1.4" 794 | dependencies: 795 | "lilconfig" "^2.0.5" 796 | "yaml" "^1.10.2" 797 | 798 | "postcss-nested@5.0.6": 799 | "integrity" "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==" 800 | "resolved" "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz" 801 | "version" "5.0.6" 802 | dependencies: 803 | "postcss-selector-parser" "^6.0.6" 804 | 805 | "postcss-selector-parser@^6.0.10", "postcss-selector-parser@^6.0.6": 806 | "integrity" "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==" 807 | "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" 808 | "version" "6.0.10" 809 | dependencies: 810 | "cssesc" "^3.0.0" 811 | "util-deprecate" "^1.0.2" 812 | 813 | "postcss-value-parser@^4.0.0", "postcss-value-parser@^4.2.0": 814 | "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 815 | "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" 816 | "version" "4.2.0" 817 | 818 | "postcss@^8.0.0", "postcss@^8.1.0", "postcss@^8.2.14", "postcss@^8.3.3", "postcss@^8.4.14", "postcss@^8.4.16", "postcss@^8.4.17", "postcss@>=8.0.9": 819 | "integrity" "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==" 820 | "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz" 821 | "version" "8.4.17" 822 | dependencies: 823 | "nanoid" "^3.3.4" 824 | "picocolors" "^1.0.0" 825 | "source-map-js" "^1.0.2" 826 | 827 | "queue-microtask@^1.2.2": 828 | "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 829 | "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 830 | "version" "1.2.3" 831 | 832 | "quick-lru@^5.1.1": 833 | "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 834 | "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" 835 | "version" "5.1.1" 836 | 837 | "react-dom@^18.2.0": 838 | "integrity" "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==" 839 | "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" 840 | "version" "18.2.0" 841 | dependencies: 842 | "loose-envify" "^1.1.0" 843 | "scheduler" "^0.23.0" 844 | 845 | "react-refresh@^0.14.0": 846 | "integrity" "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==" 847 | "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" 848 | "version" "0.14.0" 849 | 850 | "react@^18.2.0": 851 | "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==" 852 | "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz" 853 | "version" "18.2.0" 854 | dependencies: 855 | "loose-envify" "^1.1.0" 856 | 857 | "read-cache@^1.0.0": 858 | "integrity" "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==" 859 | "resolved" "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" 860 | "version" "1.0.0" 861 | dependencies: 862 | "pify" "^2.3.0" 863 | 864 | "readdirp@~3.6.0": 865 | "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" 866 | "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" 867 | "version" "3.6.0" 868 | dependencies: 869 | "picomatch" "^2.2.1" 870 | 871 | "resolve@^1.1.7", "resolve@^1.22.1": 872 | "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" 873 | "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" 874 | "version" "1.22.1" 875 | dependencies: 876 | "is-core-module" "^2.9.0" 877 | "path-parse" "^1.0.7" 878 | "supports-preserve-symlinks-flag" "^1.0.0" 879 | 880 | "reusify@^1.0.4": 881 | "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 882 | "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 883 | "version" "1.0.4" 884 | 885 | "rollup@~2.78.0": 886 | "integrity" "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==" 887 | "resolved" "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz" 888 | "version" "2.78.1" 889 | optionalDependencies: 890 | "fsevents" "~2.3.2" 891 | 892 | "run-parallel@^1.1.9": 893 | "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" 894 | "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 895 | "version" "1.2.0" 896 | dependencies: 897 | "queue-microtask" "^1.2.2" 898 | 899 | "safe-buffer@~5.1.1": 900 | "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 901 | "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 902 | "version" "5.1.2" 903 | 904 | "scheduler@^0.23.0": 905 | "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==" 906 | "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" 907 | "version" "0.23.0" 908 | dependencies: 909 | "loose-envify" "^1.1.0" 910 | 911 | "semver@^6.3.0": 912 | "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 913 | "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" 914 | "version" "6.3.0" 915 | 916 | "source-map-js@^1.0.2": 917 | "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 918 | "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" 919 | "version" "1.0.2" 920 | 921 | "sourcemap-codec@^1.4.8": 922 | "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 923 | "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" 924 | "version" "1.4.8" 925 | 926 | "supports-color@^5.3.0": 927 | "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" 928 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 929 | "version" "5.5.0" 930 | dependencies: 931 | "has-flag" "^3.0.0" 932 | 933 | "supports-preserve-symlinks-flag@^1.0.0": 934 | "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 935 | "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 936 | "version" "1.0.0" 937 | 938 | "tailwindcss@^3.1.8": 939 | "integrity" "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==" 940 | "resolved" "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz" 941 | "version" "3.1.8" 942 | dependencies: 943 | "arg" "^5.0.2" 944 | "chokidar" "^3.5.3" 945 | "color-name" "^1.1.4" 946 | "detective" "^5.2.1" 947 | "didyoumean" "^1.2.2" 948 | "dlv" "^1.1.3" 949 | "fast-glob" "^3.2.11" 950 | "glob-parent" "^6.0.2" 951 | "is-glob" "^4.0.3" 952 | "lilconfig" "^2.0.6" 953 | "normalize-path" "^3.0.0" 954 | "object-hash" "^3.0.0" 955 | "picocolors" "^1.0.0" 956 | "postcss" "^8.4.14" 957 | "postcss-import" "^14.1.0" 958 | "postcss-js" "^4.0.0" 959 | "postcss-load-config" "^3.1.4" 960 | "postcss-nested" "5.0.6" 961 | "postcss-selector-parser" "^6.0.10" 962 | "postcss-value-parser" "^4.2.0" 963 | "quick-lru" "^5.1.1" 964 | "resolve" "^1.22.1" 965 | 966 | "to-fast-properties@^2.0.0": 967 | "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" 968 | "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" 969 | "version" "2.0.0" 970 | 971 | "to-regex-range@^5.0.1": 972 | "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" 973 | "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 974 | "version" "5.0.1" 975 | dependencies: 976 | "is-number" "^7.0.0" 977 | 978 | "update-browserslist-db@^1.0.9": 979 | "integrity" "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==" 980 | "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz" 981 | "version" "1.0.9" 982 | dependencies: 983 | "escalade" "^3.1.1" 984 | "picocolors" "^1.0.0" 985 | 986 | "util-deprecate@^1.0.2": 987 | "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 988 | "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 989 | "version" "1.0.2" 990 | 991 | "vite@^3.0.0", "vite@^3.1.0": 992 | "integrity" "sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==" 993 | "resolved" "https://registry.npmjs.org/vite/-/vite-3.1.4.tgz" 994 | "version" "3.1.4" 995 | dependencies: 996 | "esbuild" "^0.15.6" 997 | "postcss" "^8.4.16" 998 | "resolve" "^1.22.1" 999 | "rollup" "~2.78.0" 1000 | optionalDependencies: 1001 | "fsevents" "~2.3.2" 1002 | 1003 | "xtend@^4.0.2": 1004 | "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 1005 | "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" 1006 | "version" "4.0.2" 1007 | 1008 | "yaml@^1.10.2": 1009 | "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" 1010 | "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" 1011 | "version" "1.10.2" 1012 | --------------------------------------------------------------------------------