diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..f21168c
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,12 @@
+import { defineConfig } from "eslint/config";
+import globals from "globals";
+import tseslint from "typescript-eslint";
+import pluginReact from "eslint-plugin-react";
+
+
+export default defineConfig([
+ { files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"] },
+ { files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"], languageOptions: { globals: globals.browser } },
+ tseslint.configs.recommended,
+ pluginReact.configs.flat.recommended,
+]);
\ No newline at end of file
diff --git a/package.json b/package.json
index 055615f..0e4c49b 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,8 @@
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
- "eject": "react-scripts eject"
+ "eject": "react-scripts eject",
+ "lint": "eslint . --fix"
},
"eslintConfig": {
"extends": [
@@ -46,5 +47,12 @@
"last 1 firefox version",
"last 1 safari version"
]
+ },
+ "devDependencies": {
+ "eslint": "^9.23.0",
+ "eslint-config-react-app": "^7.0.1",
+ "eslint-plugin-react": "^7.37.4",
+ "globals": "^16.0.0",
+ "typescript-eslint": "^8.28.0"
}
}
diff --git a/public/Loop hero 29_04.mp4 b/public/Loop hero 29_04.mp4
new file mode 100644
index 0000000..da1ccd5
Binary files /dev/null and b/public/Loop hero 29_04.mp4 differ
diff --git a/src/App.tsx b/src/App.tsx
index 301cb13..31c42d5 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import logo from './logo.svg';
+// import logo from './logo.svg';
import './App.css';
import Header from './components/header';
import HomePage from './components/homepage';
@@ -8,7 +8,6 @@ import { Box } from '@mui/material';
function App() {
return (
-
diff --git a/src/components/header.tsx b/src/components/header.tsx
index bcf7026..dd2b7cb 100644
--- a/src/components/header.tsx
+++ b/src/components/header.tsx
@@ -1,6 +1,6 @@
import React, { useState } from "react";
import {
- AppBar, Toolbar, Typography, Button, IconButton, Box, Drawer, List,
+ AppBar, Toolbar, Button, IconButton, Box, Drawer, List,
ListItem, ListItemButton, ListItemText
} from "@mui/material";
import MenuIcon from "@mui/icons-material/Menu";
diff --git a/src/components/homepage.tsx b/src/components/homepage.tsx
index 94675f9..91223fe 100644
--- a/src/components/homepage.tsx
+++ b/src/components/homepage.tsx
@@ -1,62 +1,74 @@
import React, { useRef } from "react";
import { Box, Grid, Typography } from "@mui/material";
-import logo from "../components/imageandgif/newlogo.png";
-import backone from "../components/imageandgif/newbgone.png";
-import backtwo from "../components/imageandgif/newnewtwo.png";
-import backthree from "../components/imageandgif/newthree.png";
-import gifone from "../components/imageandgif/gifone.gif";
-import giftwo from "../components/imageandgif/giftwo.gif";
-import gifthree from "../components/imageandgif/gifthree.gif";
-import giffour from "../components/imageandgif/giffour.gif";
+// import logo from "../components/imageandgif/newlogo.png";
+// import backone from "../components/imageandgif/newbgone.png";
+// import backtwo from "../components/imageandgif/newnewtwo.png";
+// import backthree from "../components/imageandgif/newthree.png";
+// import gifone from "../components/imageandgif/gifone.gif";
+// import giftwo from "../components/imageandgif/giftwo.gif";
+// import gifthree from "../components/imageandgif/gifthree.gif";
+// import giffour from "../components/imageandgif/giffour.gif";
import giffive from "../components/imageandgif/giffive.gif";
import gifsix from "../components/imageandgif/gifsix.gif";
import gifseven from "../components/imageandgif/gifseven.gif";
import gifeight from "../components/imageandgif/gifeight.gif";
-import loopgreen from "../components/imageandgif/newloop.png";
-import PartnerWork from "./ourwork";
+// import loopgreen from "../components/imageandgif/newloop.png";
+// import PartnerWork from "./ourwork";
import Footer from "./footer";
-import loopgreenback from "../components/imageandgif/lsbg.png"
+// import loopgreenback from "../components/imageandgif/lsbg.png"
import OurTeam from "./ourteam";
-import mobileLogo from "../components/imageandgif/loopsMoblogo.png"
+// import mobileLogo from "../components/imageandgif/loopsMoblogo.png"
import mobileback from "../components/imageandgif/mobileback.png"
-import { useMediaQuery, useTheme } from "@mui/material";
+// import { useMediaQuery, useTheme } from "@mui/material";
import { createTheme, ThemeProvider } from "@mui/material/styles";
-import newbackground from "../components/imageandgif/full.png"
-import sustainability from "../components/imageandgif/Untitled-2.png"
-import wasteimage from "../components/imageandgif/loopwastemanage.png"
+import newbackground from "../components/imageandgif/loopcentrelaptop.png"
+// import sustainability from "../components/imageandgif/Untitled-2.png"
+// import wasteimage from "../components/imageandgif/loopwastemanage.png"
import WhyChooseUs from "./whyus";
import WasteImageSection from "./wastemanagement";
-import loopgif from "../components/imageandgif/Loopherosectionmobiless.gif"
-import gifsevenm from "../components/imageandgif/disintegrate mobile (2).gif";
-import gifeightm from "../components/imageandgif/reminemobile.gif";
-import giffivem from "../components/imageandgif/repairm.gif";
-import gifsixm from "../components/imageandgif/newusenewuse.gif";
-import gifonem from "../components/imageandgif/mine mobile.gif";
-
+import loopgif from "../components/imageandgif/Loop hero 29_04 (2).gif"
+// import gifsevenm from "../components/imageandgif/disintegrate mobile (2).gif";
+// import gifeightm from "../components/imageandgif/reminemobile.gif";
+// import giffivem from "../components/imageandgif/repairm.gif";
+// import gifsixm from "../components/imageandgif/newusenewuse.gif";
+// import gifonem from "../components/imageandgif/mine mobile.gif";
+// const features = [
+// {
+// title: "Reuse",
+// description:
+// "We help businesses repair their old electronics by recommending reusable parts and components for future use or resale.",
+// icon: ,
+// },
+// {
+// title: "Repair",
+// description:
+// "Repair services extend the life of devices, minimizing waste and reducing the need for new products.",
+// icon: ,
+// },
+// {
+// title: "Disintegrate",
+// description:
+// "When devices can no longer be repaired, we ensure responsible recycling and proper disposal.",
+// icon: ,
+// },
+// {
+// title: "Remine",
+// description:
+// "We take the decomposed materials and refine them for reuse, reducing environmental impact.",
+// icon: ,
+// },
+// ];
const HomePage: React.FC = () => {
- // Create refs for each content box
- const mineRef = useRef(null);
- const manufactureRef = useRef(null);
- const assembleRef = useRef(null);
- const useRefBox = useRef(null);
- const repairRef = useRef(null);
+ // // Create refs for each content box
+ // const mineRef = useRef(null);
+ // const manufactureRef = useRef(null);
+ // const assembleRef = useRef(null);
+ // const useRefBox = useRef(null);
const disintegrateRef = useRef(null);
const remineRef = useRef(null);
- const impactRef = useRef(null);
const reuseRef = useRef(null);
- const items = [
- ];
- // const theme = useTheme();
- // const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
-
- // Function to scroll to the ref
- const scrollToRef = (ref: React.RefObject) => {
- if (ref.current) {
- ref.current.scrollIntoView({ behavior: "smooth", block: "center" });
- }
- };
const theme = createTheme({
breakpoints: {
@@ -95,7 +107,7 @@ const HomePage: React.FC = () => {
width: { lg: "100vw" },
backgroundColor: "white",
position: "relative",
- paddingTop: { xs: '50px', lg: '5px' , md:'10px' },
+ paddingTop: { xs: '50px', lg: '5px', md: '10px' },
marginBottom: { xs: "10px", md: "39px", lg: '30px' },
}}
>
@@ -109,14 +121,9 @@ const HomePage: React.FC = () => {
}}
/>
-
-
-
-
-
{
}}
>
- We aim to 'Do More With Less'
- Our mission is to maximize the reuse of nature’s precious resources, fostering a circular economy and driving true sustainability.
+ We aim to 'Do More With Less'
+ Our mission is to maximize the reuse of nature's precious resources, fostering a circular economy and driving true sustainability.
-
@@ -150,7 +156,7 @@ const HomePage: React.FC = () => {
fontFamily: "SF Pro Regular, Arial, sans-serif",
}}
>
- "Loop Sustainability extends the life cycle of electronics through advanced technology and smart algorithms, enabling efficient reuse and responsible recycling.",
+ "Loop Sustainability extends the life cycle of electronics through advanced technology and smart algorithms, enabling efficient reuse and responsible recycling.",
@@ -167,157 +173,77 @@ const HomePage: React.FC = () => {
fontFamily: "SF Pro Regular, Arial, sans-serif",
}}
>
- "We collaborate with consumer brands, retailers, recyclers, repair centers, policymakers, and more—all working together to reduce e-waste and drive sustainability.",
+ "We collaborate with consumer brands, retailers, recyclers, repair centers, policymakers, and more—all working together to reduce e-waste and drive sustainability.",
-
+
{/* Grid 2 */}
+
+
+
+
+ The Process
+
+
+ Raw materials are extracted through destructive mining practices, causing habitat loss, soil erosion, and water contamination.
+ Components are assembled into finished products in factories, further increasing emissions and producing hazardous waste that is hard to dispose of.
+ Devices are used by consumers and businesses, but their production and usage contribute significantly to carbon footprints, energy consumption, and waste generation.
+
+
+ This is where we come in.
+
+
+
+
+
+
-
- {/*
- */}
-
- {/* ROW 1 */}
-
-
-
-
-
-
-
- Mine from nature
- Raw materials are extracted through destructive mining practices, causing habitat loss, soil erosion, and water contamination.
-
-
-
-
-
- {/* ROW 2 */}
-
-
-
-
- Manufacturing
- Materials are processed in energy-intensive factories that rely on fossil fuels, generating high carbon emissions
-
-
-
-
-
-
-
-
- {/* ROW 3 */}
-
-
-
-
-
-
-
- Assemble
- Components are assembled into finished products in factories, further increasing emissions and producing hazardous waste that is hard to dispose.
-
-
-
-
-
-
- {/* ROW 4 */}
-
-
-
-
- Use
- Devices are used by consumers and businesses, but their production and usage contribute significantly to carbon footprints, energy consumption, and waste generation.
-
-
-
-
-
-
-
-
- {/* new2 */}
-
-
-
-
- {/* newnew */}
- {/* desktop view */}
- {/* Reuse Section */}
{
diff --git a/src/components/imageandgif/Loop hero 29_04 (2).gif b/src/components/imageandgif/Loop hero 29_04 (2).gif
new file mode 100644
index 0000000..bd80cae
Binary files /dev/null and b/src/components/imageandgif/Loop hero 29_04 (2).gif differ
diff --git a/src/components/imageandgif/Loop hero 29_04-VEED.gif b/src/components/imageandgif/Loop hero 29_04-VEED.gif
new file mode 100644
index 0000000..2cb2786
Binary files /dev/null and b/src/components/imageandgif/Loop hero 29_04-VEED.gif differ
diff --git a/src/components/imageandgif/Loop hero 29_04.mp4 b/src/components/imageandgif/Loop hero 29_04.mp4
new file mode 100644
index 0000000..da1ccd5
Binary files /dev/null and b/src/components/imageandgif/Loop hero 29_04.mp4 differ
diff --git a/src/components/imageandgif/Loop-hero-29-04-unscreen.gif b/src/components/imageandgif/Loop-hero-29-04-unscreen.gif
new file mode 100644
index 0000000..4a9c8dc
Binary files /dev/null and b/src/components/imageandgif/Loop-hero-29-04-unscreen.gif differ
diff --git a/src/components/imageandgif/loopcentrelaptop.png b/src/components/imageandgif/loopcentrelaptop.png
new file mode 100644
index 0000000..6b44469
Binary files /dev/null and b/src/components/imageandgif/loopcentrelaptop.png differ
diff --git a/src/components/ourteam.tsx b/src/components/ourteam.tsx
index 489e1c2..af154a8 100644
--- a/src/components/ourteam.tsx
+++ b/src/components/ourteam.tsx
@@ -12,7 +12,7 @@ import { motion } from "framer-motion";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import ExpandLessIcon from "@mui/icons-material/ExpandLess";
-import robert from "../components/imageandgif/robert.png";
+// import robert from "../components/imageandgif/robert.png";
import RamanaReddy from "../components/imageandgif/RamanaReddy.png";
import MukeshLamba from "../components/imageandgif/MukeshLamba.png";
import RamaKrishnan from "../components/imageandgif/RamaKrishnan.png";
diff --git a/src/components/wastemanagement.tsx b/src/components/wastemanagement.tsx
index e03a157..beea7cb 100644
--- a/src/components/wastemanagement.tsx
+++ b/src/components/wastemanagement.tsx
@@ -1,18 +1,7 @@
-import { createTheme, ThemeProvider, useMediaQuery, useTheme, Grid } from "@mui/material";
+import React from "react";
+import { useMediaQuery, useTheme, Grid } from "@mui/material";
import wasteimage from "../components/imageandgif/Loop Transforming waste.svg";
-import { ReactComponent as MobileWasteImage } from "../components/imageandgif/Soil & Water Contamination.svg";
-
-const customTheme = createTheme({
- breakpoints: {
- values: {
- xs: 0,
- sm: 600,
- md: 1000,
- lg: 1400,
- xl: 1800,
- },
- },
-});
+import { ReactComponent as MobileWasteImage } from "../components/imageandgif/Soil & Water Contamination.svg";
const WasteImageSection = () => {
const theme = useTheme();
diff --git a/src/components/whyus.tsx b/src/components/whyus.tsx
index a6239da..59efb87 100644
--- a/src/components/whyus.tsx
+++ b/src/components/whyus.tsx
@@ -47,7 +47,7 @@ const WhyChooseUs: React.FC = () => {
item
key={index}
xs={6}
- sm={2}
+ sm={6}
display="flex"
justifyContent="center"
>
diff --git a/yarn.lock b/yarn.lock
index 6a7c5d9..0730b61 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1311,11 +1311,39 @@
dependencies:
eslint-visitor-keys "^3.4.3"
-"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/eslint-utils@^4.4.0":
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz#b0fc7e06d0c94f801537fd4237edc2706d3b8e4c"
+ integrity sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==
+ dependencies:
+ eslint-visitor-keys "^3.4.3"
+
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1":
version "4.12.1"
resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz"
integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
+"@eslint/config-array@^0.19.2":
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa"
+ integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==
+ dependencies:
+ "@eslint/object-schema" "^2.1.6"
+ debug "^4.3.1"
+ minimatch "^3.1.2"
+
+"@eslint/config-helpers@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.0.tgz#12dc8d65c31c4b6c3ebf0758db6601eb7692ce59"
+ integrity sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==
+
+"@eslint/core@^0.12.0":
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.12.0.tgz#5f960c3d57728be9f6c65bd84aa6aa613078798e"
+ integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==
+ dependencies:
+ "@types/json-schema" "^7.0.15"
+
"@eslint/eslintrc@^2.1.4":
version "2.1.4"
resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
@@ -1331,11 +1359,57 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
+"@eslint/eslintrc@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964"
+ integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^10.0.1"
+ globals "^14.0.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
"@eslint/js@8.57.1":
version "8.57.1"
resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz"
integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
+"@eslint/js@9.23.0":
+ version "9.23.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.23.0.tgz#c09ded4f3dc63b40b933bcaeb853fceddb64da30"
+ integrity sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==
+
+"@eslint/object-schema@^2.1.6":
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f"
+ integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==
+
+"@eslint/plugin-kit@^0.2.7":
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz#9901d52c136fb8f375906a73dcc382646c3b6a27"
+ integrity sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==
+ dependencies:
+ "@eslint/core" "^0.12.0"
+ levn "^0.4.1"
+
+"@humanfs/core@^0.19.1":
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
+ integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
+
+"@humanfs/node@^0.16.6":
+ version "0.16.6"
+ resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e"
+ integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==
+ dependencies:
+ "@humanfs/core" "^0.19.1"
+ "@humanwhocodes/retry" "^0.3.0"
+
"@humanwhocodes/config-array@^0.13.0":
version "0.13.0"
resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz"
@@ -1355,6 +1429,16 @@
resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
+"@humanwhocodes/retry@^0.3.0":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a"
+ integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==
+
+"@humanwhocodes/retry@^0.4.2":
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.2.tgz#1860473de7dfa1546767448f333db80cb0ff2161"
+ integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==
+
"@isaacs/cliui@^8.0.2":
version "8.0.2"
resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
@@ -2242,7 +2326,7 @@
jest-matcher-utils "^27.0.0"
pretty-format "^27.0.0"
-"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
+"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.15"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -2415,6 +2499,21 @@
dependencies:
"@types/yargs-parser" "*"
+"@typescript-eslint/eslint-plugin@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz#ad1465aa6fe7e937801c291648dec951c4dc38e6"
+ integrity sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==
+ dependencies:
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "8.28.0"
+ "@typescript-eslint/type-utils" "8.28.0"
+ "@typescript-eslint/utils" "8.28.0"
+ "@typescript-eslint/visitor-keys" "8.28.0"
+ graphemer "^1.4.0"
+ ignore "^5.3.1"
+ natural-compare "^1.4.0"
+ ts-api-utils "^2.0.1"
+
"@typescript-eslint/eslint-plugin@^5.5.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz"
@@ -2438,6 +2537,17 @@
dependencies:
"@typescript-eslint/utils" "5.62.0"
+"@typescript-eslint/parser@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.28.0.tgz#85321707e8711c0e66a949ea228224af35f45c98"
+ integrity sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==
+ dependencies:
+ "@typescript-eslint/scope-manager" "8.28.0"
+ "@typescript-eslint/types" "8.28.0"
+ "@typescript-eslint/typescript-estree" "8.28.0"
+ "@typescript-eslint/visitor-keys" "8.28.0"
+ debug "^4.3.4"
+
"@typescript-eslint/parser@^5.5.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz"
@@ -2456,6 +2566,14 @@
"@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0"
+"@typescript-eslint/scope-manager@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz#e495b20438a3787e00498774d5625e620d68f9fe"
+ integrity sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==
+ dependencies:
+ "@typescript-eslint/types" "8.28.0"
+ "@typescript-eslint/visitor-keys" "8.28.0"
+
"@typescript-eslint/type-utils@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz"
@@ -2466,11 +2584,26 @@
debug "^4.3.4"
tsutils "^3.21.0"
+"@typescript-eslint/type-utils@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz#fc565414ebc16de1fc65e0dd8652ce02c78ca61f"
+ integrity sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==
+ dependencies:
+ "@typescript-eslint/typescript-estree" "8.28.0"
+ "@typescript-eslint/utils" "8.28.0"
+ debug "^4.3.4"
+ ts-api-utils "^2.0.1"
+
"@typescript-eslint/types@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
+"@typescript-eslint/types@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.28.0.tgz#7c73878385edfd9674c7aa10975e6c484b4f896e"
+ integrity sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==
+
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz"
@@ -2484,6 +2617,20 @@
semver "^7.3.7"
tsutils "^3.21.0"
+"@typescript-eslint/typescript-estree@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz#56b999f26f7ca67b9d75d6a67af5c8b8e4e80114"
+ integrity sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==
+ dependencies:
+ "@typescript-eslint/types" "8.28.0"
+ "@typescript-eslint/visitor-keys" "8.28.0"
+ debug "^4.3.4"
+ fast-glob "^3.3.2"
+ is-glob "^4.0.3"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^2.0.1"
+
"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz"
@@ -2498,6 +2645,16 @@
eslint-scope "^5.1.1"
semver "^7.3.7"
+"@typescript-eslint/utils@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.28.0.tgz#7850856620a896b7ac621ac12d49c282aefbb528"
+ integrity sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.4.0"
+ "@typescript-eslint/scope-manager" "8.28.0"
+ "@typescript-eslint/types" "8.28.0"
+ "@typescript-eslint/typescript-estree" "8.28.0"
+
"@typescript-eslint/visitor-keys@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz"
@@ -2506,6 +2663,14 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
+"@typescript-eslint/visitor-keys@8.28.0":
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz#18eb9a25cc9dadb027835c58efe93a5c4ee81969"
+ integrity sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==
+ dependencies:
+ "@typescript-eslint/types" "8.28.0"
+ eslint-visitor-keys "^4.2.0"
+
"@ungap/structured-clone@^1.2.0":
version "1.3.0"
resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz"
@@ -3641,7 +3806,7 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
-cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6:
version "7.0.6"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
@@ -4463,7 +4628,7 @@ escodegen@^2.0.0:
eslint-config-react-app@^7.0.1:
version "7.0.1"
- resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz"
+ resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4"
integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==
dependencies:
"@babel/core" "^7.16.0"
@@ -4563,7 +4728,7 @@ eslint-plugin-react-hooks@^4.3.0:
resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz"
integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==
-eslint-plugin-react@^7.27.1:
+eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.37.4:
version "7.37.4"
resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz"
integrity sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==
@@ -4610,6 +4775,14 @@ eslint-scope@^7.2.2:
esrecurse "^4.3.0"
estraverse "^5.2.0"
+eslint-scope@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d"
+ integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
eslint-visitor-keys@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
@@ -4620,6 +4793,11 @@ 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-visitor-keys@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45"
+ integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==
+
eslint-webpack-plugin@^3.1.1:
version "3.2.0"
resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz"
@@ -4675,6 +4853,56 @@ eslint@^8.3.0:
strip-ansi "^6.0.1"
text-table "^0.2.0"
+eslint@^9.23.0:
+ version "9.23.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.23.0.tgz#b88f3ab6dc83bcb927fdb54407c69ffe5f2441a6"
+ integrity sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
+ "@eslint-community/regexpp" "^4.12.1"
+ "@eslint/config-array" "^0.19.2"
+ "@eslint/config-helpers" "^0.2.0"
+ "@eslint/core" "^0.12.0"
+ "@eslint/eslintrc" "^3.3.1"
+ "@eslint/js" "9.23.0"
+ "@eslint/plugin-kit" "^0.2.7"
+ "@humanfs/node" "^0.16.6"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@humanwhocodes/retry" "^0.4.2"
+ "@types/estree" "^1.0.6"
+ "@types/json-schema" "^7.0.15"
+ ajv "^6.12.4"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.6"
+ debug "^4.3.2"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^8.3.0"
+ eslint-visitor-keys "^4.2.0"
+ espree "^10.3.0"
+ esquery "^1.5.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^8.0.0"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ ignore "^5.2.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.3"
+
+espree@^10.0.1, espree@^10.3.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a"
+ integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==
+ dependencies:
+ acorn "^8.14.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^4.2.0"
+
espree@^9.6.0, espree@^9.6.1:
version "9.6.1"
resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
@@ -4694,7 +4922,7 @@ esprima@^4.0.0, esprima@^4.0.1:
resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.2:
+esquery@^1.4.2, esquery@^1.5.0:
version "1.6.0"
resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
@@ -4880,6 +5108,13 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
+file-entry-cache@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
+ integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
+ dependencies:
+ flat-cache "^4.0.0"
+
file-loader@^6.2.0:
version "6.2.0"
resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz"
@@ -4966,6 +5201,14 @@ flat-cache@^3.0.4:
keyv "^4.5.3"
rimraf "^3.0.2"
+flat-cache@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
+ integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
+ dependencies:
+ flatted "^3.2.9"
+ keyv "^4.5.4"
+
flatted@^3.2.9:
version "3.3.2"
resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz"
@@ -5228,6 +5471,16 @@ globals@^13.19.0:
dependencies:
type-fest "^0.20.2"
+globals@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
+ integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
+
+globals@^16.0.0:
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-16.0.0.tgz#3d7684652c5c4fbd086ec82f9448214da49382d8"
+ integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==
+
globalthis@^1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz"
@@ -5510,7 +5763,7 @@ identity-obj-proxy@^3.0.0:
dependencies:
harmony-reflect "^1.4.6"
-ignore@^5.2.0:
+ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -6617,7 +6870,7 @@ jsonpointer@^5.0.0:
object.assign "^4.1.4"
object.values "^1.1.6"
-keyv@^4.5.3:
+keyv@^4.5.3, keyv@^4.5.4:
version "4.5.4"
resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
@@ -8716,6 +8969,11 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4:
resolved "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz"
integrity sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==
+semver@^7.6.0:
+ version "7.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
+ integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
+
send@0.19.0:
version "0.19.0"
resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
@@ -9503,6 +9761,11 @@ tryer@^1.0.1:
resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+ts-api-utils@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91"
+ integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==
+
ts-interface-checker@^0.1.9:
version "0.1.13"
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
@@ -9634,6 +9897,15 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
+typescript-eslint@^8.28.0:
+ version "8.28.0"
+ resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.28.0.tgz#70b0ac51dc15eeb9fcfad66c0b0ec78f3ad341e3"
+ integrity sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==
+ dependencies:
+ "@typescript-eslint/eslint-plugin" "8.28.0"
+ "@typescript-eslint/parser" "8.28.0"
+ "@typescript-eslint/utils" "8.28.0"
+
typescript@^4.4.2:
version "4.9.5"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"