+
{" "}
{/* Adjust the margin as needed */}
+
{isHomepage && } {/* Render Header only on homepage */}
@@ -71,10 +72,13 @@ export default function RootLayout({
{isHomepage && }
+
);
}
import { Providers } from "./providers";
+import ServiceProvider from "./services/themeProvider";
+import Navbar from "@/components/Navbar";
diff --git a/app/services/apple/page.tsx b/app/services/apple/page.tsx
index e1902dd..eceaaea 100644
--- a/app/services/apple/page.tsx
+++ b/app/services/apple/page.tsx
@@ -1,45 +1,111 @@
-// app/apple-issues/page.tsx
-
"use client";
-import React, { useState } from "react";
+import React, { useState } from 'react';
import Link from "next/link";
-const appleIssues = [
- { title: "Screen Issue", rating: 4.9, reviews: "4K reviews", price: "₹199", time: "50 mins" },
- { title: "Battery Drain Issue", rating: 4.85, reviews: "3K reviews", price: "₹199", time: "55 mins" },
- { title: "Software Issue", rating: 4.75, reviews: "2K reviews", price: "₹149", time: "40 mins" },
+import DownloadDoneIcon from '@mui/icons-material/DownloadDone';
+import ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout';
+import RemoveShoppingCartIcon from '@mui/icons-material/RemoveShoppingCart';
+
+import Search from "@/components/Search"
+import { useServiceContext} from '../themeProvider';
+import Toastr from '@/components/Toast';
+
+const appleIssue = [
+ { id : 1, title: "Screen Issue", rating: 4.9, reviews: "4K reviews", price: "₹199", time: "50 mins" },
+ { id : 2, title: "Battery Drain Issue", rating: 4.85, reviews: "3K reviews", price: "₹199", time: "55 mins" },
+ { id : 3, title: "Software Issue", rating: 4.75, reviews: "2K reviews", price: "₹149", time: "40 mins" },
];
const AppleIssuesPage = () => {
- const [cart, setCart] = useState([]);
+ const [appleIssues, setappleIssues] = useState(appleIssue)
+ const [cart, setCart] = useState(() => {
+ return appleIssue.reduce((acc, item) => {
+ acc[item.id] = false;
+ return acc;
+ }, {});
+ });
+
+
+ const {products, setProducts} = useServiceContext()
+ const [added, setAdded] = useState
(null);
-// const addToCart = (issue) => {
-// setCart([...cart, issue]);
-// alert(${issue.title} has been added to your cart!);
-// };
+ const addToCart = (id) => {
+
+ setProducts([...products, appleIssue.find(item => item.id === id)]);
+ setCart(prev => ({...prev, [id]: true }));
+ setAdded(true)
+ };
+
+ const removeFromCart = (id: number) => { // Specify the type for id
+ setProducts(products.filter(item=> item.id !== id)); // Ensure prev is an array of Product
+ setCart(prev => ({...prev, [id]: false}));
+ setAdded(false)
+ };
+
+ console.log(products);
+
+
return (
-
-
Apple Laptop Issues
-
- {appleIssues.map((issue, index) => (
-
-
-
{issue.title}
-
⭐ {issue.rating} ({issue.reviews})
-
{issue.price} • {issue.time}
+ <>
+ {
+ added === true &&
+
+ }
+ {
+ added === false &&
+
+ }
+
+
+
Apple Laptop Issues
+
+
+
+ {appleIssues.map((issue, index) => (
+
+
+
{issue.title}
+
⭐ {issue.rating} ({issue.reviews})
+
{issue.price} • {issue.time}
+
+
+ {
+ if(cart[issue.id])
+ removeFromCart(issue.id);
+ else
+ addToCart(issue.id);
+ }}
+ >
+ { cart[issue.id] ?
+ :
+
+ }
+
+
+ { cart[issue.id] &&
+
+
+
+ }
+
-
- Add
-
-
- ))}
+ ))}
+
+
+ Go to Cart
+
-
- Go to Cart
-
-
+ >
);
};
diff --git a/app/services/instantbook/page.tsx b/app/services/instantbook/page.tsx
index 4b659ce..bc8fba0 100644
--- a/app/services/instantbook/page.tsx
+++ b/app/services/instantbook/page.tsx
@@ -1,48 +1,106 @@
-import React from 'react';
+"use client";
+
+import React, { useState } from 'react';
+import Link from "next/link";
+
+import DownloadDoneIcon from '@mui/icons-material/DownloadDone';
+import ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout';
+import RemoveShoppingCartIcon from '@mui/icons-material/RemoveShoppingCart';
+
+import Search from "@/components/Search";
+import { useServiceContext } from '../themeProvider';
+import Toastr from '@/components/Toast';
+
+
+const instantIssuesData = [
+ { id: 7, title: "Instant Book for Desktop", rating: 4.8, reviews: "2K reviews", price: "₹159", time: "45 mins" },
+ { id: 8, title: "Instant Book for Windows Laptop", rating: 4.84, reviews: "19K reviews", price: "₹159", time: "45 mins" },
+ { id: 9, title: "Instant Book for MacBook/Apple Laptop", rating: 4.69, reviews: "224 reviews", price: "₹159", time: "45 mins" },
+];
const InstantIssuesPage = () => {
- return (
-
-
Instant Issues
-
-
-
-
-
-
- );
-};
+ const [instantIssues, setInstantIssues] = useState(instantIssuesData);
+ const [cart, setCart] = useState(() => {
+ return instantIssuesData.reduce((acc, item) => {
+ acc[item.id] = false;
+ return acc;
+ }, {});
+ });
+
+ const { products, setProducts } = useServiceContext();
+ const [added, setAdded] = useState
(null);
+
+ const addToCart = (id) => {
+ setProducts([...products, instantIssuesData.find(item => item.id === id)]);
+ setCart(prev => ({ ...prev, [id]: true }));
+ setAdded(true)
+ };
+
+ const removeFromCart = (id) => {
+ setProducts(products.filter(item => item.id !== id));
+ setCart(prev => ({ ...prev, [id]: false }));
+ setAdded(false)
+ };
-const ServiceCard = ({ title, rating, reviews, price, time }) => {
return (
-
-
-
{title}
-
⭐ {rating} ({reviews} reviews)
-
₹{price} • {time}
+ <>
+ {
+ added === true &&
+
+ }
+ {
+ added === false &&
+
+ }
+
+
+
Instant Issues
+
+
+
+ {instantIssues.map((issue) => (
+
+
+
{issue.title}
+
⭐ {issue.rating} ({issue.reviews})
+
{issue.price} • {issue.time}
+
+
+ {
+ if (cart[issue.id])
+ removeFromCart(issue.id);
+ else
+ addToCart(issue.id);
+ }}
+ >
+ {cart[issue.id] ?
+ :
+
+ }
+
+
+ {cart[issue.id] &&
+
+
+
+ }
+
+
+ ))}
+
+
+ Go to Cart
+
-
- Add
-
-
+ >
);
};
diff --git a/app/services/layout.tsx b/app/services/layout.tsx
new file mode 100644
index 0000000..f7bb131
--- /dev/null
+++ b/app/services/layout.tsx
@@ -0,0 +1,14 @@
+import Navbar from "@/components/Navbar"
+
+export default function ServiceLayout({
+ children,
+ }: {
+ children: React.ReactNode
+ }) {
+ return (
+
+ )
+}
\ No newline at end of file
diff --git a/app/services/others/page.tsx b/app/services/others/page.tsx
index c604efe..0c152f7 100644
--- a/app/services/others/page.tsx
+++ b/app/services/others/page.tsx
@@ -1,30 +1,104 @@
-import React from 'react';
+"use client";
+
+import React, { useState } from 'react';
import Link from 'next/link';
+import RemoveShoppingCartIcon from '@mui/icons-material/RemoveShoppingCart';
+import ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout';
+import DownloadDoneIcon from '@mui/icons-material/DownloadDone';
+import Search from "@/components/Search";
+import { useServiceContext } from '../themeProvider';
+import Toastr from '@/components/Toast';
+
+const othersIssue = [
+ { id: 4, title: "Regular Cleaning", rating: 4.75, reviews: 1200, price: "₹159", time: "30 mins" },
+ { id: 5, title: "Regular Check-Up", rating: 4.82, reviews: 3100, price: "₹159", time: "30 mins" },
+ { id: 6, title: "Upgrading Components", rating: 4.90, reviews: 1800, price: "₹159", time: "60 mins" }
+];
const OthersIssuesPage = () => {
- return (
-
-
Others Issues
-
-
-
-
-
-
- );
-};
+ const [othersIssues, setOthersIssues] = useState(othersIssue);
+ const [cart, setCart] = useState(() => {
+ return othersIssue.reduce((acc, item) => {
+ acc[item.id] = false;
+ return acc;
+ }, {});
+ });
+ const { products, setProducts } = useServiceContext();
+
+ const [added, setAdded] = useState
(null);
+
+ const addToCart = (id) => {
+ setProducts([...products, othersIssue.find(item => item.id === id)]);
+ setCart(prev => ({ ...prev, [id]: true }));
+ setAdded(true)
+ };
+
+ const removeFromCart = (id) => {
+ setProducts(products.filter(item => item.id !== id));
+ setCart(prev => ({ ...prev, [id]: false }));
+ setAdded(false)
+ };
-const ServiceCard = ({ title, rating, reviews, price, time }) => {
return (
-
-
-
{title}
-
⭐ {rating} ({reviews} reviews)
-
₹{price} • {time}
+
+ {
+ added === true &&
+
+ }
+ {
+ added === false &&
+
+ }
+
+
+
Others Issues
+
+
+
+ {othersIssues.map((issue) => (
+
+
+
{issue.title}
+
⭐ {issue.rating} ({issue.reviews} reviews)
+
{issue.price} • {issue.time}
+
+
+ {
+ if (cart[issue.id])
+ removeFromCart(issue.id);
+ else
+ addToCart(issue.id);
+ }}
+ >
+ {cart[issue.id] ?
+ :
+
+ }
+
+
+ {cart[issue.id] &&
+
+
+
+ }
+
+
+ ))}
+
+
+ Go to Cart
+
-
- Add
-
);
};
diff --git a/app/services/themeProvider.tsx b/app/services/themeProvider.tsx
new file mode 100644
index 0000000..b3a0faf
--- /dev/null
+++ b/app/services/themeProvider.tsx
@@ -0,0 +1,35 @@
+"use client"
+
+import Navbar from '@/components/Navbar';
+// context/ServiceContext.tsx
+import { createContext, ReactNode, useContext, useState } from 'react';
+
+// Define a type for the context value
+interface ServiceContextType {
+ products: any[]; // Replace `any` with the specific type of your product if possible
+ setProducts: (products: any[]) => void;
+}
+
+// Create the context with a default value
+export const ServiceContext = createContext
(undefined);
+
+export default function ServiceProvider({ children }: { children: ReactNode }) {
+ const [products, setProducts] = useState([]); // Initialize with an empty array
+
+ return (
+
+
+ {children}
+
+
+ );
+}
+
+// Custom hook to use the ServiceContext
+export const useServiceContext = () => {
+ const context = useContext(ServiceContext);
+ if (!context) {
+ throw new Error('useServiceContext must be used within a ServiceProvider');
+ }
+ return context;
+};
diff --git a/app/services/windows/page.tsx b/app/services/windows/page.tsx
index 9e24235..f15aa7c 100644
--- a/app/services/windows/page.tsx
+++ b/app/services/windows/page.tsx
@@ -4,42 +4,101 @@
import React, { useState } from "react";
import Link from "next/link";
+import DownloadDoneIcon from '@mui/icons-material/DownloadDone';
+import ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout';
+import RemoveShoppingCartIcon from '@mui/icons-material/RemoveShoppingCart';
+import Search from "@/components/Search";
+import { useServiceContext } from '../themeProvider';
+import Toastr from '@/components/Toast';
-const windowsIssues = [
- { title: "Display Issue", rating: 4.8, reviews: "6K reviews", price: "₹159", time: "45 mins" },
- { title: "Keyboard Issue", rating: 4.81, reviews: "6K reviews", price: "₹159", time: "30 mins" },
- { title: "Battery Issue", rating: 4.7, reviews: "5K reviews", price: "₹199", time: "60 mins" },
+const windowsIssue = [
+ { id: 10, title: "Display Issue", rating: 4.8, reviews: "6K reviews", price: "₹159", time: "45 mins" },
+ { id: 11, title: "Keyboard Issue", rating: 4.81, reviews: "6K reviews", price: "₹159", time: "30 mins" },
+ { id: 12, title: "Battery Issue", rating: 4.7, reviews: "5K reviews", price: "₹199", time: "60 mins" },
];
const WindowsIssuesPage = () => {
- const [cart, setCart] = useState([]);
+ const [windowsIssues, setWindowsIssues] = useState(windowsIssue);
+ const [cart, setCart] = useState(() => {
+ return windowsIssue.reduce((acc, item) => {
+ acc[item.id] = false;
+ return acc;
+ }, {});
+ });
+ const { products, setProducts } = useServiceContext();
+ const [added, setAdded] = useState(null);
-// const addToCart = (issue) => {
-// setCart([...cart, issue]);
-// alert(${issue.title} has been added to your cart!);
-// };
+ const addToCart = (id) => {
+ setProducts([...products, windowsIssue.find(item => item.id === id)]);
+ setCart(prev => ({ ...prev, [id]: true }));
+ setAdded(true)
+ };
+
+ const removeFromCart = (id) => {
+ setProducts(products.filter(item => item.id !== id));
+ setCart(prev => ({ ...prev, [id]: false }));
+ setAdded(false)
+ };
return (
-
-
Windows Laptop Issues
-
- {windowsIssues.map((issue, index) => (
-
-
-
{issue.title}
-
⭐ {issue.rating} ({issue.reviews})
-
{issue.price} • {issue.time}
+ <>
+ {
+ added === true &&
+
+ }
+ {
+ added === false &&
+
+ }
+
+
+
Windows Laptop Issues
+
+
+
+ {windowsIssues.map((issue, index) => (
+
+
+
{issue.title}
+
⭐ {issue.rating} ({issue.reviews})
+
{issue.price} • {issue.time}
+
+
+ {
+ if (cart[issue.id])
+ removeFromCart(issue.id);
+ else
+ addToCart(issue.id);
+ }}
+ >
+ {cart[issue.id] ?
+ :
+
+ }
+
+
+ {cart[issue.id] &&
+
+
+
+ }
+
-
- Add
-
-
- ))}
+ ))}
+
+
+ Go to Cart
+
-
- Go to Cart
-
-
+ >
);
};
diff --git a/components/Cart/index.tsx b/components/Cart/index.tsx
new file mode 100644
index 0000000..44aace2
--- /dev/null
+++ b/components/Cart/index.tsx
@@ -0,0 +1,121 @@
+'use client'
+
+import { Dialog, DialogBackdrop, DialogPanel, DialogTitle } from '@headlessui/react'
+import { XMarkIcon } from '@heroicons/react/24/outline'
+import { useServiceContext } from '@/app/services/themeProvider'
+
+
+export default function Cart({open, setOpen}) {
+ const { products } = useServiceContext()
+ const total = products.reduce(
+ (accumulator, currentValue) => accumulator + parseInt(currentValue.price.slice(1)),
+ 0,
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
Cart
+
+ setOpen(false)}
+ className="relative -m-2 p-2 text-gray-400 hover:text-gray-500"
+ >
+
+ Close panel
+
+
+
+
+
+
+
+
+ {products.map((product) => (
+
+ {/*
+
+
*/}
+
+
+
+
+ {/*
{product.color}
*/}
+
+
+ {/*
Qty {product.quantity}
*/}
+
+
+
+ Remove
+
+
+
+
+
+ ))}
+
+
+
+
+
+
+
+
Shipping and taxes calculated at checkout.
+
+
+
+ or{' '}
+ setOpen(false)}
+ className="font-medium text-indigo-600 hover:text-indigo-500"
+ >
+ Continue Shopping
+ →
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/components/Navbar/index.tsx b/components/Navbar/index.tsx
new file mode 100644
index 0000000..31cd7d8
--- /dev/null
+++ b/components/Navbar/index.tsx
@@ -0,0 +1,257 @@
+"use client"
+import Image from 'next/image';
+import React, { useEffect, useState } from 'react'
+import Link from "next/link";
+import { signOut } from 'next-auth/react';
+import Cart from "@/components/Cart"
+
+const Navbar = () => {
+ const [dropdownVisible, setDropdownVisible] = useState
(false);
+ const [open, setOpen] = useState(false);
+
+ useEffect(() => {
+ setOpen(false);
+ }, [])
+
+ console.log(open);
+
+
+ const toggleDropdown = (): void => {
+ setDropdownVisible((prev) => !prev);
+ };
+ return (
+
+
+
+
+
+
+
+
+ Home
+
+
+
+
+ Best Sellers
+
+
+
+
+ Gift Ideas
+
+
+
+
+ Today's Deals
+
+
+
+
+ Sell
+
+
+
+
+
+
+
setOpen(!open)}
+ >
+
+ Cart
+
+
+
+
+
+ My Cart
+
+
+
+ {/*
+
+ */}
+
+
+ {/* Cart Dropdown */}
+
+ {/* Cart items */}
+ {/* ... (Cart items content) ... */}
+
+
+
toggleDropdown()}
+ data-dropdown-toggle="userDropdown1"
+ type="button"
+ className="dark:hover:bg-gray-700 dark:text-white inline-flex items-center justify-center rounded-lg p-2 text-sm font-medium leading-none text-gray-900 hover:bg-gray-100"
+ >
+
+
+
+ Account
+
+
+
+
+
+ {/* User Dropdown */}
+ {dropdownVisible && (
+
+
+
+ signOut()} // Replace with your actual sign-out function
+ className="dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white block w-full px-4 py-2 text-left text-sm text-gray-700 hover:bg-gray-100"
+ >
+ Sign Out
+
+
+
+ )}
+
+
+ Open Menu
+
+
+
+
+
+
+
+
+ )
+}
+
+export default Navbar
diff --git a/components/Search/index.tsx b/components/Search/index.tsx
new file mode 100644
index 0000000..1fe1338
--- /dev/null
+++ b/components/Search/index.tsx
@@ -0,0 +1,93 @@
+import * as React from 'react';
+import { styled, alpha } from '@mui/material/styles';
+import AppBar from '@mui/material/AppBar';
+import Box from '@mui/material/Box';
+import Toolbar from '@mui/material/Toolbar';
+import IconButton from '@mui/material/IconButton';
+import Typography from '@mui/material/Typography';
+import InputBase from '@mui/material/InputBase';
+import Badge from '@mui/material/Badge';
+import MenuItem from '@mui/material/MenuItem';
+import Menu from '@mui/material/Menu';
+import MenuIcon from '@mui/icons-material/Menu';
+import SearchIcon from '@mui/icons-material/Search';
+import AccountCircle from '@mui/icons-material/AccountCircle';
+import MailIcon from '@mui/icons-material/Mail';
+import NotificationsIcon from '@mui/icons-material/Notifications';
+import MoreIcon from '@mui/icons-material/MoreVert';
+
+const Search = styled('div')(({ theme }) => ({
+ position: 'relative',
+ borderRadius: theme.shape.borderRadius,
+ backgroundColor: alpha(theme.palette.common.white, 0.15),
+ '&:hover': {
+ backgroundColor: alpha(theme.palette.common.white, 0.25),
+ },
+ marginRight: theme.spacing(2),
+ marginLeft: 0,
+ width: '100%',
+ [theme.breakpoints.up('sm')]: {
+ marginLeft: theme.spacing(3),
+ width: 'auto',
+ },
+}));
+
+const SearchIconWrapper = styled('div')(({ theme }) => ({
+ padding: theme.spacing(0, 2),
+ height: '100%',
+ position: 'absolute',
+ pointerEvents: 'none',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+}));
+
+const StyledInputBase = styled(InputBase)(({ theme }) => ({
+ color: 'inherit',
+ '& .MuiInputBase-input': {
+ padding: theme.spacing(1, 1, 1, 0),
+ // vertical padding + font size from searchIcon
+ paddingLeft: `calc(1em + ${theme.spacing(4)})`,
+ transition: theme.transitions.create('width'),
+ width: '100%',
+ [theme.breakpoints.up('md')]: {
+ width: '20ch',
+ },
+ },
+}));
+
+export default function Index({ issue, setIssue, originalIssues }) {
+ const [text, setText] = React.useState("");
+
+ const handleTextChange = (e) => {
+ const searchText = e.target.value.toLowerCase();
+ setText(searchText);
+
+ // If search text is empty, show all original issues
+ if (searchText === "") {
+ setIssue(originalIssues); // Reset to the original list of issues
+ } else {
+ // Filter the issues based on the search text matching the initial characters
+ const filteredIssues = originalIssues.filter((item) =>
+ item.title.toLowerCase().startsWith(searchText) // Filter issues whose title starts with searchText
+ );
+ setIssue(filteredIssues);
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/components/Toast/index.tsx b/components/Toast/index.tsx
new file mode 100644
index 0000000..9831d41
--- /dev/null
+++ b/components/Toast/index.tsx
@@ -0,0 +1,19 @@
+import React from 'react'
+import { Toast } from "flowbite-react";
+import { HiFire } from "react-icons/hi";
+
+const index = ({text}) => {
+ return (
+
+ )
+}
+
+export default index
diff --git a/package.json b/package.json
index e058fa4..ab68251 100644
--- a/package.json
+++ b/package.json
@@ -13,10 +13,17 @@
},
"dependencies": {
"@coreui/react": "^5.4.0",
+ "@emotion/react": "^11.13.3",
+ "@emotion/styled": "^11.13.0",
+ "@headlessui/react": "^2.1.10",
+ "@heroicons/react": "^2.1.5",
+ "@mui/icons-material": "^6.1.3",
+ "@mui/material": "^6.1.3",
"axios": "^1.7.7",
"bcrypt": "^5.1.1",
- "bootstrap": "^5.3.3",
- "i": "^0.3.7",
+
+ "flowbite-react": "^0.10.2",
+
"jsonwebtoken": "^9.0.2",
"mdb-react-ui-kit": "^9.0.0",
"mongodb": "^6.9.0",
@@ -26,7 +33,9 @@
"next-themes": "^0.2.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-icons": "^4.12.0",
+
+ "react-icons": "^5.3.0",
+
"react-modal-video": "^2.0.0",
"react-router-dom": "^6.26.2"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8755ac1..bee0957 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,12 +11,33 @@ importers:
'@coreui/react':
specifier: ^5.4.0
version: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@emotion/react':
+ specifier: ^11.13.3
+ version: 11.13.3(@types/react@18.3.11)(react@18.3.1)
+ '@emotion/styled':
+ specifier: ^11.13.0
+ version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+ '@headlessui/react':
+ specifier: ^2.1.10
+ version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@heroicons/react':
+ specifier: ^2.1.5
+ version: 2.1.5(react@18.3.1)
+ '@mui/icons-material':
+ specifier: ^6.1.3
+ version: 6.1.3(@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+ '@mui/material':
+ specifier: ^6.1.3
+ version: 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
axios:
specifier: ^1.7.7
version: 1.7.7
bcrypt:
specifier: ^5.1.1
version: 5.1.1
+ flowbite-react:
+ specifier: ^0.10.2
+ version: 0.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.13)
jsonwebtoken:
specifier: ^9.0.2
version: 9.0.2
@@ -44,6 +65,9 @@ importers:
react-dom:
specifier: ^18.2.0
version: 18.3.1(react@18.3.1)
+ react-icons:
+ specifier: ^5.3.0
+ version: 5.3.0(react@18.3.1)
react-modal-video:
specifier: ^2.0.0
version: 2.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -104,6 +128,18 @@ packages:
resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
engines: {node: '>=6.9.0'}
+ '@babel/generator@7.25.7':
+ resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.25.7':
+ resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.25.7':
+ resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.25.7':
resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
engines: {node: '>=6.9.0'}
@@ -112,10 +148,27 @@ packages:
resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==}
engines: {node: '>=6.9.0'}
+ '@babel/parser@7.25.8':
+ resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/runtime@7.25.7':
resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==}
engines: {node: '>=6.9.0'}
+ '@babel/template@7.25.7':
+ resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.25.7':
+ resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.25.8':
+ resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==}
+ engines: {node: '>=6.9.0'}
+
'@commitlint/cli@19.5.0':
resolution: {integrity: sha512-gaGqSliGwB86MDmAAKAtV9SV1SHdmN8pnGq4EJU4+hLisQ7IFfx4jvU4s+pk6tl0+9bv6yT+CaZkufOinkSJIQ==}
engines: {node: '>=v18'}
@@ -196,12 +249,66 @@ packages:
react: '>=17'
react-dom: '>=17'
+ '@emotion/babel-plugin@11.12.0':
+ resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==}
+
+ '@emotion/cache@11.13.1':
+ resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==}
+
+ '@emotion/hash@0.9.2':
+ resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
+
'@emotion/is-prop-valid@0.8.8':
resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+ '@emotion/is-prop-valid@1.3.1':
+ resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==}
+
'@emotion/memoize@0.7.4':
resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ '@emotion/memoize@0.9.0':
+ resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
+
+ '@emotion/react@11.13.3':
+ resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@emotion/serialize@1.3.2':
+ resolution: {integrity: sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==}
+
+ '@emotion/sheet@1.4.0':
+ resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
+
+ '@emotion/styled@11.13.0':
+ resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==}
+ peerDependencies:
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@emotion/unitless@0.10.0':
+ resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
+
+ '@emotion/use-insertion-effect-with-fallbacks@1.1.0':
+ resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==}
+ peerDependencies:
+ react: '>=16.8.0'
+
+ '@emotion/utils@1.4.1':
+ resolution: {integrity: sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==}
+
+ '@emotion/weak-memoize@0.4.0':
+ resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
+
'@eslint-community/eslint-utils@4.4.0':
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -220,6 +327,48 @@ packages:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@floating-ui/core@1.6.6':
+ resolution: {integrity: sha512-Vkvsw6EcpMHjvZZdMkSY+djMGFbt7CRssW99Ne8tar2WLnZ/l3dbxeTShbLQj+/s35h+Qb4cmnob+EzwtjrXGQ==}
+
+ '@floating-ui/core@1.6.8':
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+
+ '@floating-ui/dom@1.6.11':
+ resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/react@0.26.21':
+ resolution: {integrity: sha512-7P5ncDIiYd6RrwpCDbKyFzvabM014QlzlumtDbK3Bck0UueC+Rp8BLS34qcGBcN1pZCTodl4QNnCVmKv4tSxfQ==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/react@0.26.24':
+ resolution: {integrity: sha512-2ly0pCkZIGEQUq5H8bBK0XJmc1xIK/RM3tvVzY3GBER7IOD1UgmC2Y2tjj4AuS+TC+vTE1KJv2053290jua0Sw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.8':
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+
+ '@headlessui/react@2.1.10':
+ resolution: {integrity: sha512-6mLa2fjMDAFQi+/R10B+zU3edsUk/MDtENB2zHho0lqKU1uzhAfJLUduWds4nCo8wbl3vULtC5rJfZAQ1yqIng==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: ^18
+ react-dom: ^18
+
+ '@heroicons/react@2.1.5':
+ resolution: {integrity: sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA==}
+ peerDependencies:
+ react: '>= 16'
+
'@humanwhocodes/config-array@0.11.14':
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
@@ -262,8 +411,101 @@ packages:
'@mongodb-js/saslprep@1.1.9':
resolution: {integrity: sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==}
- '@next/env@14.2.15':
- resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==}
+
+ '@mui/core-downloads-tracker@6.1.3':
+ resolution: {integrity: sha512-ajMUgdfhTb++rwqj134Cq9f4SRN8oXUqMRnY72YBnXiXai3olJLLqETheRlq3MM8wCKrbq7g6j7iWL1VvP44VQ==}
+
+ '@mui/icons-material@6.1.3':
+ resolution: {integrity: sha512-QBQCCIMSAv6IkArTg4Hg8q2sJRhHOci8oPAlkHWFlt2ghBdy3EqyLbIELLE/bhpqhX+E/ZkPYGIUQCd5/L0owA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@mui/material': ^6.1.3
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@mui/material@6.1.3':
+ resolution: {integrity: sha512-loV5MBoMKLrK80JeWINmQ1A4eWoLv51O2dBPLJ260IAhupkB3Wol8lEQTEvvR2vO3o6xRHuXe1WaQEP6N3riqg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@mui/material-pigment-css': ^6.1.3
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@mui/material-pigment-css':
+ optional: true
+ '@types/react':
+ optional: true
+
+ '@mui/private-theming@6.1.3':
+ resolution: {integrity: sha512-XK5OYCM0x7gxWb/WBEySstBmn+dE3YKX7U7jeBRLm6vHU5fGUd7GiJWRirpivHjOK9mRH6E1MPIVd+ze5vguKQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@mui/styled-engine@6.1.3':
+ resolution: {integrity: sha512-i4yh9m+eMZE3cNERpDhVr6Wn73Yz6C7MH0eE2zZvw8d7EFkIJlCQNZd1xxGZqarD2DDq2qWHcjIOucWGhxACtA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.4.1
+ '@emotion/styled': ^11.3.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+
+ '@mui/system@6.1.3':
+ resolution: {integrity: sha512-ILaD9UsLTBLjMcep3OumJMXh1PYr7aqnkHm/L47bH46+YmSL1zWAX6tWG8swEQROzW2GvYluEMp5FreoxOOC6w==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+
+ '@mui/types@7.2.18':
+ resolution: {integrity: sha512-uvK9dWeyCJl/3ocVnTOS6nlji/Knj8/tVqVX03UVTpdmTJYu/s4jtDd9Kvv0nRGE0CUSNW1UYAci7PYypjealg==}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@mui/utils@6.1.3':
+ resolution: {integrity: sha512-4JBpLkjprlKjN10DGb1aiy/ii9TKbQ601uSHtAmYFAS879QZgAD7vRnv/YBE4iBbc7NXzFgbQMCOFrupXWekIA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@next/env@13.5.7':
+ resolution: {integrity: sha512-uVuRqoj28Ys/AI/5gVEgRAISd0KWI0HRjOO1CTpNgmX3ZsHb5mdn14Y59yk0IxizXdo7ZjsI2S7qbWnO+GNBcA==}
+
'@next/eslint-plugin-next@14.2.15':
resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==}
@@ -351,10 +593,59 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ '@react-aria/focus@3.18.3':
+ resolution: {integrity: sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/interactions@3.22.3':
+ resolution: {integrity: sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/ssr@3.9.6':
+ resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==}
+ engines: {node: '>= 12'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-aria/utils@3.25.3':
+ resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-stately/utils@3.10.4':
+ resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
+ '@react-types/shared@3.25.0':
+ resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0
+
'@remix-run/router@1.19.2':
resolution: {integrity: sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==}
engines: {node: '>=14.0.0'}
+ '@rollup/plugin-node-resolve@15.3.0':
+ resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@5.1.2':
+ resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
'@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
@@ -367,17 +658,30 @@ packages:
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
+ '@tanstack/react-virtual@3.10.8':
+ resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@tanstack/virtual-core@3.10.8':
+ resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==}
+
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
'@types/node@20.16.11':
resolution: {integrity: sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==}
- '@types/node@22.7.5':
- resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==}
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
'@types/prop-types@15.7.13':
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
@@ -385,9 +689,15 @@ packages:
'@types/react-dom@18.3.0':
resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+ '@types/react-transition-group@4.4.11':
+ resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==}
+
'@types/react@18.3.11':
resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==}
+ '@types/resolve@1.20.2':
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
'@types/webidl-conversions@7.0.3':
resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==}
@@ -617,6 +927,10 @@ packages:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
+ babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -689,6 +1003,9 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
+ classnames@2.5.1:
+ resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
+
cli-cursor@5.0.0:
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
engines: {node: '>=18'}
@@ -708,6 +1025,10 @@ packages:
resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==}
engines: {node: '>=6'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -762,6 +1083,9 @@ packages:
engines: {node: '>=16'}
hasBin: true
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
@@ -777,6 +1101,10 @@ packages:
cosmiconfig: '>=8.2'
typescript: '>=4'
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
cosmiconfig@9.0.0:
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
@@ -817,6 +1145,10 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
+ debounce@2.1.0:
+ resolution: {integrity: sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==}
+ engines: {node: '>=18'}
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -841,6 +1173,10 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -1068,6 +1404,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -1106,6 +1445,9 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
+ find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -1121,6 +1463,19 @@ packages:
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flowbite-datepicker@1.3.0:
+ resolution: {integrity: sha512-CLVqzuoE2vkUvWYK/lJ6GzT0be5dlTbH3uuhVwyB67+PjqJWABm2wv68xhBf5BqjpBxvTSQ3mrmLHpPJ2tvrSQ==}
+
+ flowbite-react@0.10.2:
+ resolution: {integrity: sha512-qkayK6IFmfH7zuuDnHmS0hJxLtL0KpW4vo4i/VQfZ6ZfaNlUsNLQxCGcmXwbZZtUm2WVw8x71aaDOAxftG9tmg==}
+ peerDependencies:
+ react: '>=18'
+ react-dom: '>=18'
+ tailwindcss: ^3
+
+ flowbite@2.5.1:
+ resolution: {integrity: sha512-7jP1jy9c3QP7y+KU9lc8ueMkTyUdMDvRP+lteSWgY5TigSZjf9K1kqZxmqjhbx2gBnFQxMl1GAjVThCa8cEpKA==}
+
follow-redirects@1.15.9:
resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
engines: {node: '>=4.0'}
@@ -1235,6 +1590,10 @@ packages:
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
engines: {node: '>=18'}
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
globals@13.24.0:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
@@ -1289,6 +1648,9 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
+ hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+
https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
@@ -1408,6 +1770,9 @@ packages:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
+ is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
is-negative-zero@2.0.3:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
@@ -1502,6 +1867,11 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
@@ -1691,6 +2061,10 @@ packages:
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
engines: {node: '>=18'}
+ mini-svg-data-uri@1.4.4:
+ resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
+ hasBin: true
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -2145,9 +2519,22 @@ packages:
react-fast-compare@3.2.2:
resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+ react-icons@5.2.1:
+ resolution: {integrity: sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==}
+ peerDependencies:
+ react: '*'
+
+ react-icons@5.3.0:
+ resolution: {integrity: sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==}
+ peerDependencies:
+ react: '*'
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-is@18.3.1:
+ resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+
react-modal-video@2.0.2:
resolution: {integrity: sha512-Cfo3rEsxU5BL+Et/nRK7l2ajW/TLZOKTMPgpD8FDlhIxRR3yqo3Xdo1ufNxONApN0XL6iXqmMkqyEKmGOmcEiw==}
peerDependencies:
@@ -2324,6 +2711,10 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
sparse-bitfield@3.0.3:
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
@@ -2412,6 +2803,9 @@ packages:
babel-plugin-macros:
optional: true
+ stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+
sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2429,6 +2823,12 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
+ tailwind-merge@2.4.0:
+ resolution: {integrity: sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==}
+
tailwindcss@3.4.13:
resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==}
engines: {node: '>=14.0.0'}
@@ -2462,6 +2862,10 @@ packages:
tinyexec@0.3.0:
resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==}
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -2618,6 +3022,10 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
yaml@2.5.1:
resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==}
engines: {node: '>= 14'}
@@ -2648,6 +3056,22 @@ snapshots:
'@babel/highlight': 7.25.7
picocolors: 1.1.0
+ '@babel/generator@7.25.7':
+ dependencies:
+ '@babel/types': 7.25.8
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 3.0.2
+
+ '@babel/helper-module-imports@7.25.7':
+ dependencies:
+ '@babel/traverse': 7.25.7
+ '@babel/types': 7.25.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.25.7': {}
+
'@babel/helper-validator-identifier@7.25.7': {}
'@babel/highlight@7.25.7':
@@ -2657,11 +3081,41 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.0
+ '@babel/parser@7.25.8':
+ dependencies:
+ '@babel/types': 7.25.8
+
'@babel/runtime@7.25.7':
dependencies:
regenerator-runtime: 0.14.1
- '@commitlint/cli@19.5.0(@types/node@22.7.5)(typescript@5.6.3)':
+
+ '@babel/template@7.25.7':
+ dependencies:
+ '@babel/code-frame': 7.25.7
+ '@babel/parser': 7.25.8
+ '@babel/types': 7.25.8
+
+ '@babel/traverse@7.25.7':
+ dependencies:
+ '@babel/code-frame': 7.25.7
+ '@babel/generator': 7.25.7
+ '@babel/parser': 7.25.8
+ '@babel/template': 7.25.7
+ '@babel/types': 7.25.8
+ debug: 4.3.7
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.25.8':
+ dependencies:
+ '@babel/helper-string-parser': 7.25.7
+ '@babel/helper-validator-identifier': 7.25.7
+ to-fast-properties: 2.0.0
+
+ '@commitlint/cli@19.5.0(@types/node@20.16.11)(typescript@5.5.4)':
+
dependencies:
'@commitlint/format': 19.5.0
'@commitlint/lint': 19.5.0
@@ -2783,14 +3237,97 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@emotion/babel-plugin@11.12.0':
+ dependencies:
+ '@babel/helper-module-imports': 7.25.7
+ '@babel/runtime': 7.25.7
+ '@emotion/hash': 0.9.2
+ '@emotion/memoize': 0.9.0
+ '@emotion/serialize': 1.3.2
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/cache@11.13.1':
+ dependencies:
+ '@emotion/memoize': 0.9.0
+ '@emotion/sheet': 1.4.0
+ '@emotion/utils': 1.4.1
+ '@emotion/weak-memoize': 0.4.0
+ stylis: 4.2.0
+
+ '@emotion/hash@0.9.2': {}
+
'@emotion/is-prop-valid@0.8.8':
dependencies:
'@emotion/memoize': 0.7.4
optional: true
+ '@emotion/is-prop-valid@1.3.1':
+ dependencies:
+ '@emotion/memoize': 0.9.0
+
'@emotion/memoize@0.7.4':
optional: true
+ '@emotion/memoize@0.9.0': {}
+
+ '@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@emotion/babel-plugin': 11.12.0
+ '@emotion/cache': 11.13.1
+ '@emotion/serialize': 1.3.2
+ '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1)
+ '@emotion/utils': 1.4.1
+ '@emotion/weak-memoize': 0.4.0
+ hoist-non-react-statics: 3.3.2
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.11
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/serialize@1.3.2':
+ dependencies:
+ '@emotion/hash': 0.9.2
+ '@emotion/memoize': 0.9.0
+ '@emotion/unitless': 0.10.0
+ '@emotion/utils': 1.4.1
+ csstype: 3.1.3
+
+ '@emotion/sheet@1.4.0': {}
+
+ '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@emotion/babel-plugin': 11.12.0
+ '@emotion/is-prop-valid': 1.3.1
+ '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1)
+ '@emotion/serialize': 1.3.2
+ '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1)
+ '@emotion/utils': 1.4.1
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.11
+ transitivePeerDependencies:
+ - supports-color
+
+ '@emotion/unitless@0.10.0': {}
+
+ '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
+ '@emotion/utils@1.4.1': {}
+
+ '@emotion/weak-memoize@0.4.0': {}
+
'@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
dependencies:
eslint: 8.57.0
@@ -2814,6 +3351,56 @@ snapshots:
'@eslint/js@8.57.0': {}
+ '@floating-ui/core@1.6.6':
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/core@1.6.8':
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/dom@1.6.11':
+ dependencies:
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.11
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/react@0.26.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/utils': 0.2.8
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tabbable: 6.2.0
+
+ '@floating-ui/react@0.26.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/utils': 0.2.8
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tabbable: 6.2.0
+
+ '@floating-ui/utils@0.2.8': {}
+
+ '@headlessui/react@2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react': 0.26.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@react-aria/focus': 3.18.3(react@18.3.1)
+ '@react-aria/interactions': 3.22.3(react@18.3.1)
+ '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@heroicons/react@2.1.5(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
'@humanwhocodes/config-array@0.11.14':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
@@ -2871,7 +3458,94 @@ snapshots:
dependencies:
sparse-bitfield: 3.0.3
- '@next/env@14.2.15': {}
+
+ '@mui/core-downloads-tracker@6.1.3': {}
+
+ '@mui/icons-material@6.1.3(@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@mui/material': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.11
+
+ '@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@mui/core-downloads-tracker': 6.1.3
+ '@mui/system': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+ '@mui/types': 7.2.18(@types/react@18.3.11)
+ '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1)
+ '@popperjs/core': 2.11.8
+ '@types/react-transition-group': 4.4.11
+ clsx: 2.1.1
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-is: 18.3.1
+ react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ optionalDependencies:
+ '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1)
+ '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+ '@types/react': 18.3.11
+
+ '@mui/private-theming@6.1.3(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1)
+ prop-types: 15.8.1
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.11
+
+ '@mui/styled-engine@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@emotion/cache': 11.13.1
+ '@emotion/serialize': 1.3.2
+ '@emotion/sheet': 1.4.0
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.1
+ optionalDependencies:
+ '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1)
+ '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+
+ '@mui/system@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@mui/private-theming': 6.1.3(@types/react@18.3.11)(react@18.3.1)
+ '@mui/styled-engine': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(react@18.3.1)
+ '@mui/types': 7.2.18(@types/react@18.3.11)
+ '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1)
+ clsx: 2.1.1
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.3.1
+ optionalDependencies:
+ '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1)
+ '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)
+ '@types/react': 18.3.11
+
+ '@mui/types@7.2.18(@types/react@18.3.11)':
+ optionalDependencies:
+ '@types/react': 18.3.11
+
+ '@mui/utils@6.1.3(@types/react@18.3.11)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.25.7
+ '@mui/types': 7.2.18(@types/react@18.3.11)
+ '@types/prop-types': 15.7.13
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-is: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.11
+
+ '@next/env@13.5.7': {}
+
'@next/eslint-plugin-next@14.2.15':
dependencies:
@@ -2927,8 +3601,62 @@ snapshots:
'@popperjs/core@2.11.8': {}
+ '@react-aria/focus@3.18.3(react@18.3.1)':
+ dependencies:
+ '@react-aria/interactions': 3.22.3(react@18.3.1)
+ '@react-aria/utils': 3.25.3(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.2
+ clsx: 2.1.1
+ react: 18.3.1
+
+ '@react-aria/interactions@3.22.3(react@18.3.1)':
+ dependencies:
+ '@react-aria/ssr': 3.9.6(react@18.3.1)
+ '@react-aria/utils': 3.25.3(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.2
+ react: 18.3.1
+
+ '@react-aria/ssr@3.9.6(react@18.3.1)':
+ dependencies:
+ '@swc/helpers': 0.5.2
+ react: 18.3.1
+
+ '@react-aria/utils@3.25.3(react@18.3.1)':
+ dependencies:
+ '@react-aria/ssr': 3.9.6(react@18.3.1)
+ '@react-stately/utils': 3.10.4(react@18.3.1)
+ '@react-types/shared': 3.25.0(react@18.3.1)
+ '@swc/helpers': 0.5.2
+ clsx: 2.1.1
+ react: 18.3.1
+
+ '@react-stately/utils@3.10.4(react@18.3.1)':
+ dependencies:
+ '@swc/helpers': 0.5.2
+ react: 18.3.1
+
+ '@react-types/shared@3.25.0(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
'@remix-run/router@1.19.2': {}
+ '@rollup/plugin-node-resolve@15.3.0':
+ dependencies:
+ '@rollup/pluginutils': 5.1.2
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.8
+
+ '@rollup/pluginutils@5.1.2':
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+
'@rtsao/scc@1.1.0': {}
'@rushstack/eslint-patch@1.10.4': {}
@@ -2940,19 +3668,28 @@ snapshots:
'@swc/counter': 0.1.3
tslib: 2.7.0
+ '@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@tanstack/virtual-core': 3.10.8
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@tanstack/virtual-core@3.10.8': {}
+
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 20.16.11
+ '@types/estree@1.0.6': {}
+
'@types/json5@0.0.29': {}
'@types/node@20.16.11':
dependencies:
undici-types: 6.19.8
- '@types/node@22.7.5':
- dependencies:
- undici-types: 6.19.8
+ '@types/parse-json@4.0.2': {}
+
'@types/prop-types@15.7.13': {}
@@ -2960,11 +3697,17 @@ snapshots:
dependencies:
'@types/react': 18.3.11
+ '@types/react-transition-group@4.4.11':
+ dependencies:
+ '@types/react': 18.3.11
+
'@types/react@18.3.11':
dependencies:
'@types/prop-types': 15.7.13
csstype: 3.1.3
+ '@types/resolve@1.20.2': {}
+
'@types/webidl-conversions@7.0.3': {}
'@types/whatwg-url@11.0.5':
@@ -3251,6 +3994,12 @@ snapshots:
axobject-query@4.1.0: {}
+ babel-plugin-macros@3.1.0:
+ dependencies:
+ '@babel/runtime': 7.25.7
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+
balanced-match@1.0.2: {}
bcrypt@5.1.1:
@@ -3332,6 +4081,8 @@ snapshots:
chownr@2.0.0: {}
+ classnames@2.5.1: {}
+
cli-cursor@5.0.0:
dependencies:
restore-cursor: 5.1.0
@@ -3351,6 +4102,8 @@ snapshots:
clsx@1.1.1: {}
+ clsx@2.1.1: {}
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -3399,6 +4152,8 @@ snapshots:
meow: 12.1.1
split2: 4.2.0
+ convert-source-map@1.9.0: {}
+
cookie@0.5.0: {}
core-js@3.38.1: {}
@@ -3410,7 +4165,17 @@ snapshots:
jiti: 1.21.6
typescript: 5.6.3
- cosmiconfig@9.0.0(typescript@5.6.3):
+
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ cosmiconfig@9.0.0(typescript@5.5.4):
+
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
@@ -3451,6 +4216,8 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
+ debounce@2.1.0: {}
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -3482,6 +4249,8 @@ snapshots:
deep-is@0.1.4: {}
+ deepmerge@4.3.1: {}
+
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.0
@@ -3670,8 +4439,10 @@ snapshots:
'@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.6.3)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(eslint@8.57.0))(eslint@8.57.0)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0)
eslint-plugin-react: 7.37.1(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
@@ -3702,7 +4473,9 @@ snapshots:
is-bun-module: 1.2.1
is-glob: 4.0.3
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
+
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
@@ -3720,7 +4493,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0):
+
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0):
+
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -3861,6 +4636,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+
esutils@2.0.3: {}
eventemitter3@5.0.1: {}
@@ -3905,6 +4682,8 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
+ find-root@1.1.0: {}
+
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -3924,6 +4703,36 @@ snapshots:
flatted@3.3.1: {}
+ flowbite-datepicker@1.3.0:
+ dependencies:
+ '@rollup/plugin-node-resolve': 15.3.0
+ flowbite: 2.5.1
+ transitivePeerDependencies:
+ - rollup
+
+ flowbite-react@0.10.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.13):
+ dependencies:
+ '@floating-ui/core': 1.6.6
+ '@floating-ui/react': 0.26.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ classnames: 2.5.1
+ debounce: 2.1.0
+ flowbite: 2.5.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-icons: 5.2.1(react@18.3.1)
+ tailwind-merge: 2.4.0
+ tailwindcss: 3.4.13
+ transitivePeerDependencies:
+ - rollup
+
+ flowbite@2.5.1:
+ dependencies:
+ '@popperjs/core': 2.11.8
+ flowbite-datepicker: 1.3.0
+ mini-svg-data-uri: 1.4.4
+ transitivePeerDependencies:
+ - rollup
+
follow-redirects@1.15.9: {}
for-each@0.3.3:
@@ -4051,6 +4860,8 @@ snapshots:
dependencies:
ini: 4.1.1
+ globals@11.12.0: {}
+
globals@13.24.0:
dependencies:
type-fest: 0.20.2
@@ -4101,6 +4912,10 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ hoist-non-react-statics@3.3.2:
+ dependencies:
+ react-is: 16.13.1
+
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
@@ -4209,6 +5024,8 @@ snapshots:
is-map@2.0.3: {}
+ is-module@1.0.0: {}
+
is-negative-zero@2.0.3: {}
is-number-object@1.0.7:
@@ -4295,6 +5112,8 @@ snapshots:
dependencies:
argparse: 2.0.1
+ jsesc@3.0.2: {}
+
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
@@ -4483,6 +5302,8 @@ snapshots:
mimic-function@5.0.1: {}
+ mini-svg-data-uri@1.4.4: {}
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -4850,8 +5671,18 @@ snapshots:
react-fast-compare@3.2.2: {}
+ react-icons@5.2.1(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
+ react-icons@5.3.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
react-is@16.13.1: {}
+ react-is@18.3.1: {}
+
react-modal-video@2.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
core-js: 3.38.1
@@ -5038,6 +5869,8 @@ snapshots:
source-map-js@1.2.1: {}
+ source-map@0.5.7: {}
+
sparse-bitfield@3.0.3:
dependencies:
memory-pager: 1.5.0
@@ -5137,6 +5970,8 @@ snapshots:
client-only: 0.0.1
react: 18.3.1
+ stylis@4.2.0: {}
+
sucrase@3.35.0:
dependencies:
'@jridgewell/gen-mapping': 0.3.5
@@ -5157,6 +5992,10 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ tabbable@6.2.0: {}
+
+ tailwind-merge@2.4.0: {}
+
tailwindcss@3.4.13:
dependencies:
'@alloc/quick-lru': 5.2.0
@@ -5211,6 +6050,8 @@ snapshots:
tinyexec@0.3.0: {}
+ to-fast-properties@2.0.0: {}
+
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@@ -5398,6 +6239,8 @@ snapshots:
yallist@4.0.0: {}
+ yaml@1.10.2: {}
+
yaml@2.5.1: {}
yargs-parser@21.1.1: {}