fixing features conflicts
This commit is contained in:
5
latosa-frontend/app/contact/page.tsx
Normal file
5
latosa-frontend/app/contact/page.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
import Contact from "@/components/contact";
|
||||
|
||||
export default function ContactPage() {
|
||||
return <Contact />;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ import type { Metadata } from "next";
|
||||
import { Geist, Geist_Mono } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import Navbar from "@/components/nav-bar";
|
||||
import Footer from "@/components/footer";
|
||||
|
||||
const geistSans = Geist({
|
||||
variable: "--font-geist-sans",
|
||||
@@ -30,6 +31,7 @@ export default function RootLayout({
|
||||
>
|
||||
<Navbar />
|
||||
{children}
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
|
||||
24
latosa-frontend/app/login/page.tsx
Normal file
24
latosa-frontend/app/login/page.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
import { GalleryVerticalEnd } from "lucide-react";
|
||||
|
||||
import { LoginForm } from "@/components/login-form";
|
||||
|
||||
export default function LoginPage() {
|
||||
return (
|
||||
<div className="grid min-h-svh lg:grid-cols-2">
|
||||
<div className="flex flex-col gap-4 p-6 md:p-10">
|
||||
<div className="flex flex-1 items-center justify-center">
|
||||
<div className="w-full max-w-xs">
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative hidden bg-muted lg:block">
|
||||
<img
|
||||
src="/placeholder.svg"
|
||||
alt="Image"
|
||||
className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
"use server";
|
||||
|
||||
import Features, { FeatureItem } from "@/components/features";
|
||||
import Gallery6 from "@/components/gallery";
|
||||
import Hero from "@/components/hero";
|
||||
|
||||
export default function Home() {
|
||||
export default async function Home() {
|
||||
return (
|
||||
<main>
|
||||
<Hero />
|
||||
|
||||
91
latosa-frontend/components/contact.tsx
Normal file
91
latosa-frontend/components/contact.tsx
Normal file
@@ -0,0 +1,91 @@
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { Textarea } from "@/components/ui/textarea";
|
||||
|
||||
const Contact = () => {
|
||||
return (
|
||||
<section className="py-32">
|
||||
<div className="p-4">
|
||||
<div className="mx-auto flex max-w-screen-xl flex-col justify-between gap-10 lg:flex-row lg:gap-20">
|
||||
<div className="self-center max-w-lg flex flex-col justify-between gap-10">
|
||||
<div className="text-center lg:text-left">
|
||||
<h1 className="mb-2 text-5xl font-semibold lg:mb-1 lg:text-6xl">
|
||||
Contactez-nous !
|
||||
</h1>
|
||||
<p className="text-muted-foreground">
|
||||
Nous nous rendons disponible pour répondre à
|
||||
toutes vos questions.
|
||||
</p>
|
||||
</div>
|
||||
<div className="mx-auto w-fit lg:mx-0">
|
||||
<h3 className="mb-6 text-center text-2xl font-semibold lg:text-left">
|
||||
Informations de contact
|
||||
</h3>
|
||||
<ul className="ml-4 list-disc">
|
||||
<li>
|
||||
<span className="font-bold">
|
||||
Téléphone:{" "}
|
||||
</span>
|
||||
(123) 34567890
|
||||
</li>
|
||||
<li>
|
||||
<span className="font-bold">Email: </span>
|
||||
<a href="" className="underline">
|
||||
nicolas.goruk@orange.fr
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div className="mx-auto flex max-w-screen-md flex-col gap-6 rounded-lg border p-10">
|
||||
<div className="flex gap-4">
|
||||
<div className="grid w-full items-center gap-1.5">
|
||||
<Label htmlFor="firstname">Prénom</Label>
|
||||
<Input
|
||||
type="text"
|
||||
id="firstname"
|
||||
placeholder="Prénom"
|
||||
/>
|
||||
</div>
|
||||
<div className="grid w-full items-center gap-1.5">
|
||||
<Label htmlFor="lastname">Nom de famille</Label>
|
||||
<Input
|
||||
type="text"
|
||||
id="lastname"
|
||||
placeholder="Nom de famille"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid w-full items-center gap-1.5">
|
||||
<Label htmlFor="email">Email</Label>
|
||||
<Input
|
||||
type="email"
|
||||
id="email"
|
||||
placeholder="Email"
|
||||
/>
|
||||
</div>
|
||||
<div className="grid w-full items-center gap-1.5">
|
||||
<Label htmlFor="subject">Objet</Label>
|
||||
<Input
|
||||
type="text"
|
||||
id="subject"
|
||||
placeholder="Objet"
|
||||
/>
|
||||
</div>
|
||||
<div className="grid w-full gap-1.5">
|
||||
<Label htmlFor="message">Message</Label>
|
||||
<Textarea
|
||||
placeholder="Écrivez votre message ici."
|
||||
id="message"
|
||||
/>
|
||||
</div>
|
||||
<Button className="w-full">Envoyer</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default Contact;
|
||||
118
latosa-frontend/components/footer.tsx
Normal file
118
latosa-frontend/components/footer.tsx
Normal file
@@ -0,0 +1,118 @@
|
||||
import {
|
||||
FaFacebook,
|
||||
FaInstagram,
|
||||
FaLinkedin,
|
||||
FaTwitter,
|
||||
FaYoutube,
|
||||
} from "react-icons/fa";
|
||||
|
||||
const sections = [
|
||||
{
|
||||
title: "Product",
|
||||
links: [
|
||||
{ name: "Overview", href: "#" },
|
||||
{ name: "Pricing", href: "#" },
|
||||
{ name: "Marketplace", href: "#" },
|
||||
{ name: "Features", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
links: [
|
||||
{ name: "About", href: "#" },
|
||||
{ name: "Team", href: "#" },
|
||||
{ name: "Blog", href: "#" },
|
||||
{ name: "Careers", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Resources",
|
||||
links: [
|
||||
{ name: "Help", href: "#" },
|
||||
{ name: "Sales", href: "#" },
|
||||
{ name: "Advertise", href: "#" },
|
||||
{ name: "Privacy", href: "#" },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const Footer = () => {
|
||||
return (
|
||||
<section className="p-16">
|
||||
<div className="">
|
||||
<footer>
|
||||
<div className="flex flex-col items-center justify-between gap-10 text-center lg:flex-row lg:text-left">
|
||||
<div className="flex w-full max-w-96 shrink flex-col items-center justify-between gap-6 lg:items-start">
|
||||
<div>
|
||||
<span className="flex items-center justify-center gap-4 lg:justify-start">
|
||||
<img
|
||||
src="https://shadcnblocks.com/images/block/block-1.svg"
|
||||
alt="logo"
|
||||
className="h-11"
|
||||
/>
|
||||
<p className="text-3xl font-semibold">
|
||||
Latosa-Escrima
|
||||
</p>
|
||||
</span>
|
||||
<p className="mt-6 text-sm text-muted-foreground">
|
||||
A collection of 100+ responsive HTML
|
||||
templates for your startup business or side
|
||||
project.
|
||||
</p>
|
||||
</div>
|
||||
<ul className="flex items-center space-x-6 text-muted-foreground">
|
||||
<li className="font-medium hover:text-primary">
|
||||
<a href="https://www.facebook.com/wingtsun.picardie">
|
||||
<FaFacebook className="size-6" />
|
||||
</a>
|
||||
</li>
|
||||
<li className="font-medium hover:text-primary">
|
||||
<a href="https://www.youtube.com/@WingTsunPicardie">
|
||||
<FaYoutube className="size-6" />
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="grid grid-cols-3 gap-6 lg:gap-20">
|
||||
{sections.map((section, sectionIdx) => (
|
||||
<div key={sectionIdx}>
|
||||
<h3 className="mb-6 font-bold">
|
||||
{section.title}
|
||||
</h3>
|
||||
<ul className="space-y-4 text-sm text-muted-foreground">
|
||||
{section.links.map((link, linkIdx) => (
|
||||
<li
|
||||
key={linkIdx}
|
||||
className="font-medium hover:text-primary"
|
||||
>
|
||||
<a href={link.href}>
|
||||
{link.name}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-center text-sm font-medium text-muted-foreground lg:flex-row lg:items-center lg:text-left">
|
||||
<p>
|
||||
© {new Date(Date.now()).getFullYear()}{" "}
|
||||
Latosa-Escrima. Tous droits réservés.
|
||||
</p>
|
||||
<ul className="flex justify-center gap-4 lg:justify-start">
|
||||
<li className="hover:text-primary">
|
||||
<a href="#"> Terms and Conditions</a>
|
||||
</li>
|
||||
<li className="hover:text-primary">
|
||||
<a href="#"> Privacy Policy</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
@@ -4,13 +4,11 @@ import { cn } from "@/lib/utils";
|
||||
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { Button, buttonVariants } from "@/components/ui/button";
|
||||
import Link from "next/link";
|
||||
|
||||
const Hero = () => {
|
||||
return (
|
||||
<section
|
||||
style={{ height: "calc(100vh - 68px)" }}
|
||||
className="flex justify-center items-center relative overflow-hidden py-32"
|
||||
>
|
||||
<section className="flex h-[calc(100vh-68px)] justify-center items-center relative overflow-hidden py-32">
|
||||
<div className="">
|
||||
<div className="bg-blue-50 magicpattern absolute inset-x-0 top-0 -z-10 flex h-full w-full items-center justify-center opacity-100" />
|
||||
<div className="mx-auto flex max-w-5xl flex-col items-center">
|
||||
@@ -30,7 +28,9 @@ const Hero = () => {
|
||||
</p>
|
||||
</div>
|
||||
<div className="mt-4 flex justify-center gap-2">
|
||||
<Button>Nous contacter</Button>
|
||||
<Button>
|
||||
<Link href="/contact">Nous contacter</Link>
|
||||
</Button>
|
||||
<Button variant="outline">
|
||||
À propos
|
||||
<ExternalLink className="ml-2 h-4" />
|
||||
|
||||
68
latosa-frontend/components/login-form.tsx
Normal file
68
latosa-frontend/components/login-form.tsx
Normal file
@@ -0,0 +1,68 @@
|
||||
import { cn } from "@/lib/utils";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentPropsWithoutRef<"form">) {
|
||||
return (
|
||||
<form className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<div className="flex flex-col items-center gap-2 text-center">
|
||||
<h1 className="text-2xl font-bold">
|
||||
Connectez-vous à votre compte.
|
||||
</h1>
|
||||
<p className="text-balance text-sm text-muted-foreground">
|
||||
Entrez votre adresse e-mail pour vous connecter
|
||||
</p>
|
||||
</div>
|
||||
<div className="grid gap-6">
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="email">E-Mail</Label>
|
||||
<Input
|
||||
id="email"
|
||||
type="email"
|
||||
placeholder="m@example.com"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className="grid gap-2">
|
||||
<div className="flex items-center">
|
||||
<Label htmlFor="password">Mot de passe</Label>
|
||||
<a
|
||||
href="#"
|
||||
className="ml-auto text-sm underline-offset-4 hover:underline"
|
||||
>
|
||||
Forgot your password?
|
||||
</a>
|
||||
</div>
|
||||
<Input id="password" type="password" required />
|
||||
</div>
|
||||
<Button type="submit" className="w-full">
|
||||
Se connecter
|
||||
</Button>
|
||||
<div className="relative text-center text-sm after:absolute after:inset-0 after:top-1/2 after:z-0 after:flex after:items-center after:border-t after:border-border">
|
||||
<span className="relative z-10 bg-background px-2 text-muted-foreground">
|
||||
Ou connectez-vous avec
|
||||
</span>
|
||||
</div>
|
||||
<Button variant="outline" className="w-full">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Login with GitHub
|
||||
</Button>
|
||||
</div>
|
||||
<div className="text-center text-sm">
|
||||
Pas de compte ?{" "}
|
||||
<a href="#" className="underline underline-offset-4">
|
||||
Créer un compte
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
);
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import {
|
||||
SheetTitle,
|
||||
SheetTrigger,
|
||||
} from "@/components/ui/sheet";
|
||||
import Link from "next/link";
|
||||
|
||||
const subMenuItemsOne = [
|
||||
{
|
||||
@@ -75,7 +76,7 @@ const subMenuItemsTwo = [
|
||||
|
||||
const Navbar = () => {
|
||||
return (
|
||||
<section className="p-4">
|
||||
<section className="p-4 top-0 sticky bg-white z-[100]">
|
||||
<div className="">
|
||||
<nav className="hidden justify-between lg:flex">
|
||||
<div className="flex items-center gap-6">
|
||||
@@ -90,7 +91,7 @@ const Navbar = () => {
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<a
|
||||
<Link
|
||||
className={cn(
|
||||
"text-muted-foreground",
|
||||
navigationMenuTriggerStyle,
|
||||
@@ -98,10 +99,10 @@ const Navbar = () => {
|
||||
variant: "ghost",
|
||||
}),
|
||||
)}
|
||||
href="#"
|
||||
href="/"
|
||||
>
|
||||
Home
|
||||
</a>
|
||||
Accueil
|
||||
</Link>
|
||||
<NavigationMenu>
|
||||
<NavigationMenuList>
|
||||
<NavigationMenuItem className="text-muted-foreground">
|
||||
@@ -208,7 +209,9 @@ const Navbar = () => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex gap-2">
|
||||
<Button variant="outline">Log in</Button>
|
||||
<Button variant="outline">
|
||||
<Link href="/login">Se connecter</Link>
|
||||
</Button>
|
||||
<Button>Sign up</Button>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -221,7 +224,7 @@ const Navbar = () => {
|
||||
alt="logo"
|
||||
/>
|
||||
<span className="text-xl font-bold">
|
||||
Shadcn Blocks
|
||||
Latosa-Escrima
|
||||
</span>
|
||||
</div>
|
||||
<Sheet>
|
||||
@@ -240,15 +243,15 @@ const Navbar = () => {
|
||||
alt="logo"
|
||||
/>
|
||||
<span className="text-xl font-bold">
|
||||
Shadcn Blocks
|
||||
Latosa-Escrima
|
||||
</span>
|
||||
</div>
|
||||
</SheetTitle>
|
||||
</SheetHeader>
|
||||
<div className="mb-8 mt-8 flex flex-col gap-4">
|
||||
<a href="#" className="font-semibold">
|
||||
Home
|
||||
</a>
|
||||
<Link href="/" className="font-semibold">
|
||||
Accueil
|
||||
</Link>
|
||||
<Accordion
|
||||
type="single"
|
||||
collapsible
|
||||
@@ -399,7 +402,9 @@ const Navbar = () => {
|
||||
</div>
|
||||
<div className="mt-2 flex flex-col gap-3">
|
||||
<Button variant="outline">
|
||||
Log in
|
||||
<Link href="/login">
|
||||
Se connecter
|
||||
</Link>
|
||||
</Button>
|
||||
<Button>Sign up</Button>
|
||||
</div>
|
||||
|
||||
22
latosa-frontend/components/ui/textarea.tsx
Normal file
22
latosa-frontend/components/ui/textarea.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
import * as React from "react";
|
||||
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
const Textarea = React.forwardRef<
|
||||
HTMLTextAreaElement,
|
||||
React.ComponentProps<"textarea">
|
||||
>(({ className, ...props }, ref) => {
|
||||
return (
|
||||
<textarea
|
||||
className={cn(
|
||||
"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
||||
className,
|
||||
)}
|
||||
ref={ref}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
});
|
||||
Textarea.displayName = "Textarea";
|
||||
|
||||
export { Textarea };
|
||||
463
latosa-frontend/deno.lock
generated
463
latosa-frontend/deno.lock
generated
@@ -2,22 +2,30 @@
|
||||
"version": "4",
|
||||
"specifiers": {
|
||||
"npm:@eslint/eslintrc@3": "3.2.0",
|
||||
"npm:@radix-ui/react-accordion@^1.2.2": "1.2.2_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:@radix-ui/react-dialog@^1.1.4": "1.1.4_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:@radix-ui/react-label@^2.1.1": "2.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:@radix-ui/react-navigation-menu@^1.2.3": "1.2.3_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:@radix-ui/react-select@^2.1.4": "2.1.4_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:@radix-ui/react-slot@^1.1.1": "1.1.1_@types+react@19.0.5_react@19.0.0",
|
||||
"npm:@types/node@20": "20.17.12",
|
||||
"npm:@types/react-dom@19": "19.0.3_@types+react@19.0.5",
|
||||
"npm:@types/react@19": "19.0.5",
|
||||
"npm:class-variance-authority@~0.7.1": "0.7.1",
|
||||
"npm:clsx@^2.1.1": "2.1.1",
|
||||
"npm:embla-carousel-react@^8.5.2": "8.5.2_react@19.0.0_embla-carousel@8.5.2",
|
||||
"npm:eslint-config-next@15.1.4": "15.1.4_eslint@9.18.0_typescript@5.7.3_@typescript-eslint+parser@8.19.1__eslint@9.18.0__typescript@5.7.3_eslint-plugin-import@2.31.0__eslint@9.18.0",
|
||||
"npm:eslint@9": "9.18.0",
|
||||
"npm:lucide-react@0.471": "0.471.0_react@19.0.0",
|
||||
"npm:next@15.1.4": "15.1.4_react@19.0.0_react-dom@19.0.0__react@19.0.0",
|
||||
"npm:postcss@8": "8.4.49",
|
||||
"npm:react-dom@19": "19.0.0_react@19.0.0",
|
||||
"npm:react-icons@^5.4.0": "5.4.0_react@19.0.0",
|
||||
"npm:react@19": "19.0.0",
|
||||
"npm:tailwind-merge@^2.6.0": "2.6.0",
|
||||
"npm:tailwindcss-animate@^1.0.7": "1.0.7_tailwindcss@3.4.17__postcss@8.4.49",
|
||||
"npm:tailwindcss@^3.4.1": "3.4.17_postcss@8.4.49",
|
||||
"npm:typescript@5": "5.7.3"
|
||||
"npm:typescript@^5.7.3": "5.7.3"
|
||||
},
|
||||
"npm": {
|
||||
"@alloc/quick-lru@5.2.0": {
|
||||
@@ -80,6 +88,30 @@
|
||||
"levn"
|
||||
]
|
||||
},
|
||||
"@floating-ui/core@1.6.9": {
|
||||
"integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==",
|
||||
"dependencies": [
|
||||
"@floating-ui/utils"
|
||||
]
|
||||
},
|
||||
"@floating-ui/dom@1.6.13": {
|
||||
"integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==",
|
||||
"dependencies": [
|
||||
"@floating-ui/core",
|
||||
"@floating-ui/utils"
|
||||
]
|
||||
},
|
||||
"@floating-ui/react-dom@2.1.2_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
|
||||
"dependencies": [
|
||||
"@floating-ui/dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@floating-ui/utils@0.2.9": {
|
||||
"integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="
|
||||
},
|
||||
"@humanfs/core@0.19.1": {
|
||||
"integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="
|
||||
},
|
||||
@@ -274,6 +306,343 @@
|
||||
"@pkgjs/parseargs@0.11.0": {
|
||||
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="
|
||||
},
|
||||
"@radix-ui/number@1.1.0": {
|
||||
"integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="
|
||||
},
|
||||
"@radix-ui/primitive@1.1.1": {
|
||||
"integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="
|
||||
},
|
||||
"@radix-ui/react-accordion@1.2.2_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==",
|
||||
"dependencies": [
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-collapsible",
|
||||
"@radix-ui/react-collection",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-direction",
|
||||
"@radix-ui/react-id",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-controllable-state",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-arrow@1.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-primitive",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-collapsible@1.1.2_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==",
|
||||
"dependencies": [
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-id",
|
||||
"@radix-ui/react-presence",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-controllable-state",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-collection@1.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-slot",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-compose-refs@1.1.1_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-context@1.1.1_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-dialog@1.1.4_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==",
|
||||
"dependencies": [
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-dismissable-layer",
|
||||
"@radix-ui/react-focus-guards",
|
||||
"@radix-ui/react-focus-scope",
|
||||
"@radix-ui/react-id",
|
||||
"@radix-ui/react-portal",
|
||||
"@radix-ui/react-presence",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-slot",
|
||||
"@radix-ui/react-use-controllable-state",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"aria-hidden",
|
||||
"react",
|
||||
"react-dom",
|
||||
"react-remove-scroll"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-direction@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-dismissable-layer@1.1.3_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==",
|
||||
"dependencies": [
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@radix-ui/react-use-escape-keydown",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-focus-guards@1.1.1_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-focus-scope@1.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-id@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-label@2.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-UUw5E4e/2+4kFMH7+YxORXGWggtY6sM8WIwh5RZchhLuUg2H1hc98Py+pr8HMz6rdaYrK2t296ZEjYLOCO5uUw==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-primitive",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-navigation-menu@1.2.3_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-IQWAsQ7dsLIYDrn0WqPU+cdM7MONTv9nqrLVYoie3BPiabSfUVDe6Fr+oEt0Cofsr9ONDcDe9xhmJbL1Uq1yKg==",
|
||||
"dependencies": [
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-collection",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-direction",
|
||||
"@radix-ui/react-dismissable-layer",
|
||||
"@radix-ui/react-id",
|
||||
"@radix-ui/react-presence",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@radix-ui/react-use-controllable-state",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@radix-ui/react-use-previous",
|
||||
"@radix-ui/react-visually-hidden",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-popper@1.2.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==",
|
||||
"dependencies": [
|
||||
"@floating-ui/react-dom",
|
||||
"@radix-ui/react-arrow",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@radix-ui/react-use-rect",
|
||||
"@radix-ui/react-use-size",
|
||||
"@radix-ui/rect",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-portal@1.1.3_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-presence@1.1.2_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-primitive@2.0.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-slot",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-select@2.1.4_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==",
|
||||
"dependencies": [
|
||||
"@radix-ui/number",
|
||||
"@radix-ui/primitive",
|
||||
"@radix-ui/react-collection",
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@radix-ui/react-context",
|
||||
"@radix-ui/react-direction",
|
||||
"@radix-ui/react-dismissable-layer",
|
||||
"@radix-ui/react-focus-guards",
|
||||
"@radix-ui/react-focus-scope",
|
||||
"@radix-ui/react-id",
|
||||
"@radix-ui/react-popper",
|
||||
"@radix-ui/react-portal",
|
||||
"@radix-ui/react-primitive",
|
||||
"@radix-ui/react-slot",
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@radix-ui/react-use-controllable-state",
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@radix-ui/react-use-previous",
|
||||
"@radix-ui/react-visually-hidden",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"aria-hidden",
|
||||
"react",
|
||||
"react-dom",
|
||||
"react-remove-scroll"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-slot@1.1.1_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-compose-refs",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-callback-ref@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-controllable-state@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-escape-keydown@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-use-callback-ref",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-layout-effect@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-previous@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-rect@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==",
|
||||
"dependencies": [
|
||||
"@radix-ui/rect",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-use-size@1.1.0_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-use-layout-effect",
|
||||
"@types/react",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"@radix-ui/react-visually-hidden@1.1.1_@types+react@19.0.5_@types+react-dom@19.0.3__@types+react@19.0.5_react@19.0.0_react-dom@19.0.0__react@19.0.0": {
|
||||
"integrity": "sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==",
|
||||
"dependencies": [
|
||||
"@radix-ui/react-primitive",
|
||||
"@types/react",
|
||||
"@types/react-dom",
|
||||
"react",
|
||||
"react-dom"
|
||||
]
|
||||
},
|
||||
"@radix-ui/rect@1.1.0": {
|
||||
"integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="
|
||||
},
|
||||
"@rtsao/scc@1.1.0": {
|
||||
"integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g=="
|
||||
},
|
||||
@@ -447,6 +816,12 @@
|
||||
"argparse@2.0.1": {
|
||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
|
||||
},
|
||||
"aria-hidden@1.2.4": {
|
||||
"integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
|
||||
"dependencies": [
|
||||
"tslib"
|
||||
]
|
||||
},
|
||||
"aria-query@5.3.2": {
|
||||
"integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="
|
||||
},
|
||||
@@ -744,6 +1119,9 @@
|
||||
"detect-libc@2.0.3": {
|
||||
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="
|
||||
},
|
||||
"detect-node-es@1.1.0": {
|
||||
"integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
|
||||
},
|
||||
"didyoumean@1.2.2": {
|
||||
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
|
||||
},
|
||||
@@ -767,6 +1145,23 @@
|
||||
"eastasianwidth@0.2.0": {
|
||||
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
|
||||
},
|
||||
"embla-carousel-react@8.5.2_react@19.0.0_embla-carousel@8.5.2": {
|
||||
"integrity": "sha512-Tmx+uY3MqseIGdwp0ScyUuxpBgx5jX1f7od4Cm5mDwg/dptEiTKf9xp6tw0lZN2VA9JbnVMl/aikmbc53c6QFA==",
|
||||
"dependencies": [
|
||||
"embla-carousel",
|
||||
"embla-carousel-reactive-utils",
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"embla-carousel-reactive-utils@8.5.2_embla-carousel@8.5.2": {
|
||||
"integrity": "sha512-QC8/hYSK/pEmqEdU1IO5O+XNc/Ptmmq7uCB44vKplgLKhB/l0+yvYx0+Cv0sF6Ena8Srld5vUErZkT+yTahtDg==",
|
||||
"dependencies": [
|
||||
"embla-carousel"
|
||||
]
|
||||
},
|
||||
"embla-carousel@8.5.2": {
|
||||
"integrity": "sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg=="
|
||||
},
|
||||
"emoji-regex@8.0.0": {
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
@@ -1207,6 +1602,9 @@
|
||||
"math-intrinsics"
|
||||
]
|
||||
},
|
||||
"get-nonce@1.0.1": {
|
||||
"integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
|
||||
},
|
||||
"get-proto@1.0.1": {
|
||||
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||
"dependencies": [
|
||||
@@ -1883,9 +2281,45 @@
|
||||
"scheduler"
|
||||
]
|
||||
},
|
||||
"react-icons@5.4.0_react@19.0.0": {
|
||||
"integrity": "sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==",
|
||||
"dependencies": [
|
||||
"react"
|
||||
]
|
||||
},
|
||||
"react-is@16.13.1": {
|
||||
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
||||
},
|
||||
"react-remove-scroll-bar@2.3.8_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react",
|
||||
"react-style-singleton",
|
||||
"tslib"
|
||||
]
|
||||
},
|
||||
"react-remove-scroll@2.6.2_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react",
|
||||
"react-remove-scroll-bar",
|
||||
"react-style-singleton",
|
||||
"tslib",
|
||||
"use-callback-ref",
|
||||
"use-sidecar"
|
||||
]
|
||||
},
|
||||
"react-style-singleton@2.2.3_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"get-nonce",
|
||||
"react",
|
||||
"tslib"
|
||||
]
|
||||
},
|
||||
"react@19.0.0": {
|
||||
"integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ=="
|
||||
},
|
||||
@@ -2378,6 +2812,23 @@
|
||||
"punycode"
|
||||
]
|
||||
},
|
||||
"use-callback-ref@1.3.3_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"react",
|
||||
"tslib"
|
||||
]
|
||||
},
|
||||
"use-sidecar@1.1.3_@types+react@19.0.5_react@19.0.0": {
|
||||
"integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
|
||||
"dependencies": [
|
||||
"@types/react",
|
||||
"detect-node-es",
|
||||
"react",
|
||||
"tslib"
|
||||
]
|
||||
},
|
||||
"util-deprecate@1.0.2": {
|
||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||
},
|
||||
@@ -2465,22 +2916,30 @@
|
||||
"packageJson": {
|
||||
"dependencies": [
|
||||
"npm:@eslint/eslintrc@3",
|
||||
"npm:@radix-ui/react-accordion@^1.2.2",
|
||||
"npm:@radix-ui/react-dialog@^1.1.4",
|
||||
"npm:@radix-ui/react-label@^2.1.1",
|
||||
"npm:@radix-ui/react-navigation-menu@^1.2.3",
|
||||
"npm:@radix-ui/react-select@^2.1.4",
|
||||
"npm:@radix-ui/react-slot@^1.1.1",
|
||||
"npm:@types/node@20",
|
||||
"npm:@types/react-dom@19",
|
||||
"npm:@types/react@19",
|
||||
"npm:class-variance-authority@~0.7.1",
|
||||
"npm:clsx@^2.1.1",
|
||||
"npm:embla-carousel-react@^8.5.2",
|
||||
"npm:eslint-config-next@15.1.4",
|
||||
"npm:eslint@9",
|
||||
"npm:lucide-react@0.471",
|
||||
"npm:next@15.1.4",
|
||||
"npm:postcss@8",
|
||||
"npm:react-dom@19",
|
||||
"npm:react-icons@^5.4.0",
|
||||
"npm:react@19",
|
||||
"npm:tailwind-merge@^2.6.0",
|
||||
"npm:tailwindcss-animate@^1.0.7",
|
||||
"npm:tailwindcss@^3.4.1",
|
||||
"npm:typescript@5"
|
||||
"npm:typescript@^5.7.3"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"next": "15.1.4",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-icons": "^5.4.0",
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"tailwindcss-animate": "^1.0.7"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user