design implementation

This commit is contained in:
surajbirewar001 2024-07-02 14:59:49 +05:30
parent 13f359a4ea
commit 028351175d
9 changed files with 307 additions and 430 deletions

View File

@ -1,35 +1,80 @@
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@200;400;600;800&display=swap');
.login-page {
body, html {
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
background-color: #09090B;
color: #fff;
display: flex;
padding: 4rem;
}
.login-page {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
padding: 4rem;
background-color: #09090B;
}
.login-container {
/* background-color: #222; */
border-radius: 8px;
padding: 40px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
width: 310.4px;
display: flex;
flex-direction: column;
row-gap: 28px;
column-gap: 28px;
font-size: 14px;
font-weight: 500;
line-height: 14px;
box-sizing: border-box;
}
.login-page h2 {
.form-container {
display: flex;
flex-direction: column;
align-items: center;
}
h2 {
margin-top: 0;
color: #F97316;
text-align: center;
}
.login-page p {
p {
margin-bottom: 20px;
color: #ccc; /* Lighter gray for text */
color: #ccc;
text-align: center;
}
.login-page form {
form {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
label {
display: none;
}
/* input[type="email"],
input[type="password"] {
width: 100%;
padding: 12px;
margin-bottom: 20px;
border: 1px solid #B3B3B3;
border-radius: 4px;
font-size: 16px;
background-color: #09090B;
color: #fff;
box-sizing: border-box;
} */
.login-page input {
width: 100%;
padding: 12px;
@ -41,6 +86,44 @@
color: #fff; /* White text for input fields */
}
input[type="email"]:focus,
input[type="password"]:focus {
border-color: #F97316;
outline: none;
}
.forgot-password-container {
width: 100%;
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
color: #B3B3B3;
}
.forgot-password-container a {
color: #B3B3B3;
text-decoration: none;
}
.forgot-password-container a:hover {
text-decoration: underline;
}
.login-button {
width: 100%;
padding: 15px 30px;
font-size: 18px;
background-color: #F97316;
color: #09090B;
border: none;
border-radius: 4px;
cursor: pointer;
}
.login-button:hover {
background-color: #f26502;
}
.login-page input:focus {
border-color: #F97316; /* Orange border on focus */
outline: none;
@ -52,48 +135,3 @@
margin-bottom: 20px;
display: inline-block;
}
.login-page a:hover {
text-decoration: underline;
}
.login-button {
padding: 15px 30px;
font-size: 18px;
background-color: #F97316;
color: #09090B;
border: none;
border-radius: 4px;
cursor: pointer;
width: 100%;
}
.login-button:hover {
background-color: #f26502;
}
.forgot-password-container {
display: block;
text-align: right;
margin-bottom: 10px;
}

View File

@ -25,8 +25,6 @@ const LoginPage = () => {
<div className="flex flex-row min-h-screen justify-center items-center">
<div className="login-page flex items-center justify-center min-h-screen ">
<div className="">
<div className="login-container">
<div className="form-container">
<h2>Welcome Back</h2>
<p>Be among the first to experience 3D magic! Register for private alpha.</p>
<form onSubmit={handleLogin}>
@ -58,8 +56,8 @@ const LoginPage = () => {
</div>
</div>
</div>
</div>
</div>
);
};

View File

@ -1,6 +1,7 @@
import React from 'react';
import { Link } from 'react-router-dom';
import Sidebar from '../sidebar/Sidebar';
const AddCustomer = () => {
return (
<div className="flex flex-row">
@ -24,41 +25,41 @@ const AddCustomer = () => {
</div>
<div>
<Link to="/">
<h2 className="text-lg font-semibold text-gray-400">Customer Information</h2>
<h2 className="text-lg font-semibold text-black-700">Customer Information</h2>
</Link>
<Link to="/measurements">
<h2 className="text-lg font-semibold text-gray-400">Measurements</h2>
<h2 className="text-lg font-semibold text-black-700">Measurements</h2>
</Link>
</div>
</div>
{/* Form */}
<div className="md:col-span-2 space-y-4">
<div>
<label className="block text-sm font-medium text-gray-400">Customer Name :</label>
<input type="text" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Customer Name :</label>
<input type="text" className="input-underline" />
</div>
<div>
<label className="block text-sm font-medium text-gray-400">Age :</label>
<input type="number" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Age :</label>
<input type="number" className="input-underline" />
</div>
<div>
<label className="block text-sm font-medium text-gray-400">Gender :</label>
<input type="text" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Gender :</label>
<input type="text" className="input-underline" />
</div>
<div>
<label className="block text-sm font-medium text-gray-400">Email :</label>
<input type="email" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Email :</label>
<input type="email" className="input-underline" />
</div>
<div>
<label className="block text-sm font-medium text-gray-400">Address :</label>
<input type="text" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Address :</label>
<input type="text" className="input-underline" />
</div>
<div>
<label className="block text-sm font-medium text-gray-400">Mobile No :</label>
<input type="text" className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<label className="block text-sm font-medium text-black-700">Mobile No :</label>
<input type="text" className="input-underline" />
</div>
<div className="text-center">
<button className="bg-orange-500 text-white px-4 py-2 rounded-md text-sm">
<button className="bg-orange-500 text-black px-4 py-2 rounded-md font-semibold text-sm">
Save Information
</button>
</div>
@ -67,7 +68,6 @@ const AddCustomer = () => {
</div>
</div>
</div>
);
};

View File

@ -1,7 +1,7 @@
.customer-list {
padding: 20px;
background-color: #1d1f21;
color: #f0f0f0;
background-color: #09090B;
color: #09090B;
border-radius: 8px;
max-width: 800px;
margin: 0 auto;
@ -21,7 +21,7 @@
.add-customer-button {
padding: 10px 20px;
background-color: #F97316;
color: white;
color: #09090B;
border: none;
cursor: pointer;
border-radius: 5px;
@ -50,21 +50,21 @@
}
.customer-table tbody tr:nth-child(odd) {
background-color: #242424;
background-color: #09090B;
}
.customer-table tbody tr:nth-child(even) {
background-color: #2a2a2a;
background-color: #09090B;
}
.customer-table tbody tr:hover {
background-color: #333333;
background-color: #09090B;
}
.edit-button {
padding: 5px 10px;
background-color: #4caf50;
color: white;
background-color: #F26502;
color: #09090B;
border: none;
cursor: pointer;
border-radius: 5px;
@ -72,6 +72,23 @@
}
.edit-button:hover {
background-color: #45a049;
background-color: #F26502;
}
.input-underline {
background-color: transparent;
border: none;
border-bottom: 1px solid #b3b3b3;
color: #b3b3b3;
width: 100%;
padding: 0.5rem 0;
margin-bottom: 20px;
font-size: 16px;
outline: none;
}
.input-underline:focus {
border-bottom-color: #F97316; /* Orange underline on focus */
}

View File

@ -1,6 +1,7 @@
import React from 'react';
import { useNavigate } from 'react-router-dom';
import Sidebar from '../sidebar/Sidebar';
const CustomerList = () => {
const navigate = useNavigate();
@ -16,15 +17,14 @@ const CustomerList = () => {
};
return (
<div className="flex flex-row">
<div className="flex flex-row min-h-screen">
<Sidebar />
<div className="w-full flex flex-col min-h-screen bg-gray-900 text-white">
<div className="bg-gray-900 text-gray-300 p-6 rounded-lg">
<div className="w-full flex flex-col bg-#090909B text-white">
<div className="bg-[#090909B] text-gray-300 p-6 rounded-lg">
<div className="flex justify-between items-center mb-4">
<h1 className="text-xl font-semibold text-orange-500">customers list</h1>
<button
className="bg-orange-500 text-white px-4 py-2 rounded-md text-sm"
className="bg-orange-500 text-black px-4 py-2 rounded-md text-sm"
onClick={handleAddCustomer}
>
add new customer
@ -58,7 +58,6 @@ const CustomerList = () => {
</div>
</div>
</div>
);
};

View File

@ -19,39 +19,39 @@ const CustomerMeasurements = () => {
<Form onFinish={onFinish} className="space-y-4">
<h2 className="text-lg font-semibold text-gray-400">Upper Body Measurements</h2>
<Form.Item name="neck" label="Neck Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className=" block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="chest" label="Chest Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="waist" label="Waist Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="shoulder" label="Shoulder Width (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="arm" label="Arm Length (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="sleeve" label="Sleeve Length (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<h2 className="text-lg font-semibold text-gray-400">Lower Body Measurements</h2>
<Form.Item name="hip" label="Hip Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="inseam" label="Inseam (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="outseam" label="Out Seam (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="thigh" label="Thigh Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item name="ankle" label="Ankle Circumference (in inch)">
<Input className="bg-gray-800 text-white border border-gray-700 rounded w-full py-2 px-3" />
<Input className="block text-sm font-medium text-black-400" />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit" className="w-full py-4 bg-orange-500 text-black rounded-md font-semibold mb-4 hover:bg-orange-400">

View File

@ -1,9 +1,6 @@
import React from 'react';
import { Layout, Button } from 'antd';
import { Layout } from 'antd';
import { Link } from 'react-router-dom';
import './Sidebar.css';
import HomeIcon from '../../assets/thob-data/HomeIcon.svg';
import AddCustomerIcon from '../../assets/thob-data/AddCustomerIcon.svg';
import OrdersIcon from '../../assets/thob-data/OrdersIcon.svg';
@ -15,26 +12,28 @@ const { Sider } = Layout;
const EmployeeSidebar = () => {
return (
<Sider width={60} className="sidebar">
<div className="logo">t.</div>
<div className="menu">
<Link to="/admin-dashboard">
<Button type="link" icon={<HomeIcon />} className="menu-item" />
<Sider width={60} style={{ height: '1024px' }} className="bg-gray-800">
<div className="flex items-center justify-center h-16 w-16 m-5 bg-white" style={{ width: '40px', height: '40px', marginTop: '16px', marginLeft: '20px' }}>
<div className="text-black">t.</div>
</div>
<div className="flex flex-col items-center" style={{ marginTop: '309.5px', marginLeft: '27px' }}>
<Link to="/employee-dashboard" className="my-6">
<img src={HomeIcon} alt="Home" className="hover:opacity-75" style={{ width: '25px', height: '405px' }} />
</Link>
<Link to="/admin/categories">
<Button type="link" icon={<CategoriesIcon />} className="menu-item" />
<Link to="/employee/categories" className="my-6">
<img src={CategoriesIcon} alt="Categories" className="hover:opacity-75" style={{ width: '25px', height: '405px' }} />
</Link>
<Link to="/admin/manage-customers">
<Button type="link" icon={<AddCustomerIcon />} className="menu-item" />
<Link to="/employee/manage-customers" className="my-6">
<img src={AddCustomerIcon} alt="Add Customer" className="hover:opacity-75" style={{ width: '25px', height: '405px' }} />
</Link>
<Link to="/admin/orders">
<Button type="link" icon={<OrdersIcon />} className="menu-item" />
<Link to="/employee/orders" className="my-6">
<img src={OrdersIcon} alt="Orders" className="hover:opacity-75" style={{ width: '25px', height: '405px' }} />
</Link>
<Link to="/admin/profile">
<Button type="link" icon={<ProfileIcon />} className="menu-item" />
<Link to="/employee/profile" className="my-6">
<img src={ProfileIcon} alt="Profile" className="hover:opacity-75" style={{ width: '25px', height: '405px' }} />
</Link>
<Link to="/admin/logout">
<Button type="link" icon={<LogoutIcon />} className="menu-item" />
<Link to="/employee/logout" className="my-6" style={{ marginTop: '958px', marginLeft: '27.5px' }}>
<img src={LogoutIcon} alt="Logout" className="hover:opacity-75" style={{ width: '24px', height: '24px' }} />
</Link>
</div>
</Sider>

View File

@ -1,5 +1,5 @@
import React, { createContext, useState, useEffect } from 'react';
import authService from '../services/authService'; // Ensure correct import
import authService from '../services/authService';
export const AuthContext = createContext();

246
yarn.lock
View File

@ -75,7 +75,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz"
integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==
"@babel/core@^7.24.5":
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.24.5":
version "7.24.7"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz"
integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==
@ -286,121 +286,11 @@
resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz"
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
"@esbuild/aix-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
"@esbuild/android-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
"@esbuild/android-arm@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
"@esbuild/android-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
"@esbuild/darwin-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
"@esbuild/darwin-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22"
integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
"@esbuild/freebsd-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
"@esbuild/freebsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
"@esbuild/linux-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
"@esbuild/linux-arm@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
"@esbuild/linux-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
"@esbuild/linux-loong64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
"@esbuild/linux-mips64el@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
"@esbuild/linux-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
"@esbuild/linux-riscv64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
"@esbuild/linux-s390x@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
"@esbuild/linux-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
"@esbuild/netbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
"@esbuild/openbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
"@esbuild/sunos-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
"@esbuild/win32-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
"@esbuild/win32-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz"
integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
"@esbuild/win32-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
@ -504,7 +394,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -600,86 +490,11 @@
resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz"
integrity sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==
"@rollup/rollup-android-arm-eabi@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27"
integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==
"@rollup/rollup-android-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203"
integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==
"@rollup/rollup-darwin-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096"
integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
"@rollup/rollup-darwin-x64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c"
integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==
"@rollup/rollup-linux-arm-gnueabihf@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8"
integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==
"@rollup/rollup-linux-arm-musleabihf@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549"
integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==
"@rollup/rollup-linux-arm64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577"
integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==
"@rollup/rollup-linux-arm64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c"
integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==
"@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf"
integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==
"@rollup/rollup-linux-riscv64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9"
integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==
"@rollup/rollup-linux-s390x-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec"
integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==
"@rollup/rollup-linux-x64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942"
integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==
"@rollup/rollup-linux-x64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d"
integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==
"@rollup/rollup-win32-arm64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf"
integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==
"@rollup/rollup-win32-ia32-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz"
integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==
"@rollup/rollup-win32-x64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4"
integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==
"@types/babel__core@^7.20.5":
version "7.20.5"
resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
@ -759,7 +574,7 @@ acorn-jsx@^5.3.2:
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^8.9.0:
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0:
version "8.12.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz"
integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==
@ -1023,7 +838,7 @@ braces@^3.0.3, braces@~3.0.2:
dependencies:
fill-range "^7.1.1"
browserslist@^4.22.2, browserslist@^4.23.0:
browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0":
version "4.23.1"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz"
integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==
@ -1091,7 +906,7 @@ chokidar@^3.5.3:
optionalDependencies:
fsevents "~2.3.2"
classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1:
classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1, classnames@2.x:
version "2.5.1"
resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz"
integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
@ -1110,16 +925,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
commander@^4.0.0:
version "4.1.1"
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
@ -1193,7 +1008,7 @@ data-view-byte-offset@^1.0.0:
es-errors "^1.3.0"
is-data-view "^1.0.1"
dayjs@^1.11.11:
dayjs@^1.11.11, "dayjs@>= 1.x":
version "1.11.11"
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz"
integrity sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==
@ -1479,7 +1294,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^8.57.0:
"eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.57.0, eslint@>=7:
version "8.57.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
@ -1650,11 +1465,6 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@ -1700,7 +1510,7 @@ get-symbol-description@^1.0.2:
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
glob-parent@^5.1.2, glob-parent@~5.1.2:
glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@ -1714,6 +1524,13 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
glob@^10.3.10:
version "10.4.2"
resolved "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz"
@ -2468,7 +2285,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.23, postcss@^8.4.38:
postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.38, postcss@>=8.0.9:
version "8.4.38"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
@ -2857,7 +2674,7 @@ rc-virtual-list@^3.14.2, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2:
rc-resize-observer "^1.0.0"
rc-util "^5.36.0"
react-dom@^18.2.0:
react-dom@*, react-dom@^18.2.0, react-dom@>=16.0.0, react-dom@>=16.11.0, react-dom@>=16.8, react-dom@>=16.9.0:
version "18.3.1"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@ -2895,7 +2712,7 @@ react-router@6.23.1:
dependencies:
"@remix-run/router" "1.16.1"
react@^18.2.0:
react@*, "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.2.0, react@^18.3.1, react@>=16.0.0, react@>=16.11.0, react@>=16.8, react@>=16.9.0:
version "18.3.1"
resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
@ -2954,7 +2771,16 @@ resolve-from@^4.0.0:
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve@^1.1.7, resolve@^1.22.2:
resolve@^1.1.7:
version "1.22.8"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
dependencies:
is-core-module "^2.13.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
resolve@^1.22.2:
version "1.22.8"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@ -3409,7 +3235,7 @@ util-deprecate@^1.0.2:
resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
vite@^5.2.0:
"vite@^4.2.0 || ^5.0.0", vite@^5.2.0:
version "5.3.1"
resolved "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz"
integrity sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==