├── .eslintrc.cjs
├── .gitignore
├── Data
├── execom
│ ├── 2023.jpg
│ └── 2024.jpg
└── images
│ └── AeroCET-logo.png
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.cjs
├── src
├── Components
│ ├── About.tsx
│ ├── Achievements.tsx
│ ├── Animtion.css
│ ├── Announcements.tsx
│ ├── Contact.tsx
│ ├── Gallery.css
│ ├── Gallery.tsx
│ ├── Intro.css
│ ├── Intro.tsx
│ ├── Navbar.css
│ ├── Navbar.tsx
│ ├── Projects.tsx
│ ├── Team.tsx
│ ├── Teams.css
│ └── Workshop.tsx
├── Loader.css
├── Loader.tsx
├── Pages
│ ├── 404Error.tsx
│ ├── FullPic.tsx
│ ├── Gallery.css
│ ├── Gallery.tsx
│ ├── Home.css
│ ├── Home.tsx
│ ├── Teams.css
│ └── Teams.tsx
├── app
│ ├── App.css
│ └── App.tsx
├── assets
│ ├── AeroCET-logo.png
│ ├── fonts
│ │ ├── Avenger.ttf
│ │ ├── NeutronsDemoRegular.ttf
│ │ ├── NoSurrender.ttf
│ │ └── hypik.otf
│ └── images
│ │ ├── commingSoon.png
│ │ ├── downloadButton.png
│ │ ├── drone.png
│ │ ├── introBG.png
│ │ ├── introText.png
│ │ ├── jet.png
│ │ ├── plane.png
│ │ ├── sample.jpeg
│ │ ├── vectorDrone.png
│ │ └── vectorPlane.png
├── index.css
├── main.tsx
└── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
├── vercel.json
├── vite.config.ts
└── yarn.lock
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:@typescript-eslint/recommended',
7 | 'plugin:react-hooks/recommended',
8 | ],
9 | ignorePatterns: ['dist', '.eslintrc.cjs'],
10 | parser: '@typescript-eslint/parser',
11 | plugins: ['react-refresh'],
12 | rules: {
13 | 'react-refresh/only-export-components': [
14 | 'warn',
15 | { allowConstantExport: true },
16 | ],
17 | },
18 | }
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Dependencies
2 | node_modules/
3 | npm-debug.log*
4 | yarn-debug.log*
5 | yarn-error.log*
6 |
7 | # Build files
8 | dist/
9 | build/
10 |
11 | # Environment variables
12 | .env
13 | .env.local
14 | .env.development.local
15 | .env.test.local
16 | .env.production.local
17 |
18 | # Editor & OS files
19 | .vscode/
20 | .idea/
21 | *.swp
22 | *.swo
23 | .DS_Store
24 | Thumbs.db
25 |
26 | # Logs
27 | logs/
28 | *.log
29 | yarn.lock
30 | package-lock.json
31 |
--------------------------------------------------------------------------------
/Data/execom/2023.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/Data/execom/2023.jpg
--------------------------------------------------------------------------------
/Data/execom/2024.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/Data/execom/2024.jpg
--------------------------------------------------------------------------------
/Data/images/AeroCET-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/Data/images/AeroCET-logo.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React (TypeScript)
2 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | AeroCET
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vite-project",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc -b && vite build",
9 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@fortawesome/free-solid-svg-icons": "^6.6.0",
14 | "@fortawesome/react-fontawesome": "^0.2.2",
15 | "@headlessui/react": "^2.1.2",
16 | "@heroicons/react": "^2.1.5",
17 | "axios": "^1.7.9",
18 | "clsx": "^2.1.1",
19 | "cors": "^2.8.5",
20 | "dotenv": "^16.4.7",
21 | "react": "^18.3.1",
22 | "react-dom": "^18.3.1",
23 | "react-icons": "^5.3.0",
24 | "react-router-dom": "^6.25.1",
25 | "react-use": "^17.5.1",
26 | "yarn": "^1.22.22"
27 | },
28 | "devDependencies": {
29 | "@types/node": "^22.10.2",
30 | "@types/react": "^18.3.3",
31 | "@types/react-dom": "^18.3.0",
32 | "@typescript-eslint/eslint-plugin": "^7.15.0",
33 | "@typescript-eslint/parser": "^7.15.0",
34 | "@vitejs/plugin-react-swc": "^3.5.0",
35 | "autoprefixer": "^10.4.19",
36 | "eslint": "^8.57.0",
37 | "eslint-plugin-react-hooks": "^4.6.2",
38 | "eslint-plugin-react-refresh": "^0.4.7",
39 | "postcss": "^8.4.39",
40 | "tailwindcss": "^3.4.6",
41 | "typescript": "^5.2.2",
42 | "vite": "^5.3.4"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/postcss.config.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: [
3 | require('tailwindcss'),
4 | require('autoprefixer'),
5 | ],
6 | }
7 |
--------------------------------------------------------------------------------
/src/Components/About.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import clsx from 'clsx';
3 |
4 | export default function About() {
5 | const [isActive, setIsActive] = useState(false);
6 | const aboutRef = useRef(null);
7 |
8 | // Intersection Observer logic
9 | useEffect(() => {
10 | const observer = new IntersectionObserver(
11 | ([entry]) => {
12 | setIsActive(entry.isIntersecting);
13 | },
14 | { threshold: 0.1 } // Trigger when 10% of the component is visible
15 | );
16 |
17 | if (aboutRef.current) {
18 | observer.observe(aboutRef.current);
19 | }
20 |
21 | return () => {
22 | if (aboutRef.current) {
23 | observer.unobserve(aboutRef.current);
24 | }
25 | };
26 | }, []);
27 |
28 | return (
29 |
37 |
42 |
About Us
43 |
48 |
56 |
57 |
58 | Our Mission:
59 |
60 | - Develop innovative unmanned aerial systems (UAS) and advanced aeromodelling technologies
61 | - Provide hands-on aerospace experience to students
62 | - Bridge academics with real-world applications through research, industry collaboration and competitions.
63 | - Inspire and nurture future aerospace engineers
64 |
65 |
66 | );
67 | }
68 |
--------------------------------------------------------------------------------
/src/Components/Achievements.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import axios from 'axios';
3 | import clsx from 'clsx';
4 | import { useNavigate } from 'react-router-dom';
5 |
6 | export default function Achievements() {
7 | const [isActive, setIsActive] = useState(false);
8 | const [achievements, setAchievements] = useState([]);
9 | const teamRef = useRef(null);
10 | const navigate = useNavigate();
11 |
12 | useEffect(() => {
13 | axios.get(`${import.meta.env.VITE_API_BASE_URL}/api/achievements`)
14 | .then((response) => {
15 | console.log("Achievements Data:", response.data);
16 | setAchievements(response.data);
17 |
18 | setTimeout(() => {
19 | setIsActive(true);
20 | }, 1000);
21 | })
22 | .catch((error) => {
23 | console.error("Error fetching achievements:", error);
24 | });
25 |
26 | const observer = new IntersectionObserver(
27 | ([entry]) => {
28 | setIsActive(entry.isIntersecting);
29 | },
30 | { threshold: 0.2 }
31 | );
32 |
33 | if (teamRef.current) {
34 | observer.observe(teamRef.current);
35 | }
36 |
37 | return () => {
38 | if (teamRef.current) {
39 | observer.unobserve(teamRef.current);
40 | }
41 | };
42 | }, []);
43 |
44 | const goTo = () => {
45 | navigate('/');
46 | };
47 |
48 | return (
49 |
58 |
66 | Achievements
67 |
68 |
69 |
70 | {[...achievements].reverse().map((image, index) => (
71 |
80 |
81 |
82 |

(e.currentTarget.src = '/fallback.jpg')}
87 | />
88 |
89 |
90 | ))}
91 |
92 |
93 | );
94 | }
95 |
--------------------------------------------------------------------------------
/src/Components/Animtion.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/Components/Animtion.css
--------------------------------------------------------------------------------
/src/Components/Announcements.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import axios from 'axios';
3 | import clsx from 'clsx';
4 | import { useNavigate } from 'react-router-dom';
5 |
6 | export default function Announcements() {
7 | const [isActive, setIsActive] = useState(false);
8 |
9 | // Define the Announcement type
10 | interface Announcement {
11 | id: number;
12 | heading: string;
13 | message: string;
14 | link: string;
15 | excel?: string;
16 | }
17 |
18 | const [announcements, setAnnouncements] = useState([]);
19 | const teamRef = useRef(null);
20 | const navigate = useNavigate();
21 |
22 | useEffect(() => {
23 | axios
24 | .get(`${import.meta.env.VITE_API_BASE_URL}/api/announcements`)
25 | .then((response) => {
26 | console.log(response.data);
27 | setAnnouncements(response.data);
28 |
29 | setTimeout(() => {
30 | setIsActive(true);
31 | }, 1000);
32 | })
33 | .catch((error) => {
34 | console.error('Error fetching announcements:', error);
35 | });
36 |
37 | const observer = new IntersectionObserver(
38 | ([entry]) => {
39 | setIsActive(entry.isIntersecting);
40 | },
41 | { threshold: 0.2 }
42 | );
43 |
44 | if (teamRef.current) {
45 | observer.observe(teamRef.current);
46 | }
47 |
48 | return () => {
49 | if (teamRef.current) {
50 | observer.unobserve(teamRef.current);
51 | }
52 | };
53 | }, []);
54 |
55 | const goTo = () => {
56 | navigate('/');
57 | };
58 |
59 | const handleClick = (item: Announcement) => {
60 | if (item.excel) {
61 | // Prepend the backend base URL to form an absolute URL
62 | const fileUrl = `${import.meta.env.VITE_API_BASE_URL}${item.excel}`;
63 |
64 | // Fetch the file as a blob to ensure it's downloaded as binary data
65 | fetch(fileUrl)
66 | .then(response => {
67 | if (!response.ok) {
68 | throw new Error(`HTTP error! status: ${response.status}`);
69 | }
70 | return response.blob();
71 | })
72 | .then(blob => {
73 | const url = window.URL.createObjectURL(blob);
74 | const a = document.createElement('a');
75 | a.style.display = 'none';
76 | a.href = url;
77 | // Use the file name from the URL
78 | a.download = item.excel?.split('/').pop() || 'downloaded_file';
79 | document.body.appendChild(a);
80 | a.click();
81 | window.URL.revokeObjectURL(url);
82 | document.body.removeChild(a);
83 | })
84 | .catch(error => {
85 | console.error('Error downloading file:', error);
86 | });
87 | } else {
88 | window.open(item.link, '_blank');
89 | }
90 | };
91 |
92 | return (
93 |
102 |
110 | Announcements
111 |
112 |
113 |
114 | {[...announcements].reverse().map((item, index) => (
115 |
124 |
125 |
{item.heading}
126 |
{item.message}
127 |
128 |
137 |
138 | ))}
139 |
140 |
141 | );
142 | }
143 |
--------------------------------------------------------------------------------
/src/Components/Contact.tsx:
--------------------------------------------------------------------------------
1 | import { FaLinkedinIn, FaWhatsapp, FaYoutube, FaInstagram, FaPhoneAlt } from 'react-icons/fa';
2 | import { SiGmail } from 'react-icons/si';
3 | import drone from '../assets/images/drone.png';
4 | import download from '../assets/images/downloadButton.png';
5 | import { useEffect, useRef, useState } from 'react';
6 | import clsx from 'clsx';
7 |
8 | export default function Contact() {
9 | const [isActive, setIsActive] = useState(false);
10 | const contactRef = useRef(null);
11 |
12 | // Intersection Observer logic
13 | useEffect(() => {
14 | const observer = new IntersectionObserver(
15 | ([entry]) => {
16 | setIsActive(entry.isIntersecting);
17 | },
18 | { threshold: 0.1 } // Trigger animation when 10% of the component is visible
19 | );
20 |
21 | if (contactRef.current) {
22 | observer.observe(contactRef.current);
23 | }
24 |
25 | return () => {
26 | if (contactRef.current) {
27 | observer.unobserve(contactRef.current);
28 | }
29 | };
30 | }, []);
31 |
32 | return (
33 |
41 | {/* Left Section */}
42 |
43 |
52 |
57 |

58 |
SUPPORT US IN THE UPCOMING SAE
Competitions!
59 |
66 |
67 |
68 |
69 | {/* Right Section (Social Media Icons) */}
70 |
92 |
93 | );
94 | }
95 |
--------------------------------------------------------------------------------
/src/Components/Gallery.css:
--------------------------------------------------------------------------------
1 | @import "https://unpkg.com/open-props/open-props.min.css";
2 | @import "https://unpkg.com/open-props/normalize.min.css";
3 |
4 | /* Container for each scrollable column */
5 | div.scroll-container {
6 | overflow: hidden;
7 | /* Hide scrollbars */
8 | position: relative;
9 | height: 100%;
10 | }
11 |
12 | /* Keyframes for infinite scroll */
13 | @keyframes scroll-up {
14 | 0% {
15 | transform: translateY(0%);
16 | }
17 |
18 | 100% {
19 | transform: translateY(-50%);
20 | }
21 | }
22 |
23 | @keyframes scroll-down {
24 | 0% {
25 | transform: translateY(-50%);
26 | }
27 |
28 | 100% {
29 | transform: translateY(0%);
30 | }
31 | }
32 |
33 | /* Apply infinite scroll animations */
34 | .scroll-track-up {
35 | display: flex;
36 | flex-direction: column;
37 | animation: scroll-up 80s linear infinite;
38 | /* Adjust speed if needed */
39 | }
40 |
41 | .scroll-track-down {
42 | display: flex;
43 | flex-direction: column;
44 | animation: scroll-down 80s linear infinite;
45 | /* Adjust speed if needed */
46 | }
47 |
48 | /* Pause scroll on hover (optional) */
49 | .scroll-track-up:hover,
50 | .scroll-track-down:hover {
51 | animation-play-state: paused;
52 | }
53 |
54 | /* Images styling */
55 | .scroll-container img {
56 | width: 100%;
57 | /* Full width of column */
58 | height: auto;
59 | /* Maintain aspect ratio */
60 | object-fit: cover;
61 | /* Covers the container neatly */
62 | margin-bottom: 10px;
63 | /* Space between images */
64 | flex-shrink: 0;
65 | /* Prevent shrinking */
66 | border-radius: 1rem;
67 | /* Rounded corners */
68 | transition: transform 0.3s ease;
69 | }
70 |
71 | /* Hover effect on images */
72 | .scroll-container img:hover {
73 | transform: scale(1.05);
74 | }
75 |
76 | /* General padding */
77 | .p-24 {
78 | padding: 24px;
79 | }
80 |
81 | .m {
82 | margin: 0;
83 | }
84 |
85 | /* Loader styling (in case you add it later) */
86 | .loader {
87 | display: flex;
88 | justify-content: center;
89 | align-items: center;
90 | height: 200px;
91 | font-size: 18px;
92 | color: #666;
93 | }
--------------------------------------------------------------------------------
/src/Components/Gallery.tsx:
--------------------------------------------------------------------------------
1 | import './Gallery.css';
2 | import { useEffect, useRef, useState } from 'react';
3 | import clsx from 'clsx';
4 | import axios from 'axios';
5 | import { useNavigate } from 'react-router-dom';
6 |
7 | export default function Gallery() {
8 | const [isActive, setIsActive] = useState(false);
9 | const [images, setImages] = useState([]);
10 | const [loading, setLoading] = useState(true);
11 | const galleryRef = useRef(null);
12 | const navigate = useNavigate();
13 |
14 | const goTo = () => {
15 | navigate('/');
16 | };
17 |
18 | // Fetch images from backend
19 | useEffect(() => {
20 | axios.get(`${import.meta.env.VITE_API_BASE_URL}/api/gallery`)
21 | .then((response) => {
22 | setImages(response.data.images);
23 | setLoading(false);
24 | })
25 | .catch(() => setLoading(false));
26 |
27 | // Intersection Observer for fade-in animation
28 | const observer = new IntersectionObserver(
29 | ([entry]) => setIsActive(entry.isIntersecting),
30 | { threshold: 0.1 }
31 | );
32 |
33 | if (galleryRef.current) observer.observe(galleryRef.current);
34 | return () => {
35 | if (galleryRef.current) observer.unobserve(galleryRef.current);
36 | };
37 | }, []);
38 |
39 | // Split images into 3 columns
40 | const firstColumnImages = images.slice(0, Math.ceil(images.length / 3));
41 | const secondColumnImages = images.slice(Math.ceil(images.length / 3), 2 * Math.ceil(images.length / 3));
42 | const thirdColumnImages = images.slice(2 * Math.ceil(images.length / 3));
43 |
44 | // Duplicate for infinite scroll
45 | const duplicatedFirstColumn = [...firstColumnImages, ...firstColumnImages];
46 | const duplicatedSecondColumn = [...secondColumnImages, ...secondColumnImages];
47 | const duplicatedThirdColumn = [...thirdColumnImages, ...thirdColumnImages];
48 |
49 | return (
50 |
59 | {/* First Column - Scroll Up */}
60 |
65 | {!loading && (
66 |
67 | {duplicatedFirstColumn.map((imageUrl, index) => (
68 |

69 | ))}
70 |
71 | )}
72 |
73 |
74 | {/* Second Column - Scroll Down */}
75 |
80 | {!loading && (
81 |
82 | {duplicatedSecondColumn.map((imageUrl, index) => (
83 |

84 | ))}
85 |
86 | )}
87 |
88 |
89 | {/* Third Column - Scroll Up */}
90 |
95 | {!loading && (
96 |
97 | {duplicatedThirdColumn.map((imageUrl, index) => (
98 |

99 | ))}
100 |
101 | )}
102 |
103 |
104 | );
105 | }
106 |
--------------------------------------------------------------------------------
/src/Components/Intro.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=La+Belle+Aurore&family=Sancreek&display=swapz');
2 | body{
3 | margin: 0;
4 | padding: 0;
5 | overflow-x: hidden;
6 | overflow-y: hidden;
7 |
8 | }
9 |
10 | .parallax-image,
11 | .parallax-text {
12 | transition: transform 1.5s ease-out;
13 |
14 | }
15 | .la-belle-aurore-regular {
16 | font-family: "La Belle Aurore", cursive;
17 | font-weight: 400;
18 | font-style: normal;
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/src/Components/Intro.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import './Intro.css';
3 | import text from '../assets/images/introText.png';
4 | import plane from '../assets/images/plane.png';
5 | import clsx from 'clsx';
6 |
7 | export default function Intro() {
8 | // Define the state type for the offset
9 | const [offset, setOffset] = useState<{ x: number; y: number }>({ x: 0, y: 0 });
10 |
11 | // MouseMove event handler with correct type
12 | const handleMouseMove = (e: React.MouseEvent) => {
13 | const { innerWidth, innerHeight } = window;
14 | const x = (e.clientX - innerWidth / 2) / 2;
15 | const y = (e.clientY - innerHeight / 2) / .9;
16 | setOffset({ x, y });
17 | };
18 |
19 | const [isActive, setIsActive] = useState(false);
20 | const introRef = useRef(null);
21 |
22 | // Intersection Observer logic
23 | useEffect(() => {
24 | const observer = new IntersectionObserver(
25 | ([entry]) => {
26 | setIsActive(entry.isIntersecting);
27 | },
28 | { threshold: 0.1 } // Trigger when 10% of the component is visible
29 | );
30 |
31 | if (introRef.current) {
32 | observer.observe(introRef.current);
33 | }
34 |
35 | return () => {
36 | if (introRef.current) {
37 | observer.unobserve(introRef.current);
38 | }
39 | };
40 | }, []);
41 |
42 | return (
43 |
48 | {/* Plane Image with Parallax Effect */}
49 |

57 |
58 | {/* Intro Text Image */}
59 |

67 |
Fly Against the Wind!
72 |
73 | );
74 | }
75 |
--------------------------------------------------------------------------------
/src/Components/Navbar.css:
--------------------------------------------------------------------------------
1 | .nav {
2 | -webkit-backdrop-filter: blur(4px);
3 | backdrop-filter: blur(4px);
4 | width: 250px; /* Default width */
5 | transition: width 0.3s ease, backdrop-filter 0.3s ease;
6 | }
7 |
8 | .nav.closed {
9 | width: 0;
10 | overflow: hidden;
11 | }
12 |
13 | .nav.no-blur {
14 | backdrop-filter: none;
15 | }
16 |
17 | .menu-items {
18 | transition: opacity 0.3s ease, transform 0.3s ease;
19 | opacity: 0;
20 | transform: translateX(-10%);
21 | }
22 |
23 | .menu-items.open {
24 | opacity: 1;
25 | transform: translateX(0);
26 | }
27 |
28 | .menu-items.closed {
29 | opacity: 0;
30 | transform: translateX(-10%);
31 | }
32 |
33 | /* Ensure smooth transition for the mobile view */
34 | @media (min-width: 768px) {
35 | .menu-items {
36 | opacity: 1;
37 | transform: translateX(0);
38 | transition: none; /* No animation on larger screens */
39 | }
40 | }
41 |
42 | /* Hide the toggle button when the menu is open */
43 | .md:hidden {
44 | display: none;
45 | }
46 |
47 | /* Navbar.css */
48 | .load-image {
49 | opacity: 1;
50 | transform: scale(0);
51 | transition: opacity 0.3s ease, transform 0.3s ease;
52 | }
53 |
54 | .load-image.show {
55 | transform: scale(1);
56 | }
57 |
58 | @media (max-width: 500px) {
59 | .load-image {
60 | opacity: 0; /* Hide the image on mobile screens */
61 | }
62 | }
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/src/Components/Navbar.tsx:
--------------------------------------------------------------------------------
1 | import { useState, useEffect } from 'react';
2 | import logo from '../assets/AeroCET-logo.png';
3 | import './Navbar.css';
4 |
5 | function Navbar() {
6 | const [isOpen, setIsOpen] = useState(true);
7 | const [visibleSection, setVisibleSection] = useState(null);
8 |
9 | const toggleMenu = () => {
10 | setIsOpen((prevIsOpen) => !prevIsOpen);
11 | };
12 |
13 | const handleScroll = (sectionId: string) => {
14 | const section = document.getElementById(sectionId);
15 | if (section) {
16 | section.scrollIntoView({ behavior: 'smooth' });
17 | }
18 | if (window.innerWidth < 768) {
19 | setIsOpen(false);
20 | }
21 | };
22 |
23 | useEffect(() => {
24 | const sectionIds = [
25 | 'projects',
26 | 'achievements',
27 | 'team',
28 | 'announcements',
29 | 'intro',
30 | 'contact',
31 | 'about',
32 | 'gallery',
33 | 'workshop',
34 | ];
35 | let currentVisibleSection: string | null = null;
36 |
37 | const observer = new IntersectionObserver(
38 | (entries) => {
39 | const visibleEntries = entries.filter((entry) => entry.isIntersecting);
40 | if (visibleEntries.length > 0) {
41 | visibleEntries.sort((a, b) => b.intersectionRatio - a.intersectionRatio);
42 | const mostVisibleEntry = visibleEntries[0];
43 | if (mostVisibleEntry.target.id !== currentVisibleSection) {
44 | currentVisibleSection = mostVisibleEntry.target.id;
45 | setVisibleSection(currentVisibleSection);
46 | }
47 | }
48 | },
49 | {
50 | root: null,
51 | rootMargin: '0px',
52 | threshold: Array.from(Array(101).keys(), (i) => i / 100),
53 | }
54 | );
55 |
56 | sectionIds.forEach((id) => {
57 | const section = document.getElementById(id);
58 | if (section) {
59 | observer.observe(section);
60 | }
61 | });
62 |
63 | return () => {
64 | sectionIds.forEach((id) => {
65 | const section = document.getElementById(id);
66 | if (section) {
67 | observer.unobserve(section);
68 | }
69 | });
70 | };
71 | }, []);
72 |
73 | return (
74 |
75 | {/* Mobile Toggle Button */}
76 |
77 |
110 |
111 |
112 |
113 | {/* Menu Items */}
114 |
115 |
handleScroll('projects')}>
118 |

119 |
Projects
120 |
121 |
handleScroll('achievements')}>
124 |

125 |
Achieve.
126 |
127 |
handleScroll('team')}>
130 |

131 |
Team
132 |
133 |
handleScroll('announcements')}>
136 |

137 |
Announc.
138 |
139 |
handleScroll('intro')}>
142 |

143 |
Home
144 |
145 |
handleScroll('contact')}>
148 |

149 |
Contact
150 |
151 |
handleScroll('about')}>
154 |

155 |
About
156 |
157 |
handleScroll('gallery')}>
160 |

161 |
Gallery
162 |
163 |
handleScroll('workshop')}>
166 |

167 |
Workshop
168 |
169 |
170 |
171 |
172 | );
173 | }
174 |
175 | export default Navbar;
176 |
--------------------------------------------------------------------------------
/src/Components/Projects.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import clsx from 'clsx';
3 | import { useNavigate } from 'react-router-dom';
4 | import commingSoon from '../assets/images/commingSoon.png';
5 |
6 | export default function Projects() {
7 | const [isActive, setIsActive] = useState(false);
8 | const teamRef = useRef(null);
9 | const navigate = useNavigate();
10 |
11 | const goTo = () => {
12 | navigate('/');
13 | };
14 |
15 | // Intersection Observer logic
16 | useEffect(() => {
17 | const observer = new IntersectionObserver(
18 | ([entry]) => {
19 | setIsActive(entry.isIntersecting);
20 | },
21 | { threshold: 0.2 }
22 | );
23 |
24 | if (teamRef.current) {
25 | observer.observe(teamRef.current);
26 | }
27 |
28 | return () => {
29 | if (teamRef.current) {
30 | observer.unobserve(teamRef.current);
31 | }
32 | };
33 | }, []);
34 |
35 | return (
36 |
45 | {/* Heading */}
46 |
54 | Projects
55 |
56 |
57 | {/* Image */}
58 |
66 |

71 |
72 |
73 | );
74 | }
75 |
--------------------------------------------------------------------------------
/src/Components/Team.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import clsx from 'clsx';
3 | import { useNavigate } from 'react-router-dom';
4 | import './Teams.css'
5 |
6 | export default function Team() {
7 | const [isActive, setIsActive] = useState(false);
8 | const teamRef = useRef(null);
9 | const navigate = useNavigate();
10 |
11 | const goTo2023 = () => {
12 | navigate('/teams/2023');
13 | };
14 | const goTo2024 = () => {
15 | navigate('/teams/2024');
16 | };
17 | const goTo2025 = () => {
18 | navigate('/teams/2025');
19 | };
20 |
21 | // Intersection Observer logic
22 | useEffect(() => {
23 | const observer = new IntersectionObserver(
24 | ([entry]) => {
25 | setIsActive(entry.isIntersecting);
26 | },
27 | { threshold: 0.2 } // You can adjust this value depending on when you want the effect to trigger
28 | );
29 |
30 | if (teamRef.current) {
31 | observer.observe(teamRef.current);
32 | }
33 |
34 | return () => {
35 | if (teamRef.current) {
36 | observer.unobserve(teamRef.current);
37 | }
38 | };
39 | }, []);
40 |
41 | return (
42 |
50 | {/* Animated heading */}
51 |
58 |
Our Team
59 |
60 |
61 | {/* Execome heading and buttons */}
62 |
63 |
Execom
64 |
65 |
71 |
77 |
83 |
86 | 2022
87 |
88 |
91 | 2021
92 |
93 |
94 |
95 |
96 | );
97 | }
98 |
--------------------------------------------------------------------------------
/src/Components/Teams.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Avenger';
3 | src: url('../assets/fonts/Avenger.ttf') format('truetype');
4 | font-weight: 1000;
5 | font-style: normal;
6 | }
7 |
8 | .aven {
9 | font-family: 'Avenger', sans-serif;
10 | text-shadow: 0px 0px 20px #FF6A00;
11 | }
--------------------------------------------------------------------------------
/src/Components/Workshop.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef, useState } from 'react';
2 | import clsx from 'clsx';
3 | import { useNavigate } from 'react-router-dom';
4 | import commingSoon from '../assets/images/commingSoon.png';
5 |
6 | export default function Workshop() {
7 | const [isActive, setIsActive] = useState(false);
8 | const teamRef = useRef(null);
9 | const navigate = useNavigate();
10 |
11 | const goTo = () => {
12 | navigate('/');
13 | };
14 |
15 | // Intersection Observer logic
16 | useEffect(() => {
17 | const observer = new IntersectionObserver(
18 | ([entry]) => {
19 | setIsActive(entry.isIntersecting);
20 | },
21 | { threshold: 0.2 }
22 | );
23 |
24 | if (teamRef.current) {
25 | observer.observe(teamRef.current);
26 | }
27 |
28 | return () => {
29 | if (teamRef.current) {
30 | observer.unobserve(teamRef.current);
31 | }
32 | };
33 | }, []);
34 |
35 | return (
36 |
45 | {/* Heading */}
46 |
54 | Workshop
55 |
56 |
57 | {/* Image */}
58 |
66 |

71 |
72 |
73 | );
74 | }
75 |
--------------------------------------------------------------------------------
/src/Loader.css:
--------------------------------------------------------------------------------
1 | .main{
2 | height: 95vh;
3 | padding: 0% 5% 0% 5%;
4 |
5 | }
6 | .loader {
7 | height: 4px;
8 | margin: 2rem;
9 | width: 250px;
10 | --c:no-repeat linear-gradient(#FB5109 0 0);
11 | background: var(--c),var(--c),#fcf5b8;
12 | background-size: 60% 100%;
13 | animation: l16 3s infinite;
14 | }
15 | @keyframes l16 {
16 | 0% {background-position:-150% 0,-150% 0}
17 | 66% {background-position: 250% 0,-150% 0}
18 | 100% {background-position: 250% 0, 250% 0}
19 | }
--------------------------------------------------------------------------------
/src/Loader.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 | import {App} from './app/App'
3 | import loaderImage from './assets/AeroCET-logo.png';
4 | import './Loader.css';
5 |
6 | export default function Loader() {
7 | const [showApp, setShowApp] = useState(false);
8 |
9 | useEffect(() => {
10 | const timeoutId = setTimeout(() => {
11 | setShowApp(true);
12 | }, 2500);
13 |
14 | return () => {
15 | clearTimeout(timeoutId);
16 | };
17 | }, []);
18 |
19 | if (showApp) {
20 | return ;
21 | }
22 |
23 | return (
24 |
28 | );
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pages/404Error.tsx:
--------------------------------------------------------------------------------
1 | import logo from '../assets/AeroCET-logo.png'
2 | export const NotFound = () =>{
3 | return(
4 | <>
5 |
6 |

7 |
8 | 404 Error Page not found!
9 |
10 |
11 | >
12 | )
13 | }
--------------------------------------------------------------------------------
/src/Pages/FullPic.tsx:
--------------------------------------------------------------------------------
1 |
2 | import { useLocation, useNavigate } from 'react-router-dom';
3 | import img2023 from '../../Data/execom/2023.jpg';
4 | import img2024 from '../../Data/execom/2024.jpg';
5 |
6 | function FullPic() {
7 | const location = useLocation(); // Access the current URL path
8 | const navigate = useNavigate(); // Hook for navigation
9 |
10 | // Handler for navigating to the Home page
11 | const goHome = () => {
12 | navigate('/'); // Navigates to the home page
13 | };
14 |
15 | if (location.pathname === '/teams/2024') {
16 | return (
17 |
18 |
19 |
26 |

27 |
28 | );
29 | }
30 | if (location.pathname === '/teams/2023') {
31 | return (
32 |
33 |
40 |

41 |
42 | );
43 | }
44 |
45 | }
46 |
47 | export default FullPic;
48 |
--------------------------------------------------------------------------------
/src/Pages/Gallery.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/Pages/Gallery.css
--------------------------------------------------------------------------------
/src/Pages/Gallery.tsx:
--------------------------------------------------------------------------------
1 | // Gallery.tsx (Frontend)
2 | import { useEffect, useRef, useState } from "react";
3 | import { useNavigate } from "react-router-dom";
4 | import logo from '../assets/AeroCET-logo.png';
5 | import clsx from 'clsx';
6 | import axios from 'axios';
7 |
8 | export default function Gallery() {
9 | const [isActive, setIsActive] = useState(false);
10 | const [images, setImages] = useState([]); // Ensure this is an array of strings (image URLs)
11 | const [loading, setLoading] = useState(true);
12 | const [error, setError] = useState(null);
13 | const galleryRef = useRef(null);
14 | const navigate = useNavigate();
15 |
16 | const goTo = () => {
17 | navigate('/');
18 | };
19 | console.log("API URL:", process.env.REACT_APP_API_URL);
20 | useEffect(() => {
21 | axios.get(`${process.env.REACT_APP_API_URL}/api/data`)
22 |
23 | .then((response) => {
24 | console.log(response.data.images); // Check if URLs are correct
25 |
26 |
27 | setImages(response.data.images); // Store the fetched image URLs
28 | setLoading(false);
29 | })
30 | .catch((err) => {
31 | setError(err);
32 | setLoading(false);
33 | });
34 |
35 | const observer = new IntersectionObserver(
36 | ([entry]) => {
37 | setIsActive(entry.isIntersecting);
38 | },
39 | { threshold: 0.1 }
40 | );
41 |
42 | if (galleryRef.current) {
43 | observer.observe(galleryRef.current);
44 | }
45 |
46 | return () => {
47 | if (galleryRef.current) {
48 | observer.unobserve(galleryRef.current);
49 | }
50 | };
51 | }, []);
52 |
53 | if (loading) {
54 | return Loading...
;
55 | }
56 |
57 | if (error) {
58 | return Error fetching images: {error.message}
;
59 | }
60 |
61 | return (
62 |
70 |
80 |
81 |
88 | Gallery
89 |
90 |
97 | Every picture has a story to tell..!
98 |
99 |
100 |
105 | {images.map((imageUrl, index) => (
106 |

117 | ))}
118 |
119 |
120 | );
121 | }
122 |
--------------------------------------------------------------------------------
/src/Pages/Home.css:
--------------------------------------------------------------------------------
1 | body{
2 | margin: 0;
3 | padding: 0;
4 | }
5 | .main{
6 | display: flex;
7 | justify-content: center;
8 | align-items: center;
9 | min-height: 100vh;
10 | text-align: center;
11 | width: 100vw;
12 | min-width: 100vw;
13 | overflow-y: hidden;
14 | overflow-x: hidden;
15 | color: white; /* This will make the text stand out on the background colors */
16 |
17 | }
18 |
19 | .home{
20 | display: flex;
21 | overflow-x: hidden;
22 |
23 |
24 | }
25 |
26 |
27 |
28 |
29 | ::-webkit-scrollbar {
30 | width: 2px;
31 |
32 |
33 | }
34 |
35 | ::-webkit-scrollbar-track {
36 | box-shadow: inset 0 0 3px rgba(0, 0, 0, 0);
37 | border-radius: 20px;
38 |
39 |
40 | }
41 |
42 | ::-webkit-scrollbar-thumb {
43 | background: #ff7300 ;
44 | border-radius: 20px;
45 | cursor: grab;
46 |
47 |
48 | }
49 |
50 | ::-webkit-scrollbar-thumb:hover {
51 | background: #d45500 ;
52 | transition-duration: 10s;
53 |
54 | }
55 | .divbg{
56 |
57 |
58 | background-repeat: no-repeat;
59 | background-size: cover;
60 | background-image: url(../assets/images/introBG.png);
61 |
62 | position: relative;
63 | min-width: 100vw;
64 | overflow-y: hidden;
65 | overflow-x: hidden;
66 |
67 | }
--------------------------------------------------------------------------------
/src/Pages/Home.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef } from 'react';
2 | import './Home.css';
3 | import Navbar from '../Components/Navbar';
4 | import Intro from '../Components/Intro';
5 | import Gallery from '../Components/Gallery';
6 | import Team from '../Components/Team';
7 | import About from '../Components/About';
8 | import Contact from '../Components/Contact'
9 | import Announcements from '../Components/Announcements';
10 | import Achievements from '../Components/Achievements';
11 | import Projects from '../Components/Projects';
12 | import Workshop from '../Components/Workshop';
13 |
14 |
15 |
16 |
17 | const Home: React.FC = () => {
18 |
19 |
20 | const scrollContainerRef = useRef(null);
21 |
22 | useEffect(() => {
23 | const element = scrollContainerRef.current;
24 |
25 | if (element) {
26 | const handleScroll = (event: WheelEvent) => {
27 | event.preventDefault();
28 | const scrollSpeed = 5; // Increase this value to scroll faster
29 | element.scrollBy({
30 | left: event.deltaY * scrollSpeed,
31 | behavior: 'smooth',
32 | });
33 | };
34 |
35 | element.addEventListener('wheel', handleScroll);
36 |
37 | return () => {
38 | element.removeEventListener('wheel', handleScroll);
39 | };
40 | }
41 | }, []);
42 |
43 | return (
44 |
45 |
46 |
47 |
48 |
49 |
52 |
53 |
54 |
55 |
58 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | )
77 |
78 | };
79 |
80 | export default Home;
81 |
--------------------------------------------------------------------------------
/src/Pages/Teams.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/Pages/Teams.css
--------------------------------------------------------------------------------
/src/Pages/Teams.tsx:
--------------------------------------------------------------------------------
1 | import { useNavigate, useParams } from "react-router-dom";
2 | import { useState, useEffect, useRef } from "react";
3 | import axios from "axios";
4 | import clsx from "clsx";
5 | import logo from "../assets/AeroCET-logo.png";
6 |
7 | export default function Teams() {
8 | const { year } = useParams(); // Extracts year from URL like "/teams/2025"
9 | const selectedYear = year ? parseInt(year, 10) : new Date().getFullYear(); // Convert to number or use current year
10 | const [isActive, setIsActive] = useState(false);
11 | const [people, setPeople] = useState<{ id: number; imgURL: string; name: string; role: string }[]>([]);
12 | const teamsRef = useRef(null);
13 | const navigate = useNavigate();
14 |
15 | const goTo = () => {
16 | navigate("/");
17 | };
18 |
19 | useEffect(() => {
20 | axios
21 | .get(`${import.meta.env.VITE_API_BASE_URL}/api/execom`)
22 | .then((response) => {
23 | console.log("API Response:", response.data); // Debug API response
24 |
25 | if (response.data[selectedYear]) {
26 | setPeople(response.data[selectedYear]); // Set people based on the year
27 | } else {
28 | setPeople([]); // Set empty if year data not found
29 | }
30 | })
31 | .catch((error) => {
32 | console.error("Error fetching team data:", error);
33 | });
34 |
35 | const observer = new IntersectionObserver(
36 | ([entry]) => {
37 | setIsActive(entry.isIntersecting);
38 | },
39 | { threshold: 0.2 }
40 | );
41 |
42 | if (teamsRef.current) {
43 | observer.observe(teamsRef.current);
44 | }
45 |
46 | return () => {
47 | if (teamsRef.current) {
48 | observer.unobserve(teamsRef.current);
49 | }
50 | };
51 | }, [selectedYear]); // Re-run effect when year changes
52 |
53 | return (
54 |
55 | {/* Centered Logo Button */}
56 |
66 |
67 | {/* Content */}
68 |
69 | Our Team
70 |
71 |
72 |
73 | {/* Team Members */}
74 |
75 | {people.length > 0 ? (
76 | people.map((member) => (
77 |
78 |

(e.currentTarget.src = logo)} // Fallback if image fails
81 | className="rounded-lg w-full max-w-[100px] sm:max-w-[150px] object-cover"
82 | alt={member.name}
83 | />
84 |
{member.name}
85 |
{member.role}
86 |
87 | ))
88 | ) : (
89 |
No team data available for {selectedYear}.
90 | )}
91 |
92 |
93 | );
94 | }
95 |
--------------------------------------------------------------------------------
/src/app/App.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Teko:wght@300..700&display=swap');
2 |
3 | /* For WebKit browsers */
4 | ::-webkit-scrollbar {
5 | width: 4px; /* Width of the vertical scrollbar */
6 | height: 4px; /* Height of the horizontal scrollbar */
7 | }
8 |
9 | ::-webkit-scrollbar-track {
10 | background: #eaeaea00; /* Background of the scrollbar track */
11 | }
12 |
13 | ::-webkit-scrollbar-thumb {
14 | background-color: rgb(241, 109, 0); /* Color of the scrollbar thumb */
15 | border-radius: 10px; /* Rounded corners for the thumb */
16 | }
17 |
18 | /* App and body styles */
19 | App {
20 | width: 100vw;
21 | height: 100vh;
22 | margin: 0;
23 | padding: 0;
24 | }
25 |
26 | body {
27 | background-color: #110011;
28 | color: white;
29 | scrollbar-width: 4px; /* Firefox scrollbar width */
30 | scrollbar-color: rgb(241, 109, 0) #eaeaea00; /* Firefox scrollbar color */
31 | }
32 |
33 | @font-face {
34 | font-family: 'custom';
35 | src: url('../assets/fonts/NoSurrender.ttf') format('truetype');
36 | font-weight: 1000;
37 | font-style: normal;
38 | }
39 |
40 | h1 {
41 | font-family: "custom", serif;
42 | }
43 |
44 | .shad{
45 | border: 0px solid;
46 | padding: 10px;
47 | box-shadow: 0px 0px 35px #FF6A00;
48 | border-radius: 50px;
49 | }
50 |
--------------------------------------------------------------------------------
/src/app/App.tsx:
--------------------------------------------------------------------------------
1 | import { NotFound } from '../Pages/404Error';
2 | import FullPic from '../Pages/FullPic';
3 | import Gallery from '../Pages/Gallery';
4 | import Home from '../Pages/Home'
5 | import Teams from '../Pages/Teams';
6 | import './App.css'
7 | import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
8 |
9 |
10 | export function App(){
11 |
12 | return (
13 |
14 |
15 |
16 |
17 | } />
18 | } />
19 | } />
20 | } />
21 | } />
22 | } />
23 |
24 |
25 |
26 | )
27 | }
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/assets/AeroCET-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/AeroCET-logo.png
--------------------------------------------------------------------------------
/src/assets/fonts/Avenger.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/fonts/Avenger.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/NeutronsDemoRegular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/fonts/NeutronsDemoRegular.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/NoSurrender.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/fonts/NoSurrender.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/hypik.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/fonts/hypik.otf
--------------------------------------------------------------------------------
/src/assets/images/commingSoon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/commingSoon.png
--------------------------------------------------------------------------------
/src/assets/images/downloadButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/downloadButton.png
--------------------------------------------------------------------------------
/src/assets/images/drone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/drone.png
--------------------------------------------------------------------------------
/src/assets/images/introBG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/introBG.png
--------------------------------------------------------------------------------
/src/assets/images/introText.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/introText.png
--------------------------------------------------------------------------------
/src/assets/images/jet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/jet.png
--------------------------------------------------------------------------------
/src/assets/images/plane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/plane.png
--------------------------------------------------------------------------------
/src/assets/images/sample.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/sample.jpeg
--------------------------------------------------------------------------------
/src/assets/images/vectorDrone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/vectorDrone.png
--------------------------------------------------------------------------------
/src/assets/images/vectorPlane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/callmesidhu/React-AeroCET-client/c0770c53f2757aa3a852908462a2e0843d9423cd/src/assets/images/vectorPlane.png
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 |
6 | body{
7 | background-color: black;
8 | color: white;
9 | -ms-overflow-style: none; /* IE and Edge */
10 | scrollbar-width: none; /* Firefox */
11 |
12 | }
13 | ::-webkit-scrollbar {
14 | display: none;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import './index.css'
4 | import Loader from './Loader'
5 |
6 |
7 | ReactDOM.createRoot(document.getElementById('root')!).render(
8 |
9 |
10 | ,
11 | )
12 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | content: [
4 | './src/components/**/*.{js,jsx,ts,tsx}',
5 | './src/pages/**/*.{js,jsx,ts,tsx}',
6 | './src/app/**/*.{js,jsx,ts,tsx}',
7 | './src/**/*.{js,jsx,ts,tsx}'
8 | ],
9 | theme: {
10 | screens: {
11 | 'sm': '280px',
12 | // => @media (min-width: 640px) { ... }
13 |
14 | 'md': '640px',
15 | // => @media (min-width: 768px) { ... }
16 |
17 | 'lg': '1024px',
18 | // => @media (min-width: 1024px) { ... }
19 |
20 | 'xl': '1280px',
21 | // => @media (min-width: 1280px) { ... }
22 |
23 | '2xl': '1536px',
24 | // => @media (min-width: 1536px) { ... }
25 | }
26 | },
27 | plugins: [],
28 | };
29 |
30 |
--------------------------------------------------------------------------------
/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5 | "target": "ES2020",
6 | "useDefineForClassFields": true,
7 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
8 | "module": "ESNext",
9 | "skipLibCheck": true,
10 |
11 | /* Bundler mode */
12 | "moduleResolution": "bundler",
13 | "allowImportingTsExtensions": true,
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "moduleDetection": "force",
17 | "noEmit": true,
18 | "jsx": "react-jsx",
19 |
20 | /* Linting */
21 | "strict": true,
22 | "noUnusedLocals": true,
23 | "noUnusedParameters": true,
24 | "noFallthroughCasesInSwitch": true
25 | },
26 | "include": ["src"]
27 | }
28 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.app.json"
6 | },
7 | {
8 | "path": "./tsconfig.node.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "tsBuildInfoFile": "node_modules/.tmp/tsconfig.node.tsbuildinfo",
5 | "skipLibCheck": true,
6 | "module": "ESNext",
7 | "moduleResolution": "bundler",
8 | "allowSyntheticDefaultImports": true,
9 | "strict": true,
10 | "noEmit": true
11 | },
12 | "include": ["vite.config.ts"]
13 | }
14 |
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "rewrites": [
3 | { "source": "/(.*)", "destination": "/" }
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import react from '@vitejs/plugin-react-swc';
3 |
4 | export default defineConfig({
5 | server: {
6 | host: true,
7 | port: 3000,
8 | proxy: {
9 | '/api': {
10 | target: 'http://14.139.171.170:3001',
11 | changeOrigin: true,
12 | secure: false,
13 | rewrite: (path) => path.replace(/^\/api/, ''),
14 | },
15 | },
16 | },
17 | plugins: [react()],
18 | define: {
19 | 'process.env': process.env,
20 | },
21 | build: {
22 | outDir: 'dist',
23 | sourcemap: true,
24 | },
25 | resolve: {
26 | alias: {
27 | '@': '/src',
28 | },
29 | },
30 | });
31 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@alloc/quick-lru@^5.2.0":
6 | version "5.2.0"
7 | resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz"
8 | integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
9 |
10 | "@babel/runtime@^7.1.2":
11 | version "7.25.6"
12 | resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz"
13 | integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==
14 | dependencies:
15 | regenerator-runtime "^0.14.0"
16 |
17 | "@esbuild/win32-x64@0.21.5":
18 | version "0.21.5"
19 | resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz"
20 | integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
21 |
22 | "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
23 | version "4.4.0"
24 | resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
25 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
26 | dependencies:
27 | eslint-visitor-keys "^3.3.0"
28 |
29 | "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
30 | version "4.11.0"
31 | resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz"
32 | integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==
33 |
34 | "@eslint/eslintrc@^2.1.4":
35 | version "2.1.4"
36 | resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
37 | integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
38 | dependencies:
39 | ajv "^6.12.4"
40 | debug "^4.3.2"
41 | espree "^9.6.0"
42 | globals "^13.19.0"
43 | ignore "^5.2.0"
44 | import-fresh "^3.2.1"
45 | js-yaml "^4.1.0"
46 | minimatch "^3.1.2"
47 | strip-json-comments "^3.1.1"
48 |
49 | "@eslint/js@8.57.0":
50 | version "8.57.0"
51 | resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz"
52 | integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==
53 |
54 | "@floating-ui/core@^1.6.0":
55 | version "1.6.5"
56 | resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz"
57 | integrity sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==
58 | dependencies:
59 | "@floating-ui/utils" "^0.2.5"
60 |
61 | "@floating-ui/dom@^1.0.0":
62 | version "1.6.8"
63 | resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz"
64 | integrity sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==
65 | dependencies:
66 | "@floating-ui/core" "^1.6.0"
67 | "@floating-ui/utils" "^0.2.5"
68 |
69 | "@floating-ui/react-dom@^2.1.1":
70 | version "2.1.1"
71 | resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz"
72 | integrity sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==
73 | dependencies:
74 | "@floating-ui/dom" "^1.0.0"
75 |
76 | "@floating-ui/react@^0.26.16":
77 | version "0.26.20"
78 | resolved "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.20.tgz"
79 | integrity sha512-RixKJJG92fcIsVoqrFr4Onpzh7hlOx4U7NV4aLhMLmtvjZ5oTB/WzXaANYUZATKqXvvW7t9sCxtzejip26N5Ag==
80 | dependencies:
81 | "@floating-ui/react-dom" "^2.1.1"
82 | "@floating-ui/utils" "^0.2.5"
83 | tabbable "^6.0.0"
84 |
85 | "@floating-ui/utils@^0.2.5":
86 | version "0.2.5"
87 | resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz"
88 | integrity sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==
89 |
90 | "@fortawesome/fontawesome-common-types@6.6.0":
91 | version "6.6.0"
92 | resolved "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz"
93 | integrity sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==
94 |
95 | "@fortawesome/fontawesome-svg-core@~1 || ~6":
96 | version "6.6.0"
97 | resolved "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz"
98 | integrity sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==
99 | dependencies:
100 | "@fortawesome/fontawesome-common-types" "6.6.0"
101 |
102 | "@fortawesome/free-solid-svg-icons@^6.6.0":
103 | version "6.6.0"
104 | resolved "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz"
105 | integrity sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==
106 | dependencies:
107 | "@fortawesome/fontawesome-common-types" "6.6.0"
108 |
109 | "@fortawesome/react-fontawesome@^0.2.2":
110 | version "0.2.2"
111 | resolved "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz"
112 | integrity sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==
113 | dependencies:
114 | prop-types "^15.8.1"
115 |
116 | "@headlessui/react@^2.1.2":
117 | version "2.1.2"
118 | resolved "https://registry.npmjs.org/@headlessui/react/-/react-2.1.2.tgz"
119 | integrity sha512-Kb3hgk9gRNRcTZktBrKdHhF3xFhYkca1Rk6e1/im2ENf83dgN54orMW0uSKTXFnUpZOUFZ+wcY05LlipwgZIFQ==
120 | dependencies:
121 | "@floating-ui/react" "^0.26.16"
122 | "@react-aria/focus" "^3.17.1"
123 | "@react-aria/interactions" "^3.21.3"
124 | "@tanstack/react-virtual" "^3.8.1"
125 |
126 | "@heroicons/react@^2.1.5":
127 | version "2.1.5"
128 | resolved "https://registry.npmjs.org/@heroicons/react/-/react-2.1.5.tgz"
129 | integrity sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA==
130 |
131 | "@humanwhocodes/config-array@^0.11.14":
132 | version "0.11.14"
133 | resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz"
134 | integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==
135 | dependencies:
136 | "@humanwhocodes/object-schema" "^2.0.2"
137 | debug "^4.3.1"
138 | minimatch "^3.0.5"
139 |
140 | "@humanwhocodes/module-importer@^1.0.1":
141 | version "1.0.1"
142 | resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
143 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
144 |
145 | "@humanwhocodes/object-schema@^2.0.2":
146 | version "2.0.3"
147 | resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
148 | integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
149 |
150 | "@isaacs/cliui@^8.0.2":
151 | version "8.0.2"
152 | resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
153 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
154 | dependencies:
155 | string-width "^5.1.2"
156 | string-width-cjs "npm:string-width@^4.2.0"
157 | strip-ansi "^7.0.1"
158 | strip-ansi-cjs "npm:strip-ansi@^6.0.1"
159 | wrap-ansi "^8.1.0"
160 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
161 |
162 | "@jridgewell/gen-mapping@^0.3.2":
163 | version "0.3.5"
164 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"
165 | integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
166 | dependencies:
167 | "@jridgewell/set-array" "^1.2.1"
168 | "@jridgewell/sourcemap-codec" "^1.4.10"
169 | "@jridgewell/trace-mapping" "^0.3.24"
170 |
171 | "@jridgewell/resolve-uri@^3.1.0":
172 | version "3.1.2"
173 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
174 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
175 |
176 | "@jridgewell/set-array@^1.2.1":
177 | version "1.2.1"
178 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"
179 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
180 |
181 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
182 | version "1.5.0"
183 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"
184 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
185 |
186 | "@jridgewell/trace-mapping@^0.3.24":
187 | version "0.3.25"
188 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
189 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
190 | dependencies:
191 | "@jridgewell/resolve-uri" "^3.1.0"
192 | "@jridgewell/sourcemap-codec" "^1.4.14"
193 |
194 | "@nodelib/fs.scandir@2.1.5":
195 | version "2.1.5"
196 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
197 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
198 | dependencies:
199 | "@nodelib/fs.stat" "2.0.5"
200 | run-parallel "^1.1.9"
201 |
202 | "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
203 | version "2.0.5"
204 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
205 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
206 |
207 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
208 | version "1.2.8"
209 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
210 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
211 | dependencies:
212 | "@nodelib/fs.scandir" "2.1.5"
213 | fastq "^1.6.0"
214 |
215 | "@pkgjs/parseargs@^0.11.0":
216 | version "0.11.0"
217 | resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz"
218 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
219 |
220 | "@react-aria/focus@^3.17.1":
221 | version "3.18.1"
222 | resolved "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.1.tgz"
223 | integrity sha512-N0Cy61WCIv+57mbqC7hiZAsB+3rF5n4JKabxUmg/2RTJL6lq7hJ5N4gx75ymKxkN8GnVDwt4pKZah48Wopa5jw==
224 | dependencies:
225 | "@react-aria/interactions" "^3.22.1"
226 | "@react-aria/utils" "^3.25.1"
227 | "@react-types/shared" "^3.24.1"
228 | "@swc/helpers" "^0.5.0"
229 | clsx "^2.0.0"
230 |
231 | "@react-aria/interactions@^3.21.3", "@react-aria/interactions@^3.22.1":
232 | version "3.22.1"
233 | resolved "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.1.tgz"
234 | integrity sha512-5TLzQaDAQQ5C70yG8GInbO4wIylKY67RfTIIwQPGR/4n5OIjbUD8BOj3NuSsuZ/frUPaBXo1VEBBmSO23fxkjw==
235 | dependencies:
236 | "@react-aria/ssr" "^3.9.5"
237 | "@react-aria/utils" "^3.25.1"
238 | "@react-types/shared" "^3.24.1"
239 | "@swc/helpers" "^0.5.0"
240 |
241 | "@react-aria/ssr@^3.9.5":
242 | version "3.9.5"
243 | resolved "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.5.tgz"
244 | integrity sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==
245 | dependencies:
246 | "@swc/helpers" "^0.5.0"
247 |
248 | "@react-aria/utils@^3.25.1":
249 | version "3.25.1"
250 | resolved "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.1.tgz"
251 | integrity sha512-5Uj864e7T5+yj78ZfLnfHqmypLiqW2mN+nsdslog2z5ssunTqjolVeM15ootXskjISlZ7MojLpq97kIC4nlnAw==
252 | dependencies:
253 | "@react-aria/ssr" "^3.9.5"
254 | "@react-stately/utils" "^3.10.2"
255 | "@react-types/shared" "^3.24.1"
256 | "@swc/helpers" "^0.5.0"
257 | clsx "^2.0.0"
258 |
259 | "@react-stately/utils@^3.10.2":
260 | version "3.10.2"
261 | resolved "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.2.tgz"
262 | integrity sha512-fh6OTQtbeQC0ywp6LJuuKs6tKIgFvt/DlIZEcIpGho6/oZG229UnIk6TUekwxnDbumuYyan6D9EgUtEMmT8UIg==
263 | dependencies:
264 | "@swc/helpers" "^0.5.0"
265 |
266 | "@react-types/shared@^3.24.1":
267 | version "3.24.1"
268 | resolved "https://registry.npmjs.org/@react-types/shared/-/shared-3.24.1.tgz"
269 | integrity sha512-AUQeGYEm/zDTN6zLzdXolDxz3Jk5dDL7f506F07U8tBwxNNI3WRdhU84G0/AaFikOZzDXhOZDr3MhQMzyE7Ydw==
270 |
271 | "@remix-run/router@1.18.0":
272 | version "1.18.0"
273 | resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.18.0.tgz"
274 | integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw==
275 |
276 | "@rollup/rollup-win32-x64-msvc@4.19.0":
277 | version "4.19.0"
278 | resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz"
279 | integrity sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==
280 |
281 | "@swc/core-win32-x64-msvc@1.7.0":
282 | version "1.7.0"
283 | resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.0.tgz"
284 | integrity sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==
285 |
286 | "@swc/core@^1.5.7":
287 | version "1.7.0"
288 | resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.0.tgz"
289 | integrity sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==
290 | dependencies:
291 | "@swc/counter" "^0.1.3"
292 | "@swc/types" "^0.1.9"
293 | optionalDependencies:
294 | "@swc/core-darwin-arm64" "1.7.0"
295 | "@swc/core-darwin-x64" "1.7.0"
296 | "@swc/core-linux-arm-gnueabihf" "1.7.0"
297 | "@swc/core-linux-arm64-gnu" "1.7.0"
298 | "@swc/core-linux-arm64-musl" "1.7.0"
299 | "@swc/core-linux-x64-gnu" "1.7.0"
300 | "@swc/core-linux-x64-musl" "1.7.0"
301 | "@swc/core-win32-arm64-msvc" "1.7.0"
302 | "@swc/core-win32-ia32-msvc" "1.7.0"
303 | "@swc/core-win32-x64-msvc" "1.7.0"
304 |
305 | "@swc/counter@^0.1.3":
306 | version "0.1.3"
307 | resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz"
308 | integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
309 |
310 | "@swc/helpers@*", "@swc/helpers@^0.5.0":
311 | version "0.5.12"
312 | resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz"
313 | integrity sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==
314 | dependencies:
315 | tslib "^2.4.0"
316 |
317 | "@swc/types@^0.1.9":
318 | version "0.1.9"
319 | resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz"
320 | integrity sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==
321 | dependencies:
322 | "@swc/counter" "^0.1.3"
323 |
324 | "@tanstack/react-virtual@^3.8.1":
325 | version "3.8.3"
326 | resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.3.tgz"
327 | integrity sha512-9ICwbDUUzN99CJIGc373i8NLoj6zFTKI2Hlcmo0+lCSAhPQ5mxq4dGOMKmLYoEFyHcGQ64Bd6ZVbnPpM6lNK5w==
328 | dependencies:
329 | "@tanstack/virtual-core" "3.8.3"
330 |
331 | "@tanstack/virtual-core@3.8.3":
332 | version "3.8.3"
333 | resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.3.tgz"
334 | integrity sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==
335 |
336 | "@types/estree@1.0.5":
337 | version "1.0.5"
338 | resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
339 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
340 |
341 | "@types/js-cookie@^2.2.6":
342 | version "2.2.7"
343 | resolved "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz"
344 | integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==
345 |
346 | "@types/node@^18.0.0 || >=20.0.0", "@types/node@^22.10.2":
347 | version "22.10.2"
348 | resolved "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz"
349 | integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==
350 | dependencies:
351 | undici-types "~6.20.0"
352 |
353 | "@types/prop-types@*":
354 | version "15.7.12"
355 | resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz"
356 | integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
357 |
358 | "@types/react-dom@^18.3.0":
359 | version "18.3.0"
360 | resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz"
361 | integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==
362 | dependencies:
363 | "@types/react" "*"
364 |
365 | "@types/react@*", "@types/react@^18.3.3":
366 | version "18.3.3"
367 | resolved "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz"
368 | integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==
369 | dependencies:
370 | "@types/prop-types" "*"
371 | csstype "^3.0.2"
372 |
373 | "@typescript-eslint/eslint-plugin@^7.15.0":
374 | version "7.16.1"
375 | resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz"
376 | integrity sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==
377 | dependencies:
378 | "@eslint-community/regexpp" "^4.10.0"
379 | "@typescript-eslint/scope-manager" "7.16.1"
380 | "@typescript-eslint/type-utils" "7.16.1"
381 | "@typescript-eslint/utils" "7.16.1"
382 | "@typescript-eslint/visitor-keys" "7.16.1"
383 | graphemer "^1.4.0"
384 | ignore "^5.3.1"
385 | natural-compare "^1.4.0"
386 | ts-api-utils "^1.3.0"
387 |
388 | "@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.15.0":
389 | version "7.16.1"
390 | resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz"
391 | integrity sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==
392 | dependencies:
393 | "@typescript-eslint/scope-manager" "7.16.1"
394 | "@typescript-eslint/types" "7.16.1"
395 | "@typescript-eslint/typescript-estree" "7.16.1"
396 | "@typescript-eslint/visitor-keys" "7.16.1"
397 | debug "^4.3.4"
398 |
399 | "@typescript-eslint/scope-manager@7.16.1":
400 | version "7.16.1"
401 | resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz"
402 | integrity sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==
403 | dependencies:
404 | "@typescript-eslint/types" "7.16.1"
405 | "@typescript-eslint/visitor-keys" "7.16.1"
406 |
407 | "@typescript-eslint/type-utils@7.16.1":
408 | version "7.16.1"
409 | resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz"
410 | integrity sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==
411 | dependencies:
412 | "@typescript-eslint/typescript-estree" "7.16.1"
413 | "@typescript-eslint/utils" "7.16.1"
414 | debug "^4.3.4"
415 | ts-api-utils "^1.3.0"
416 |
417 | "@typescript-eslint/types@7.16.1":
418 | version "7.16.1"
419 | resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz"
420 | integrity sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==
421 |
422 | "@typescript-eslint/typescript-estree@7.16.1":
423 | version "7.16.1"
424 | resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz"
425 | integrity sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==
426 | dependencies:
427 | "@typescript-eslint/types" "7.16.1"
428 | "@typescript-eslint/visitor-keys" "7.16.1"
429 | debug "^4.3.4"
430 | globby "^11.1.0"
431 | is-glob "^4.0.3"
432 | minimatch "^9.0.4"
433 | semver "^7.6.0"
434 | ts-api-utils "^1.3.0"
435 |
436 | "@typescript-eslint/utils@7.16.1":
437 | version "7.16.1"
438 | resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz"
439 | integrity sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==
440 | dependencies:
441 | "@eslint-community/eslint-utils" "^4.4.0"
442 | "@typescript-eslint/scope-manager" "7.16.1"
443 | "@typescript-eslint/types" "7.16.1"
444 | "@typescript-eslint/typescript-estree" "7.16.1"
445 |
446 | "@typescript-eslint/visitor-keys@7.16.1":
447 | version "7.16.1"
448 | resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz"
449 | integrity sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==
450 | dependencies:
451 | "@typescript-eslint/types" "7.16.1"
452 | eslint-visitor-keys "^3.4.3"
453 |
454 | "@ungap/structured-clone@^1.2.0":
455 | version "1.2.0"
456 | resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
457 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
458 |
459 | "@vitejs/plugin-react-swc@^3.5.0":
460 | version "3.7.0"
461 | resolved "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.7.0.tgz"
462 | integrity sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==
463 | dependencies:
464 | "@swc/core" "^1.5.7"
465 |
466 | "@xobotyi/scrollbar-width@^1.9.5":
467 | version "1.9.5"
468 | resolved "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz"
469 | integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==
470 |
471 | acorn-jsx@^5.3.2:
472 | version "5.3.2"
473 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
474 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
475 |
476 | "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0:
477 | version "8.12.1"
478 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz"
479 | integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
480 |
481 | ajv@^6.12.4:
482 | version "6.12.6"
483 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
484 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
485 | dependencies:
486 | fast-deep-equal "^3.1.1"
487 | fast-json-stable-stringify "^2.0.0"
488 | json-schema-traverse "^0.4.1"
489 | uri-js "^4.2.2"
490 |
491 | ansi-regex@^5.0.1:
492 | version "5.0.1"
493 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
494 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
495 |
496 | ansi-regex@^6.0.1:
497 | version "6.0.1"
498 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz"
499 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
500 |
501 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
502 | version "4.3.0"
503 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
504 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
505 | dependencies:
506 | color-convert "^2.0.1"
507 |
508 | ansi-styles@^6.1.0:
509 | version "6.2.1"
510 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
511 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
512 |
513 | any-promise@^1.0.0:
514 | version "1.3.0"
515 | resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"
516 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
517 |
518 | anymatch@~3.1.2:
519 | version "3.1.3"
520 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
521 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
522 | dependencies:
523 | normalize-path "^3.0.0"
524 | picomatch "^2.0.4"
525 |
526 | arg@^5.0.2:
527 | version "5.0.2"
528 | resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
529 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
530 |
531 | argparse@^2.0.1:
532 | version "2.0.1"
533 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
534 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
535 |
536 | array-union@^2.1.0:
537 | version "2.1.0"
538 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
539 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
540 |
541 | asynckit@^0.4.0:
542 | version "0.4.0"
543 | resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
544 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
545 |
546 | autoprefixer@^10.4.19:
547 | version "10.4.19"
548 | resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz"
549 | integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==
550 | dependencies:
551 | browserslist "^4.23.0"
552 | caniuse-lite "^1.0.30001599"
553 | fraction.js "^4.3.7"
554 | normalize-range "^0.1.2"
555 | picocolors "^1.0.0"
556 | postcss-value-parser "^4.2.0"
557 |
558 | axios@^1.7.9:
559 | version "1.7.9"
560 | resolved "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz"
561 | integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==
562 | dependencies:
563 | follow-redirects "^1.15.6"
564 | form-data "^4.0.0"
565 | proxy-from-env "^1.1.0"
566 |
567 | balanced-match@^1.0.0:
568 | version "1.0.2"
569 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
570 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
571 |
572 | binary-extensions@^2.0.0:
573 | version "2.3.0"
574 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
575 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
576 |
577 | brace-expansion@^1.1.7:
578 | version "1.1.11"
579 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
580 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
581 | dependencies:
582 | balanced-match "^1.0.0"
583 | concat-map "0.0.1"
584 |
585 | brace-expansion@^2.0.1:
586 | version "2.0.1"
587 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
588 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
589 | dependencies:
590 | balanced-match "^1.0.0"
591 |
592 | braces@^3.0.3, braces@~3.0.2:
593 | version "3.0.3"
594 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
595 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
596 | dependencies:
597 | fill-range "^7.1.1"
598 |
599 | browserslist@^4.23.0, "browserslist@>= 4.21.0":
600 | version "4.23.3"
601 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz"
602 | integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==
603 | dependencies:
604 | caniuse-lite "^1.0.30001646"
605 | electron-to-chromium "^1.5.4"
606 | node-releases "^2.0.18"
607 | update-browserslist-db "^1.1.0"
608 |
609 | callsites@^3.0.0:
610 | version "3.1.0"
611 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
612 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
613 |
614 | camelcase-css@^2.0.1:
615 | version "2.0.1"
616 | resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
617 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
618 |
619 | caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001646:
620 | version "1.0.30001651"
621 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz"
622 | integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==
623 |
624 | chalk@^4.0.0:
625 | version "4.1.2"
626 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
627 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
628 | dependencies:
629 | ansi-styles "^4.1.0"
630 | supports-color "^7.1.0"
631 |
632 | chokidar@^3.5.3:
633 | version "3.6.0"
634 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz"
635 | integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
636 | dependencies:
637 | anymatch "~3.1.2"
638 | braces "~3.0.2"
639 | glob-parent "~5.1.2"
640 | is-binary-path "~2.1.0"
641 | is-glob "~4.0.1"
642 | normalize-path "~3.0.0"
643 | readdirp "~3.6.0"
644 | optionalDependencies:
645 | fsevents "~2.3.2"
646 |
647 | clsx@^2.0.0, clsx@^2.1.1:
648 | version "2.1.1"
649 | resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
650 | integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
651 |
652 | color-convert@^2.0.1:
653 | version "2.0.1"
654 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
655 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
656 | dependencies:
657 | color-name "~1.1.4"
658 |
659 | color-name@~1.1.4:
660 | version "1.1.4"
661 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
662 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
663 |
664 | combined-stream@^1.0.8:
665 | version "1.0.8"
666 | resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
667 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
668 | dependencies:
669 | delayed-stream "~1.0.0"
670 |
671 | commander@^4.0.0:
672 | version "4.1.1"
673 | resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
674 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
675 |
676 | concat-map@0.0.1:
677 | version "0.0.1"
678 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
679 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
680 |
681 | copy-to-clipboard@^3.3.1:
682 | version "3.3.3"
683 | resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz"
684 | integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
685 | dependencies:
686 | toggle-selection "^1.0.6"
687 |
688 | cors@^2.8.5:
689 | version "2.8.5"
690 | resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz"
691 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
692 | dependencies:
693 | object-assign "^4"
694 | vary "^1"
695 |
696 | cross-spawn@^7.0.0, cross-spawn@^7.0.2:
697 | version "7.0.3"
698 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
699 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
700 | dependencies:
701 | path-key "^3.1.0"
702 | shebang-command "^2.0.0"
703 | which "^2.0.1"
704 |
705 | css-in-js-utils@^3.1.0:
706 | version "3.1.0"
707 | resolved "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz"
708 | integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==
709 | dependencies:
710 | hyphenate-style-name "^1.0.3"
711 |
712 | css-tree@^1.1.2:
713 | version "1.1.3"
714 | resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
715 | integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
716 | dependencies:
717 | mdn-data "2.0.14"
718 | source-map "^0.6.1"
719 |
720 | cssesc@^3.0.0:
721 | version "3.0.0"
722 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
723 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
724 |
725 | csstype@^3.0.2, csstype@^3.1.2:
726 | version "3.1.3"
727 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
728 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
729 |
730 | debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
731 | version "4.3.5"
732 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz"
733 | integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==
734 | dependencies:
735 | ms "2.1.2"
736 |
737 | deep-is@^0.1.3:
738 | version "0.1.4"
739 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
740 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
741 |
742 | delayed-stream@~1.0.0:
743 | version "1.0.0"
744 | resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
745 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
746 |
747 | didyoumean@^1.2.2:
748 | version "1.2.2"
749 | resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
750 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
751 |
752 | dir-glob@^3.0.1:
753 | version "3.0.1"
754 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
755 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
756 | dependencies:
757 | path-type "^4.0.0"
758 |
759 | dlv@^1.1.3:
760 | version "1.1.3"
761 | resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
762 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
763 |
764 | doctrine@^3.0.0:
765 | version "3.0.0"
766 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
767 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
768 | dependencies:
769 | esutils "^2.0.2"
770 |
771 | dotenv@^16.4.7:
772 | version "16.4.7"
773 | resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz"
774 | integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==
775 |
776 | eastasianwidth@^0.2.0:
777 | version "0.2.0"
778 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
779 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
780 |
781 | electron-to-chromium@^1.5.4:
782 | version "1.5.6"
783 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz"
784 | integrity sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==
785 |
786 | emoji-regex@^8.0.0:
787 | version "8.0.0"
788 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
789 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
790 |
791 | emoji-regex@^9.2.2:
792 | version "9.2.2"
793 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
794 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
795 |
796 | error-stack-parser@^2.0.6:
797 | version "2.1.4"
798 | resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz"
799 | integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==
800 | dependencies:
801 | stackframe "^1.3.4"
802 |
803 | esbuild@^0.21.3:
804 | version "0.21.5"
805 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz"
806 | integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==
807 | optionalDependencies:
808 | "@esbuild/aix-ppc64" "0.21.5"
809 | "@esbuild/android-arm" "0.21.5"
810 | "@esbuild/android-arm64" "0.21.5"
811 | "@esbuild/android-x64" "0.21.5"
812 | "@esbuild/darwin-arm64" "0.21.5"
813 | "@esbuild/darwin-x64" "0.21.5"
814 | "@esbuild/freebsd-arm64" "0.21.5"
815 | "@esbuild/freebsd-x64" "0.21.5"
816 | "@esbuild/linux-arm" "0.21.5"
817 | "@esbuild/linux-arm64" "0.21.5"
818 | "@esbuild/linux-ia32" "0.21.5"
819 | "@esbuild/linux-loong64" "0.21.5"
820 | "@esbuild/linux-mips64el" "0.21.5"
821 | "@esbuild/linux-ppc64" "0.21.5"
822 | "@esbuild/linux-riscv64" "0.21.5"
823 | "@esbuild/linux-s390x" "0.21.5"
824 | "@esbuild/linux-x64" "0.21.5"
825 | "@esbuild/netbsd-x64" "0.21.5"
826 | "@esbuild/openbsd-x64" "0.21.5"
827 | "@esbuild/sunos-x64" "0.21.5"
828 | "@esbuild/win32-arm64" "0.21.5"
829 | "@esbuild/win32-ia32" "0.21.5"
830 | "@esbuild/win32-x64" "0.21.5"
831 |
832 | escalade@^3.1.2:
833 | version "3.1.2"
834 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz"
835 | integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
836 |
837 | escape-string-regexp@^4.0.0:
838 | version "4.0.0"
839 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
840 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
841 |
842 | eslint-plugin-react-hooks@^4.6.2:
843 | version "4.6.2"
844 | resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz"
845 | integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==
846 |
847 | eslint-plugin-react-refresh@^0.4.7:
848 | version "0.4.8"
849 | resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.8.tgz"
850 | integrity sha512-MIKAclwaDFIiYtVBLzDdm16E+Ty4GwhB6wZlCAG1R3Ur+F9Qbo6PRxpA5DK7XtDgm+WlCoAY2WxAwqhmIDHg6Q==
851 |
852 | eslint-scope@^7.2.2:
853 | version "7.2.2"
854 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
855 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
856 | dependencies:
857 | esrecurse "^4.3.0"
858 | estraverse "^5.2.0"
859 |
860 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
861 | version "3.4.3"
862 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
863 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
864 |
865 | "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=7:
866 | version "8.57.0"
867 | resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
868 | integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
869 | dependencies:
870 | "@eslint-community/eslint-utils" "^4.2.0"
871 | "@eslint-community/regexpp" "^4.6.1"
872 | "@eslint/eslintrc" "^2.1.4"
873 | "@eslint/js" "8.57.0"
874 | "@humanwhocodes/config-array" "^0.11.14"
875 | "@humanwhocodes/module-importer" "^1.0.1"
876 | "@nodelib/fs.walk" "^1.2.8"
877 | "@ungap/structured-clone" "^1.2.0"
878 | ajv "^6.12.4"
879 | chalk "^4.0.0"
880 | cross-spawn "^7.0.2"
881 | debug "^4.3.2"
882 | doctrine "^3.0.0"
883 | escape-string-regexp "^4.0.0"
884 | eslint-scope "^7.2.2"
885 | eslint-visitor-keys "^3.4.3"
886 | espree "^9.6.1"
887 | esquery "^1.4.2"
888 | esutils "^2.0.2"
889 | fast-deep-equal "^3.1.3"
890 | file-entry-cache "^6.0.1"
891 | find-up "^5.0.0"
892 | glob-parent "^6.0.2"
893 | globals "^13.19.0"
894 | graphemer "^1.4.0"
895 | ignore "^5.2.0"
896 | imurmurhash "^0.1.4"
897 | is-glob "^4.0.0"
898 | is-path-inside "^3.0.3"
899 | js-yaml "^4.1.0"
900 | json-stable-stringify-without-jsonify "^1.0.1"
901 | levn "^0.4.1"
902 | lodash.merge "^4.6.2"
903 | minimatch "^3.1.2"
904 | natural-compare "^1.4.0"
905 | optionator "^0.9.3"
906 | strip-ansi "^6.0.1"
907 | text-table "^0.2.0"
908 |
909 | espree@^9.6.0, espree@^9.6.1:
910 | version "9.6.1"
911 | resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
912 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
913 | dependencies:
914 | acorn "^8.9.0"
915 | acorn-jsx "^5.3.2"
916 | eslint-visitor-keys "^3.4.1"
917 |
918 | esquery@^1.4.2:
919 | version "1.6.0"
920 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
921 | integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
922 | dependencies:
923 | estraverse "^5.1.0"
924 |
925 | esrecurse@^4.3.0:
926 | version "4.3.0"
927 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
928 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
929 | dependencies:
930 | estraverse "^5.2.0"
931 |
932 | estraverse@^5.1.0, estraverse@^5.2.0:
933 | version "5.3.0"
934 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
935 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
936 |
937 | esutils@^2.0.2:
938 | version "2.0.3"
939 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
940 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
941 |
942 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
943 | version "3.1.3"
944 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
945 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
946 |
947 | fast-glob@^3.2.9, fast-glob@^3.3.0:
948 | version "3.3.2"
949 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz"
950 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
951 | dependencies:
952 | "@nodelib/fs.stat" "^2.0.2"
953 | "@nodelib/fs.walk" "^1.2.3"
954 | glob-parent "^5.1.2"
955 | merge2 "^1.3.0"
956 | micromatch "^4.0.4"
957 |
958 | fast-json-stable-stringify@^2.0.0:
959 | version "2.1.0"
960 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
961 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
962 |
963 | fast-levenshtein@^2.0.6:
964 | version "2.0.6"
965 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
966 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
967 |
968 | fast-shallow-equal@^1.0.0:
969 | version "1.0.0"
970 | resolved "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz"
971 | integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==
972 |
973 | fastest-stable-stringify@^2.0.2:
974 | version "2.0.2"
975 | resolved "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz"
976 | integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==
977 |
978 | fastq@^1.6.0:
979 | version "1.17.1"
980 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz"
981 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
982 | dependencies:
983 | reusify "^1.0.4"
984 |
985 | file-entry-cache@^6.0.1:
986 | version "6.0.1"
987 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
988 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
989 | dependencies:
990 | flat-cache "^3.0.4"
991 |
992 | fill-range@^7.1.1:
993 | version "7.1.1"
994 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
995 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
996 | dependencies:
997 | to-regex-range "^5.0.1"
998 |
999 | find-up@^5.0.0:
1000 | version "5.0.0"
1001 | resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
1002 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1003 | dependencies:
1004 | locate-path "^6.0.0"
1005 | path-exists "^4.0.0"
1006 |
1007 | flat-cache@^3.0.4:
1008 | version "3.2.0"
1009 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz"
1010 | integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
1011 | dependencies:
1012 | flatted "^3.2.9"
1013 | keyv "^4.5.3"
1014 | rimraf "^3.0.2"
1015 |
1016 | flatted@^3.2.9:
1017 | version "3.3.1"
1018 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz"
1019 | integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
1020 |
1021 | follow-redirects@^1.15.6:
1022 | version "1.15.9"
1023 | resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz"
1024 | integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
1025 |
1026 | foreground-child@^3.1.0:
1027 | version "3.2.1"
1028 | resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz"
1029 | integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==
1030 | dependencies:
1031 | cross-spawn "^7.0.0"
1032 | signal-exit "^4.0.1"
1033 |
1034 | form-data@^4.0.0:
1035 | version "4.0.1"
1036 | resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz"
1037 | integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==
1038 | dependencies:
1039 | asynckit "^0.4.0"
1040 | combined-stream "^1.0.8"
1041 | mime-types "^2.1.12"
1042 |
1043 | fraction.js@^4.3.7:
1044 | version "4.3.7"
1045 | resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz"
1046 | integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
1047 |
1048 | fs.realpath@^1.0.0:
1049 | version "1.0.0"
1050 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
1051 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1052 |
1053 | function-bind@^1.1.2:
1054 | version "1.1.2"
1055 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
1056 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
1057 |
1058 | glob-parent@^5.1.2:
1059 | version "5.1.2"
1060 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
1061 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1062 | dependencies:
1063 | is-glob "^4.0.1"
1064 |
1065 | glob-parent@^6.0.2:
1066 | version "6.0.2"
1067 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
1068 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1069 | dependencies:
1070 | is-glob "^4.0.3"
1071 |
1072 | glob-parent@~5.1.2:
1073 | version "5.1.2"
1074 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
1075 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1076 | dependencies:
1077 | is-glob "^4.0.1"
1078 |
1079 | glob@^10.3.10:
1080 | version "10.4.5"
1081 | resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"
1082 | integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
1083 | dependencies:
1084 | foreground-child "^3.1.0"
1085 | jackspeak "^3.1.2"
1086 | minimatch "^9.0.4"
1087 | minipass "^7.1.2"
1088 | package-json-from-dist "^1.0.0"
1089 | path-scurry "^1.11.1"
1090 |
1091 | glob@^7.1.3:
1092 | version "7.2.3"
1093 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
1094 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1095 | dependencies:
1096 | fs.realpath "^1.0.0"
1097 | inflight "^1.0.4"
1098 | inherits "2"
1099 | minimatch "^3.1.1"
1100 | once "^1.3.0"
1101 | path-is-absolute "^1.0.0"
1102 |
1103 | globals@^13.19.0:
1104 | version "13.24.0"
1105 | resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
1106 | integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
1107 | dependencies:
1108 | type-fest "^0.20.2"
1109 |
1110 | globby@^11.1.0:
1111 | version "11.1.0"
1112 | resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
1113 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
1114 | dependencies:
1115 | array-union "^2.1.0"
1116 | dir-glob "^3.0.1"
1117 | fast-glob "^3.2.9"
1118 | ignore "^5.2.0"
1119 | merge2 "^1.4.1"
1120 | slash "^3.0.0"
1121 |
1122 | graphemer@^1.4.0:
1123 | version "1.4.0"
1124 | resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
1125 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
1126 |
1127 | has-flag@^4.0.0:
1128 | version "4.0.0"
1129 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
1130 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1131 |
1132 | hasown@^2.0.2:
1133 | version "2.0.2"
1134 | resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
1135 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
1136 | dependencies:
1137 | function-bind "^1.1.2"
1138 |
1139 | hyphenate-style-name@^1.0.3:
1140 | version "1.1.0"
1141 | resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz"
1142 | integrity sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==
1143 |
1144 | ignore@^5.2.0, ignore@^5.3.1:
1145 | version "5.3.1"
1146 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz"
1147 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
1148 |
1149 | import-fresh@^3.2.1:
1150 | version "3.3.0"
1151 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
1152 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1153 | dependencies:
1154 | parent-module "^1.0.0"
1155 | resolve-from "^4.0.0"
1156 |
1157 | imurmurhash@^0.1.4:
1158 | version "0.1.4"
1159 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
1160 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1161 |
1162 | inflight@^1.0.4:
1163 | version "1.0.6"
1164 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
1165 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1166 | dependencies:
1167 | once "^1.3.0"
1168 | wrappy "1"
1169 |
1170 | inherits@2:
1171 | version "2.0.4"
1172 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
1173 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1174 |
1175 | inline-style-prefixer@^7.0.1:
1176 | version "7.0.1"
1177 | resolved "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz"
1178 | integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==
1179 | dependencies:
1180 | css-in-js-utils "^3.1.0"
1181 |
1182 | is-binary-path@~2.1.0:
1183 | version "2.1.0"
1184 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
1185 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1186 | dependencies:
1187 | binary-extensions "^2.0.0"
1188 |
1189 | is-core-module@^2.13.0:
1190 | version "2.15.0"
1191 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz"
1192 | integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==
1193 | dependencies:
1194 | hasown "^2.0.2"
1195 |
1196 | is-extglob@^2.1.1:
1197 | version "2.1.1"
1198 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
1199 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1200 |
1201 | is-fullwidth-code-point@^3.0.0:
1202 | version "3.0.0"
1203 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
1204 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1205 |
1206 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
1207 | version "4.0.3"
1208 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
1209 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1210 | dependencies:
1211 | is-extglob "^2.1.1"
1212 |
1213 | is-number@^7.0.0:
1214 | version "7.0.0"
1215 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
1216 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1217 |
1218 | is-path-inside@^3.0.3:
1219 | version "3.0.3"
1220 | resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
1221 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1222 |
1223 | isexe@^2.0.0:
1224 | version "2.0.0"
1225 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
1226 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1227 |
1228 | jackspeak@^3.1.2:
1229 | version "3.4.3"
1230 | resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz"
1231 | integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==
1232 | dependencies:
1233 | "@isaacs/cliui" "^8.0.2"
1234 | optionalDependencies:
1235 | "@pkgjs/parseargs" "^0.11.0"
1236 |
1237 | jiti@^1.21.0:
1238 | version "1.21.6"
1239 | resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz"
1240 | integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==
1241 |
1242 | js-cookie@^2.2.1:
1243 | version "2.2.1"
1244 | resolved "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz"
1245 | integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
1246 |
1247 | "js-tokens@^3.0.0 || ^4.0.0":
1248 | version "4.0.0"
1249 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
1250 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1251 |
1252 | js-yaml@^4.1.0:
1253 | version "4.1.0"
1254 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
1255 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1256 | dependencies:
1257 | argparse "^2.0.1"
1258 |
1259 | json-buffer@3.0.1:
1260 | version "3.0.1"
1261 | resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
1262 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
1263 |
1264 | json-schema-traverse@^0.4.1:
1265 | version "0.4.1"
1266 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
1267 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1268 |
1269 | json-stable-stringify-without-jsonify@^1.0.1:
1270 | version "1.0.1"
1271 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
1272 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1273 |
1274 | keyv@^4.5.3:
1275 | version "4.5.4"
1276 | resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
1277 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
1278 | dependencies:
1279 | json-buffer "3.0.1"
1280 |
1281 | levn@^0.4.1:
1282 | version "0.4.1"
1283 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
1284 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1285 | dependencies:
1286 | prelude-ls "^1.2.1"
1287 | type-check "~0.4.0"
1288 |
1289 | lilconfig@^2.1.0:
1290 | version "2.1.0"
1291 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"
1292 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
1293 |
1294 | lilconfig@^3.0.0:
1295 | version "3.1.2"
1296 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz"
1297 | integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==
1298 |
1299 | lines-and-columns@^1.1.6:
1300 | version "1.2.4"
1301 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
1302 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
1303 |
1304 | locate-path@^6.0.0:
1305 | version "6.0.0"
1306 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
1307 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1308 | dependencies:
1309 | p-locate "^5.0.0"
1310 |
1311 | lodash.merge@^4.6.2:
1312 | version "4.6.2"
1313 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
1314 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1315 |
1316 | loose-envify@^1.1.0, loose-envify@^1.4.0:
1317 | version "1.4.0"
1318 | resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
1319 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1320 | dependencies:
1321 | js-tokens "^3.0.0 || ^4.0.0"
1322 |
1323 | lru-cache@^10.2.0:
1324 | version "10.4.3"
1325 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"
1326 | integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
1327 |
1328 | mdn-data@2.0.14:
1329 | version "2.0.14"
1330 | resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
1331 | integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
1332 |
1333 | merge2@^1.3.0, merge2@^1.4.1:
1334 | version "1.4.1"
1335 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
1336 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1337 |
1338 | micromatch@^4.0.4, micromatch@^4.0.5:
1339 | version "4.0.7"
1340 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz"
1341 | integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==
1342 | dependencies:
1343 | braces "^3.0.3"
1344 | picomatch "^2.3.1"
1345 |
1346 | mime-db@1.52.0:
1347 | version "1.52.0"
1348 | resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
1349 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
1350 |
1351 | mime-types@^2.1.12:
1352 | version "2.1.35"
1353 | resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
1354 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
1355 | dependencies:
1356 | mime-db "1.52.0"
1357 |
1358 | minimatch@^3.0.5:
1359 | version "3.1.2"
1360 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
1361 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1362 | dependencies:
1363 | brace-expansion "^1.1.7"
1364 |
1365 | minimatch@^3.1.1:
1366 | version "3.1.2"
1367 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
1368 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1369 | dependencies:
1370 | brace-expansion "^1.1.7"
1371 |
1372 | minimatch@^3.1.2:
1373 | version "3.1.2"
1374 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
1375 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1376 | dependencies:
1377 | brace-expansion "^1.1.7"
1378 |
1379 | minimatch@^9.0.4:
1380 | version "9.0.5"
1381 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
1382 | integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
1383 | dependencies:
1384 | brace-expansion "^2.0.1"
1385 |
1386 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
1387 | version "7.1.2"
1388 | resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
1389 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
1390 |
1391 | ms@2.1.2:
1392 | version "2.1.2"
1393 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
1394 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1395 |
1396 | mz@^2.7.0:
1397 | version "2.7.0"
1398 | resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz"
1399 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
1400 | dependencies:
1401 | any-promise "^1.0.0"
1402 | object-assign "^4.0.1"
1403 | thenify-all "^1.0.0"
1404 |
1405 | nano-css@^5.6.2:
1406 | version "5.6.2"
1407 | resolved "https://registry.npmjs.org/nano-css/-/nano-css-5.6.2.tgz"
1408 | integrity sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==
1409 | dependencies:
1410 | "@jridgewell/sourcemap-codec" "^1.4.15"
1411 | css-tree "^1.1.2"
1412 | csstype "^3.1.2"
1413 | fastest-stable-stringify "^2.0.2"
1414 | inline-style-prefixer "^7.0.1"
1415 | rtl-css-js "^1.16.1"
1416 | stacktrace-js "^2.0.2"
1417 | stylis "^4.3.0"
1418 |
1419 | nanoid@^3.3.7:
1420 | version "3.3.7"
1421 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"
1422 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
1423 |
1424 | natural-compare@^1.4.0:
1425 | version "1.4.0"
1426 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
1427 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1428 |
1429 | node-releases@^2.0.18:
1430 | version "2.0.18"
1431 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz"
1432 | integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
1433 |
1434 | normalize-path@^3.0.0, normalize-path@~3.0.0:
1435 | version "3.0.0"
1436 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
1437 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1438 |
1439 | normalize-range@^0.1.2:
1440 | version "0.1.2"
1441 | resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
1442 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
1443 |
1444 | object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1:
1445 | version "4.1.1"
1446 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
1447 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1448 |
1449 | object-hash@^3.0.0:
1450 | version "3.0.0"
1451 | resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
1452 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
1453 |
1454 | once@^1.3.0:
1455 | version "1.4.0"
1456 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
1457 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1458 | dependencies:
1459 | wrappy "1"
1460 |
1461 | optionator@^0.9.3:
1462 | version "0.9.4"
1463 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz"
1464 | integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
1465 | dependencies:
1466 | deep-is "^0.1.3"
1467 | fast-levenshtein "^2.0.6"
1468 | levn "^0.4.1"
1469 | prelude-ls "^1.2.1"
1470 | type-check "^0.4.0"
1471 | word-wrap "^1.2.5"
1472 |
1473 | p-limit@^3.0.2:
1474 | version "3.1.0"
1475 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
1476 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1477 | dependencies:
1478 | yocto-queue "^0.1.0"
1479 |
1480 | p-locate@^5.0.0:
1481 | version "5.0.0"
1482 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz"
1483 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1484 | dependencies:
1485 | p-limit "^3.0.2"
1486 |
1487 | package-json-from-dist@^1.0.0:
1488 | version "1.0.0"
1489 | resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz"
1490 | integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==
1491 |
1492 | parent-module@^1.0.0:
1493 | version "1.0.1"
1494 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
1495 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1496 | dependencies:
1497 | callsites "^3.0.0"
1498 |
1499 | path-exists@^4.0.0:
1500 | version "4.0.0"
1501 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
1502 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1503 |
1504 | path-is-absolute@^1.0.0:
1505 | version "1.0.1"
1506 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
1507 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
1508 |
1509 | path-key@^3.1.0:
1510 | version "3.1.1"
1511 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
1512 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1513 |
1514 | path-parse@^1.0.7:
1515 | version "1.0.7"
1516 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
1517 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1518 |
1519 | path-scurry@^1.11.1:
1520 | version "1.11.1"
1521 | resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz"
1522 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
1523 | dependencies:
1524 | lru-cache "^10.2.0"
1525 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
1526 |
1527 | path-type@^4.0.0:
1528 | version "4.0.0"
1529 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
1530 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1531 |
1532 | picocolors@^1.0.0, picocolors@^1.0.1:
1533 | version "1.0.1"
1534 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz"
1535 | integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
1536 |
1537 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
1538 | version "2.3.1"
1539 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
1540 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1541 |
1542 | pify@^2.3.0:
1543 | version "2.3.0"
1544 | resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
1545 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
1546 |
1547 | pirates@^4.0.1:
1548 | version "4.0.6"
1549 | resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz"
1550 | integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
1551 |
1552 | postcss-import@^15.1.0:
1553 | version "15.1.0"
1554 | resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz"
1555 | integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
1556 | dependencies:
1557 | postcss-value-parser "^4.0.0"
1558 | read-cache "^1.0.0"
1559 | resolve "^1.1.7"
1560 |
1561 | postcss-js@^4.0.1:
1562 | version "4.0.1"
1563 | resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz"
1564 | integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
1565 | dependencies:
1566 | camelcase-css "^2.0.1"
1567 |
1568 | postcss-load-config@^4.0.1:
1569 | version "4.0.2"
1570 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz"
1571 | integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==
1572 | dependencies:
1573 | lilconfig "^3.0.0"
1574 | yaml "^2.3.4"
1575 |
1576 | postcss-nested@^6.0.1:
1577 | version "6.2.0"
1578 | resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz"
1579 | integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==
1580 | dependencies:
1581 | postcss-selector-parser "^6.1.1"
1582 |
1583 | postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1:
1584 | version "6.1.1"
1585 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz"
1586 | integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==
1587 | dependencies:
1588 | cssesc "^3.0.0"
1589 | util-deprecate "^1.0.2"
1590 |
1591 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
1592 | version "4.2.0"
1593 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
1594 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
1595 |
1596 | postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.39, postcss@>=8.0.9:
1597 | version "8.4.39"
1598 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz"
1599 | integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==
1600 | dependencies:
1601 | nanoid "^3.3.7"
1602 | picocolors "^1.0.1"
1603 | source-map-js "^1.2.0"
1604 |
1605 | prelude-ls@^1.2.1:
1606 | version "1.2.1"
1607 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
1608 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1609 |
1610 | prop-types@^15.8.1:
1611 | version "15.8.1"
1612 | resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
1613 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
1614 | dependencies:
1615 | loose-envify "^1.4.0"
1616 | object-assign "^4.1.1"
1617 | react-is "^16.13.1"
1618 |
1619 | proxy-from-env@^1.1.0:
1620 | version "1.1.0"
1621 | resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
1622 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
1623 |
1624 | punycode@^2.1.0:
1625 | version "2.3.1"
1626 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
1627 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
1628 |
1629 | queue-microtask@^1.2.2:
1630 | version "1.2.3"
1631 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
1632 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1633 |
1634 | react-dom@*, "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18, react-dom@^18.3.1, react-dom@>=16.8, react-dom@>=16.8.0:
1635 | version "18.3.1"
1636 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
1637 | integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
1638 | dependencies:
1639 | loose-envify "^1.1.0"
1640 | scheduler "^0.23.2"
1641 |
1642 | react-icons@^5.3.0:
1643 | version "5.3.0"
1644 | resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz"
1645 | integrity sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==
1646 |
1647 | react-is@^16.13.1:
1648 | version "16.13.1"
1649 | resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
1650 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1651 |
1652 | react-router-dom@^6.25.1:
1653 | version "6.25.1"
1654 | resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.25.1.tgz"
1655 | integrity sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ==
1656 | dependencies:
1657 | "@remix-run/router" "1.18.0"
1658 | react-router "6.25.1"
1659 |
1660 | react-router@6.25.1:
1661 | version "6.25.1"
1662 | resolved "https://registry.npmjs.org/react-router/-/react-router-6.25.1.tgz"
1663 | integrity sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw==
1664 | dependencies:
1665 | "@remix-run/router" "1.18.0"
1666 |
1667 | react-universal-interface@^0.6.2:
1668 | version "0.6.2"
1669 | resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz"
1670 | integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==
1671 |
1672 | react-use@^17.5.1:
1673 | version "17.5.1"
1674 | resolved "https://registry.npmjs.org/react-use/-/react-use-17.5.1.tgz"
1675 | integrity sha512-LG/uPEVRflLWMwi3j/sZqR00nF6JGqTTDblkXK2nzXsIvij06hXl1V/MZIlwj1OKIQUtlh1l9jK8gLsRyCQxMg==
1676 | dependencies:
1677 | "@types/js-cookie" "^2.2.6"
1678 | "@xobotyi/scrollbar-width" "^1.9.5"
1679 | copy-to-clipboard "^3.3.1"
1680 | fast-deep-equal "^3.1.3"
1681 | fast-shallow-equal "^1.0.0"
1682 | js-cookie "^2.2.1"
1683 | nano-css "^5.6.2"
1684 | react-universal-interface "^0.6.2"
1685 | resize-observer-polyfill "^1.5.1"
1686 | screenfull "^5.1.0"
1687 | set-harmonic-interval "^1.0.1"
1688 | throttle-debounce "^3.0.1"
1689 | ts-easing "^0.2.0"
1690 | tslib "^2.1.0"
1691 |
1692 | react@*, "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0", react@^18, react@^18.3.1, "react@>= 16", react@>=16.3, react@>=16.8, react@>=16.8.0:
1693 | version "18.3.1"
1694 | resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
1695 | integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
1696 | dependencies:
1697 | loose-envify "^1.1.0"
1698 |
1699 | read-cache@^1.0.0:
1700 | version "1.0.0"
1701 | resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"
1702 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
1703 | dependencies:
1704 | pify "^2.3.0"
1705 |
1706 | readdirp@~3.6.0:
1707 | version "3.6.0"
1708 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
1709 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1710 | dependencies:
1711 | picomatch "^2.2.1"
1712 |
1713 | regenerator-runtime@^0.14.0:
1714 | version "0.14.1"
1715 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
1716 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
1717 |
1718 | resize-observer-polyfill@^1.5.1:
1719 | version "1.5.1"
1720 | resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
1721 | integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
1722 |
1723 | resolve-from@^4.0.0:
1724 | version "4.0.0"
1725 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
1726 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1727 |
1728 | resolve@^1.1.7, resolve@^1.22.2:
1729 | version "1.22.8"
1730 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz"
1731 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
1732 | dependencies:
1733 | is-core-module "^2.13.0"
1734 | path-parse "^1.0.7"
1735 | supports-preserve-symlinks-flag "^1.0.0"
1736 |
1737 | reusify@^1.0.4:
1738 | version "1.0.4"
1739 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
1740 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1741 |
1742 | rimraf@^3.0.2:
1743 | version "3.0.2"
1744 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
1745 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1746 | dependencies:
1747 | glob "^7.1.3"
1748 |
1749 | rollup@^4.13.0:
1750 | version "4.19.0"
1751 | resolved "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz"
1752 | integrity sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==
1753 | dependencies:
1754 | "@types/estree" "1.0.5"
1755 | optionalDependencies:
1756 | "@rollup/rollup-android-arm-eabi" "4.19.0"
1757 | "@rollup/rollup-android-arm64" "4.19.0"
1758 | "@rollup/rollup-darwin-arm64" "4.19.0"
1759 | "@rollup/rollup-darwin-x64" "4.19.0"
1760 | "@rollup/rollup-linux-arm-gnueabihf" "4.19.0"
1761 | "@rollup/rollup-linux-arm-musleabihf" "4.19.0"
1762 | "@rollup/rollup-linux-arm64-gnu" "4.19.0"
1763 | "@rollup/rollup-linux-arm64-musl" "4.19.0"
1764 | "@rollup/rollup-linux-powerpc64le-gnu" "4.19.0"
1765 | "@rollup/rollup-linux-riscv64-gnu" "4.19.0"
1766 | "@rollup/rollup-linux-s390x-gnu" "4.19.0"
1767 | "@rollup/rollup-linux-x64-gnu" "4.19.0"
1768 | "@rollup/rollup-linux-x64-musl" "4.19.0"
1769 | "@rollup/rollup-win32-arm64-msvc" "4.19.0"
1770 | "@rollup/rollup-win32-ia32-msvc" "4.19.0"
1771 | "@rollup/rollup-win32-x64-msvc" "4.19.0"
1772 | fsevents "~2.3.2"
1773 |
1774 | rtl-css-js@^1.16.1:
1775 | version "1.16.1"
1776 | resolved "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz"
1777 | integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==
1778 | dependencies:
1779 | "@babel/runtime" "^7.1.2"
1780 |
1781 | run-parallel@^1.1.9:
1782 | version "1.2.0"
1783 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
1784 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1785 | dependencies:
1786 | queue-microtask "^1.2.2"
1787 |
1788 | scheduler@^0.23.2:
1789 | version "0.23.2"
1790 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz"
1791 | integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
1792 | dependencies:
1793 | loose-envify "^1.1.0"
1794 |
1795 | screenfull@^5.1.0:
1796 | version "5.2.0"
1797 | resolved "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz"
1798 | integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==
1799 |
1800 | semver@^7.6.0:
1801 | version "7.6.3"
1802 | resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz"
1803 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
1804 |
1805 | set-harmonic-interval@^1.0.1:
1806 | version "1.0.1"
1807 | resolved "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz"
1808 | integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==
1809 |
1810 | shebang-command@^2.0.0:
1811 | version "2.0.0"
1812 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
1813 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1814 | dependencies:
1815 | shebang-regex "^3.0.0"
1816 |
1817 | shebang-regex@^3.0.0:
1818 | version "3.0.0"
1819 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
1820 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1821 |
1822 | signal-exit@^4.0.1:
1823 | version "4.1.0"
1824 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
1825 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
1826 |
1827 | slash@^3.0.0:
1828 | version "3.0.0"
1829 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
1830 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1831 |
1832 | source-map-js@^1.2.0:
1833 | version "1.2.0"
1834 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
1835 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
1836 |
1837 | source-map@^0.6.1:
1838 | version "0.6.1"
1839 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
1840 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1841 |
1842 | source-map@0.5.6:
1843 | version "0.5.6"
1844 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
1845 | integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==
1846 |
1847 | stack-generator@^2.0.5:
1848 | version "2.0.10"
1849 | resolved "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz"
1850 | integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==
1851 | dependencies:
1852 | stackframe "^1.3.4"
1853 |
1854 | stackframe@^1.3.4:
1855 | version "1.3.4"
1856 | resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz"
1857 | integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
1858 |
1859 | stacktrace-gps@^3.0.4:
1860 | version "3.1.2"
1861 | resolved "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz"
1862 | integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==
1863 | dependencies:
1864 | source-map "0.5.6"
1865 | stackframe "^1.3.4"
1866 |
1867 | stacktrace-js@^2.0.2:
1868 | version "2.0.2"
1869 | resolved "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz"
1870 | integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==
1871 | dependencies:
1872 | error-stack-parser "^2.0.6"
1873 | stack-generator "^2.0.5"
1874 | stacktrace-gps "^3.0.4"
1875 |
1876 | "string-width-cjs@npm:string-width@^4.2.0":
1877 | version "4.2.3"
1878 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
1879 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1880 | dependencies:
1881 | emoji-regex "^8.0.0"
1882 | is-fullwidth-code-point "^3.0.0"
1883 | strip-ansi "^6.0.1"
1884 |
1885 | string-width@^4.1.0:
1886 | version "4.2.3"
1887 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
1888 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1889 | dependencies:
1890 | emoji-regex "^8.0.0"
1891 | is-fullwidth-code-point "^3.0.0"
1892 | strip-ansi "^6.0.1"
1893 |
1894 | string-width@^5.0.1, string-width@^5.1.2:
1895 | version "5.1.2"
1896 | resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
1897 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
1898 | dependencies:
1899 | eastasianwidth "^0.2.0"
1900 | emoji-regex "^9.2.2"
1901 | strip-ansi "^7.0.1"
1902 |
1903 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1":
1904 | version "6.0.1"
1905 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
1906 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1907 | dependencies:
1908 | ansi-regex "^5.0.1"
1909 |
1910 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1911 | version "6.0.1"
1912 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
1913 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1914 | dependencies:
1915 | ansi-regex "^5.0.1"
1916 |
1917 | strip-ansi@^7.0.1:
1918 | version "7.1.0"
1919 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz"
1920 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
1921 | dependencies:
1922 | ansi-regex "^6.0.1"
1923 |
1924 | strip-json-comments@^3.1.1:
1925 | version "3.1.1"
1926 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
1927 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1928 |
1929 | stylis@^4.3.0:
1930 | version "4.3.4"
1931 | resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz"
1932 | integrity sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==
1933 |
1934 | sucrase@^3.32.0:
1935 | version "3.35.0"
1936 | resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz"
1937 | integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==
1938 | dependencies:
1939 | "@jridgewell/gen-mapping" "^0.3.2"
1940 | commander "^4.0.0"
1941 | glob "^10.3.10"
1942 | lines-and-columns "^1.1.6"
1943 | mz "^2.7.0"
1944 | pirates "^4.0.1"
1945 | ts-interface-checker "^0.1.9"
1946 |
1947 | supports-color@^7.1.0:
1948 | version "7.2.0"
1949 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
1950 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1951 | dependencies:
1952 | has-flag "^4.0.0"
1953 |
1954 | supports-preserve-symlinks-flag@^1.0.0:
1955 | version "1.0.0"
1956 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
1957 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1958 |
1959 | tabbable@^6.0.0:
1960 | version "6.2.0"
1961 | resolved "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz"
1962 | integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
1963 |
1964 | tailwindcss@^3.4.6:
1965 | version "3.4.6"
1966 | resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.6.tgz"
1967 | integrity sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==
1968 | dependencies:
1969 | "@alloc/quick-lru" "^5.2.0"
1970 | arg "^5.0.2"
1971 | chokidar "^3.5.3"
1972 | didyoumean "^1.2.2"
1973 | dlv "^1.1.3"
1974 | fast-glob "^3.3.0"
1975 | glob-parent "^6.0.2"
1976 | is-glob "^4.0.3"
1977 | jiti "^1.21.0"
1978 | lilconfig "^2.1.0"
1979 | micromatch "^4.0.5"
1980 | normalize-path "^3.0.0"
1981 | object-hash "^3.0.0"
1982 | picocolors "^1.0.0"
1983 | postcss "^8.4.23"
1984 | postcss-import "^15.1.0"
1985 | postcss-js "^4.0.1"
1986 | postcss-load-config "^4.0.1"
1987 | postcss-nested "^6.0.1"
1988 | postcss-selector-parser "^6.0.11"
1989 | resolve "^1.22.2"
1990 | sucrase "^3.32.0"
1991 |
1992 | text-table@^0.2.0:
1993 | version "0.2.0"
1994 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
1995 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
1996 |
1997 | thenify-all@^1.0.0:
1998 | version "1.6.0"
1999 | resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz"
2000 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
2001 | dependencies:
2002 | thenify ">= 3.1.0 < 4"
2003 |
2004 | "thenify@>= 3.1.0 < 4":
2005 | version "3.3.1"
2006 | resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz"
2007 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
2008 | dependencies:
2009 | any-promise "^1.0.0"
2010 |
2011 | throttle-debounce@^3.0.1:
2012 | version "3.0.1"
2013 | resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz"
2014 | integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
2015 |
2016 | to-regex-range@^5.0.1:
2017 | version "5.0.1"
2018 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
2019 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2020 | dependencies:
2021 | is-number "^7.0.0"
2022 |
2023 | toggle-selection@^1.0.6:
2024 | version "1.0.6"
2025 | resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz"
2026 | integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
2027 |
2028 | ts-api-utils@^1.3.0:
2029 | version "1.3.0"
2030 | resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz"
2031 | integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
2032 |
2033 | ts-easing@^0.2.0:
2034 | version "0.2.0"
2035 | resolved "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz"
2036 | integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==
2037 |
2038 | ts-interface-checker@^0.1.9:
2039 | version "0.1.13"
2040 | resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
2041 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
2042 |
2043 | tslib@*, tslib@^2.1.0, tslib@^2.4.0:
2044 | version "2.6.3"
2045 | resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz"
2046 | integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
2047 |
2048 | type-check@^0.4.0, type-check@~0.4.0:
2049 | version "0.4.0"
2050 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
2051 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2052 | dependencies:
2053 | prelude-ls "^1.2.1"
2054 |
2055 | type-fest@^0.20.2:
2056 | version "0.20.2"
2057 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
2058 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
2059 |
2060 | typescript@^5.2.2, typescript@>=4.2.0:
2061 | version "5.5.3"
2062 | resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz"
2063 | integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==
2064 |
2065 | undici-types@~6.20.0:
2066 | version "6.20.0"
2067 | resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz"
2068 | integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==
2069 |
2070 | update-browserslist-db@^1.1.0:
2071 | version "1.1.0"
2072 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz"
2073 | integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==
2074 | dependencies:
2075 | escalade "^3.1.2"
2076 | picocolors "^1.0.1"
2077 |
2078 | uri-js@^4.2.2:
2079 | version "4.4.1"
2080 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
2081 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
2082 | dependencies:
2083 | punycode "^2.1.0"
2084 |
2085 | util-deprecate@^1.0.2:
2086 | version "1.0.2"
2087 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
2088 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
2089 |
2090 | vary@^1:
2091 | version "1.1.2"
2092 | resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
2093 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
2094 |
2095 | "vite@^4 || ^5", vite@^5.3.4:
2096 | version "5.3.4"
2097 | resolved "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz"
2098 | integrity sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==
2099 | dependencies:
2100 | esbuild "^0.21.3"
2101 | postcss "^8.4.39"
2102 | rollup "^4.13.0"
2103 | optionalDependencies:
2104 | fsevents "~2.3.3"
2105 |
2106 | which@^2.0.1:
2107 | version "2.0.2"
2108 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
2109 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2110 | dependencies:
2111 | isexe "^2.0.0"
2112 |
2113 | word-wrap@^1.2.5:
2114 | version "1.2.5"
2115 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz"
2116 | integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
2117 |
2118 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
2119 | version "7.0.0"
2120 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
2121 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
2122 | dependencies:
2123 | ansi-styles "^4.0.0"
2124 | string-width "^4.1.0"
2125 | strip-ansi "^6.0.0"
2126 |
2127 | wrap-ansi@^8.1.0:
2128 | version "8.1.0"
2129 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"
2130 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
2131 | dependencies:
2132 | ansi-styles "^6.1.0"
2133 | string-width "^5.0.1"
2134 | strip-ansi "^7.0.1"
2135 |
2136 | wrappy@1:
2137 | version "1.0.2"
2138 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
2139 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
2140 |
2141 | yaml@^2.3.4:
2142 | version "2.4.5"
2143 | resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz"
2144 | integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==
2145 |
2146 | yarn@^1.22.22:
2147 | version "1.22.22"
2148 | resolved "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz"
2149 | integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==
2150 |
2151 | yocto-queue@^0.1.0:
2152 | version "0.1.0"
2153 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
2154 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2155 |
--------------------------------------------------------------------------------