diff --git a/package-lock.json b/package-lock.json
index 5f59dcc..b0fbc4e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,9 +19,11 @@
"@types/node": "^16.7.13",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
+ "framer-motion": "^12.4.2",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-scripts": "5.0.1",
+ "swiper": "^11.2.2",
"typescript": "^4.4.2",
"web-vitals": "^2.1.0"
}
@@ -9145,6 +9147,33 @@
"url": "https://github.com/sponsors/rawify"
}
},
+ "node_modules/framer-motion": {
+ "version": "12.4.2",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.2.tgz",
+ "integrity": "sha512-pW307cQKjDqEuO1flEoIFf6TkuJRfKr+c7qsHAJhDo4368N/5U8/7WU8J+xhd9+gjmOgJfgp+46evxRRFM39dA==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.0.0",
+ "motion-utils": "^12.0.0",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -12367,6 +12396,21 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/motion-dom": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.0.0.tgz",
+ "integrity": "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.0.0"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz",
+ "integrity": "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==",
+ "license": "MIT"
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -16729,6 +16773,25 @@
"node": ">=4"
}
},
+ "node_modules/swiper": {
+ "version": "11.2.2",
+ "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.2.tgz",
+ "integrity": "sha512-FmAN6zACpVUbd/1prO9xQ9gKo9cc6RE2UKU/z4oXtS8fNyX4sdOW/HHT/e444WucLJs0jeMId6WjdWM2Lrs8zA==",
+ "funding": [
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/swiperjs"
+ },
+ {
+ "type": "open_collective",
+ "url": "http://opencollective.com/swiper"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.7.0"
+ }
+ },
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
diff --git a/package.json b/package.json
index 41958e0..92b48b6 100644
--- a/package.json
+++ b/package.json
@@ -14,9 +14,11 @@
"@types/node": "^16.7.13",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
+ "framer-motion": "^12.4.2",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-scripts": "5.0.1",
+ "swiper": "^11.2.2",
"typescript": "^4.4.2",
"web-vitals": "^2.1.0"
},
diff --git a/public/index.html b/public/index.html
index dff3868..4db918f 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,42 +2,29 @@
-
+
-
+
-
-
-
-
- Loop Sustainability
+
+
+
+
+ Loop Sustainability - Urban Recycling
You need to enable JavaScript to run this app.
-
diff --git a/src/components/imageandgif/loopsLogo.png b/public/loopsLogo.png
similarity index 100%
rename from src/components/imageandgif/loopsLogo.png
rename to public/loopsLogo.png
diff --git a/src/components/header.tsx b/src/components/header.tsx
index 417d9df..537e817 100644
--- a/src/components/header.tsx
+++ b/src/components/header.tsx
@@ -5,26 +5,13 @@ import {
ListItemIcon, ListItemText, Divider
} from "@mui/material";
import MenuIcon from "@mui/icons-material/Menu";
-import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
-import InfoIcon from "@mui/icons-material/Info";
-import PersonIcon from "@mui/icons-material/Person";
-import GroupsIcon from "@mui/icons-material/Groups";
import HomeIcon from "@mui/icons-material/Home";
import BuildIcon from "@mui/icons-material/Build";
-import ContactMailIcon from "@mui/icons-material/ContactMail";
+import FileDownloadIcon from "@mui/icons-material/FileDownload";
const Header: React.FC = () => {
- const [anchorEl, setAnchorEl] = useState(null);
const [mobileOpen, setMobileOpen] = useState(false);
- const handleMenuOpen = (event: React.MouseEvent) => {
- setAnchorEl(event.currentTarget);
- };
-
- const handleMenuClose = () => {
- setAnchorEl(null);
- };
-
const toggleMobileMenu = () => {
setMobileOpen(!mobileOpen);
};
@@ -33,26 +20,25 @@ const Header: React.FC = () => {
+ xs: "91.6vw",
+ sm: "95.5vw",
+ md: "91.6vw",
+ lg: "96.8vw",
+ xl: "96.4vw"
+ },
+ color: "black"
+ }}
+ >
{/* Mobile Menu Button */}
@@ -64,67 +50,44 @@ const Header: React.FC = () => {
{/* Desktop Navigation */}
-
+
Home
-
- {/* Dropdown Menu */}
- } onClick={handleMenuOpen}>
- About
+ About
+ Team
+ {/* Download Button */}
+
+ Contact-Us
-
- Services
- Contact
- {/* About Dropdown Menu */}
-
-
- About Us
-
-
- About CEO
-
-
- Team
-
-
-
{/* Mobile Drawer Menu */}
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/src/components/homepage.tsx b/src/components/homepage.tsx
index a0497aa..6d41db6 100644
--- a/src/components/homepage.tsx
+++ b/src/components/homepage.tsx
@@ -1,6 +1,6 @@
import React, { useRef } from "react";
import { Box, Grid, Typography } from "@mui/material";
-import logo from "../loopslogo2.png";
+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";
@@ -18,7 +18,14 @@ import Footer from "./footer";
import loopgreenback from "../components/imageandgif/loopgreenbackground.png"
import OurTeam from "./ourteam";
import mobileLogo from "../components/imageandgif/loopsMoblogo.png"
+import mobileback from "../components/imageandgif/mobileback.png"
+
import { createTheme, ThemeProvider } from "@mui/material/styles";
+import newbackground from "../components/imageandgif/full.png"
+import newbackgroundtwo from "../components/imageandgif/newbacktwo.png"
+
+
+
const HomePage: React.FC = () => {
@@ -62,12 +69,12 @@ const HomePage: React.FC = () => {
xs={12}
sx={{
marginTop: "0px",
- height: { xs: "190px", md: "300px" },
+ height: { xs: "190px", lg: "337px" },
backgroundColor: "white",
position: "relative",
backgroundImage: {
xs: `url(${mobileLogo})`, // Mobile background image
- md: `url(${logo})`, // Desktop background image
+ lg: `url(${logo})`, // Desktop background image
},
backgroundSize: "contain",
backgroundPosition: "right center",
@@ -84,7 +91,8 @@ const HomePage: React.FC = () => {
transform: "translateY(-30%)",
height: { xs: "235px", md: "440px" },
width: { xs: "150px", md: "220px" },
- backgroundColor: "#eee0e0a3",
+ // backgroundColor: "#eee0e0a3",
+ backgroundColor: "white",
zIndex: 1,
padding: "20px",
overflowY: "auto",
@@ -112,40 +120,31 @@ const HomePage: React.FC = () => {
-
- {/* Grid 2 */}
+
+ {/* Grid 2 */}
+
-
+ {
alignItems: "center",
padding: "10px",
textAlign: 'center',
- marginBottom: { xs: "20px", md: "0" }, // Add margin bottom for spacing
- }}
- >
-
-
-
-
- Mine from nature
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis doloremque architecto eos provident et deserunt temporibus non iusto quis inventore expedita neque
-
-
-
-
-
- Manufacture
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis doloremque architecto eos provident et deserunt temporibus non iusto
-
-
-
-
-
-
-
-
- Assemble
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis!
-
-
-
-
-
-
-
- {/* Grid 3 */}
-
-
-
- Use
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis !
-
-
-
-
-
-
-
- {/* Grid 4 */}
-
-
-
- Reuse
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendisss !
-
-
-
+
+
+
+
+ Mine from nature
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
+
-
+
+
-
-
+
+
-
- Repair
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis !
-
-
-
-
-
+ textAlign: 'center',
+ marginBottom: { xs: "20px", md: "0" },
+ }}>
+
+ Manufacturing
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
+
+
-
+
+
+ {/* ROW 3 */}
+
+
+
+
+
+
+
+ Assemble
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
+
+
+
+
+ {/* ROW 4 */}
+
+
+
+
+ Use
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
+
+
+
+
+
+ {/* new2 */}
+
+
+
+
+ {/* newnew */}
+
+
+
+ Reuse
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
+
+
+
+
+
+
+
+
+ Repair
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
+
+
+
+
+
+ {/* newnewnwe */}
+
+
+
+
+
+
+ Disintegrate
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
- }}
- >
-
- Disintegrate
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis !
-
-
-
-
-
-
+
+
+
-
-
-
-
- Remine
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis !
-
-
-
+ textAlign: 'center',
+ marginBottom: { xs: "20px", md: "0" },
+ marginTop: { xs: "20px"},
+ }}>
+
+
+
+
+ Remine
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry...
+
+
- {/* Grid 5 */}
-
+
+
+
+
+
+
+
+
+
diff --git a/src/components/imageandgif/full.png b/src/components/imageandgif/full.png
new file mode 100644
index 0000000..01e8dc8
Binary files /dev/null and b/src/components/imageandgif/full.png differ
diff --git a/src/components/imageandgif/fullwith.png b/src/components/imageandgif/fullwith.png
new file mode 100644
index 0000000..6806194
Binary files /dev/null and b/src/components/imageandgif/fullwith.png differ
diff --git a/src/components/imageandgif/mobileback.png b/src/components/imageandgif/mobileback.png
new file mode 100644
index 0000000..56edbaf
Binary files /dev/null and b/src/components/imageandgif/mobileback.png differ
diff --git a/src/components/imageandgif/newbackground.png b/src/components/imageandgif/newbackground.png
new file mode 100644
index 0000000..ae2cd9d
Binary files /dev/null and b/src/components/imageandgif/newbackground.png differ
diff --git a/src/components/imageandgif/newbacktwo.png b/src/components/imageandgif/newbacktwo.png
new file mode 100644
index 0000000..5c8a523
Binary files /dev/null and b/src/components/imageandgif/newbacktwo.png differ
diff --git a/src/components/imageandgif/newfullwid.png b/src/components/imageandgif/newfullwid.png
new file mode 100644
index 0000000..489a765
Binary files /dev/null and b/src/components/imageandgif/newfullwid.png differ
diff --git a/src/components/imageandgif/newlogo.png b/src/components/imageandgif/newlogo.png
new file mode 100644
index 0000000..aaf00a8
Binary files /dev/null and b/src/components/imageandgif/newlogo.png differ
diff --git a/src/components/ourteam.tsx b/src/components/ourteam.tsx
index aaabb8a..6cc9a9c 100644
--- a/src/components/ourteam.tsx
+++ b/src/components/ourteam.tsx
@@ -1,7 +1,19 @@
-import React from "react";
-import { Grid, Typography, Card, CardContent, CardMedia, Divider } from "@mui/material";
-import color from "../components/imageandgif/color.png"
-import robert from "../components/imageandgif/robert.png"
+import React, { useState } from "react";
+import {
+ Grid,
+ Typography,
+ Card,
+ CardContent,
+ CardMedia,
+ Divider,
+ IconButton,
+ Box,
+} from "@mui/material";
+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";
interface TeamMember {
name: string;
@@ -19,77 +31,88 @@ const teamMembers: TeamMember[] = [
];
const OurTeam: React.FC = () => {
+ const [showTeam, setShowTeam] = useState(false);
+
return (
- setShowTeam(!showTeam)}
>
- Our Team
-
+
+ Our Team
+
+
+ {showTeam ? : }
+
+
-
- {teamMembers.map((member, index) => (
-
-
-
-
- {member.name}
-
-
- {member.role}
-
-
-
- {/* Divider Line */}
-
-
-
+
+ {teamMembers.map((member, index) => (
+
+
+ >
+
+
+ {member.name}
+
+
+ {member.role}
+
+
-
-
- ))}
-
+ {/* Divider */}
+
+
+
+
+
+ ))}
+
+
);
};
diff --git a/src/components/ourwork.tsx b/src/components/ourwork.tsx
index 3eb8ea9..9114521 100644
--- a/src/components/ourwork.tsx
+++ b/src/components/ourwork.tsx
@@ -1,9 +1,13 @@
import React from "react";
import { Box, Card, CardContent, CardMedia, Typography, Button, Grid } from "@mui/material";
-import loopgreenback from "../components/imageandgif/loopgreenbackground.png"
-import { useMediaQuery, createTheme, ThemeProvider } from "@mui/material";
-
+import { Swiper, SwiperSlide } from "swiper/react";
+import { Autoplay, Pagination } from "swiper/modules";
+import "swiper/css";
+import "swiper/css/pagination";
+import loopgreenback from "../components/imageandgif/loopgreenbackground.png";
+import { useMediaQuery, createTheme, ThemeProvider } from "@mui/material";
+// Define Data
const data = [
{ img: "https://s3-alpha-sig.figma.com/img/8e1a/c73a/f4e18134521c4a2ef1c70e0ba02fa636?Expires=1739750400&Key-Pair-Id=APKAQ4GOSFWCW27IBOMQ&Signature=iKYXVc~k5~LoiM0ep167AJSywxHpPueTEeheiHfxA-TT8SrzhLb0CZIR08zl9nMDz4gBOqlnKavcTEs~h3tu9gRAyIDMIgcFHIeFQ6IBSoeHabuJxmyP0qcdnWXNYJXze0oO8B~VDFHG0lOagJW~fnb8j8gB2W7M4oL2QPPQFsY3oFzEKW3Gydq7ijohnCXdQP5CPgJ2MPhMFQ59DDQsxv5YihKByOgVx3boAx1ABL05w25ab0DFrcPmSgx93rHzikBmmPNVoiLWW6-rYijbFaxZ~2wEbK4zwGZNtIYw~YGR9EG~h595FJDl1XeCaoMWVJFkfqqHcYDD2-1fLu3JFA__", title: "Lorem Ipsum Heading" },
{ img: "https://s3-alpha-sig.figma.com/img/7cf1/0d68/a23d760a5c95fc2a5ab5fb4e6e59deec?Expires=1739750400&Key-Pair-Id=APKAQ4GOSFWCW27IBOMQ&Signature=LJgcQKDXC323lViIWgemZBwZ2jUeEQY3t~y9XKfH3Fpg3njl0njNtFQFMCiwEjwXxS4Fl711FZGY-f-qf~m7pn60FtcOLNyigwNzabHL-a7AIg9Y0aivbsRyy-Lpe-HsV33-QpPENtci8SWvTZrOQkZ0lRIiwmybKiLv3twuexnx-jlGvUKsdKuX8WxT0jYxIfQcn93FFQaaHKyHH2ZlgwTj~~R4MJO8-K0oO-JX7EVTlLwK3V2~-WUS400GiThR4~-iqmCPVnvoUI2uHW29BpZFV48wfCcreOJVG3AKbQXlSWe23HWzprUWqiGHDlDOKlkfeJEErDMqCYvqnKPxmQ__", title: "Lorem Ipsum Heading" },
@@ -17,21 +21,15 @@ const workImages = [
"https://s3-alpha-sig.figma.com/img/2b3c/e165/b717d5a80e0f35b7422343ef37fa73eb?Expires=1739750400&Key-Pair-Id=APKAQ4GOSFWCW27IBOMQ&Signature=YgPY40uIT20P0C9JDcCBJeLLAtQU1HTvgO2EmlA3yWVHKcaOIA5UNmFYcxHF5Je5s8nRl9ReC5f2Vh5LNvAG0Q86gV6OTt3JJwgTixaR6YNFBvYeJY5qZlchheys92XgMkvDntrzWQ-dRNK72fDBbPjR8tR31XBt6lGbjoj0HySI9lKXg5x9yF0y~hqC7qtkTfwYJlHHScFXaQnbicMzKZUjTMa5BHwlmGOSG6IFHhmovKJKAZtW5BY0xWiEPXnq19XDnvSdLf3OY-tpG-itRPfA02ztThrqdBv5XWQpCQN4CWn4qNZRdnEYB8BsSKFXKVocAPnqKNziTXDDJvdVgQ__",
];
+// Theme for responsiveness
const theme = createTheme({
breakpoints: {
- values: {
- xs: 0, // Default
- sm: 600, // Tablets
- md: 1000, // Laptops
- lg: 1400, // Desktops
- xl: 1800, // Large Screens
- },
+ values: { xs: 0, sm: 600, md: 1000, lg: 1400, xl: 1800 },
},
});
const PartnerWork = () => {
const isMobile = useMediaQuery(theme.breakpoints.down("sm")); // Below 600px
- const isTablet = useMediaQuery(theme.breakpoints.down("md")); // Below 1000px
return (
@@ -45,83 +43,126 @@ const PartnerWork = () => {
backgroundRepeat: "no-repeat",
}}
>
- {/* Why Partner with Us? Section */}
+ {/* Why Partner with Us? */}
Why Partner with Us?
-
- {data.map((item, index) => (
-
-
-
-
- {item.title}
-
-
- Lorem Ipsum subheading
-
-
-
-
-
- Learn more →
-
-
-
-
- ))}
-
+
+ {/* Swiper for Mobile View */}
+ {isMobile ? (
+
+ {data.map((item, index) => (
+
+
+
+
+ {item.title}
+
+
+ Lorem Ipsum subheading
+
+
+
+
+
+ Learn more →
+
+
+
+
+ ))}
+
+ ) : (
+
+ {data.map((item, index) => (
+
+
+
+
+ {item.title}
+
+
+ Lorem Ipsum subheading
+
+
+
+
+
+ Learn more →
+
+
+
+
+ ))}
+
+ )}
{/* Our Work Section */}
Our Work
-
- {workImages.map((img, index) => (
+
+ {workImages.map((image, index) => (
))}
+
+
{/* Call to Action Section */}
diff --git a/yarn.lock b/yarn.lock
index ce74a20..e531347 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5041,6 +5041,15 @@ fraction.js@^4.3.7:
resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
+framer-motion@^12.4.2:
+ version "12.4.2"
+ resolved "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.2.tgz"
+ integrity sha512-pW307cQKjDqEuO1flEoIFf6TkuJRfKr+c7qsHAJhDo4368N/5U8/7WU8J+xhd9+gjmOgJfgp+46evxRRFM39dA==
+ dependencies:
+ motion-dom "^12.0.0"
+ motion-utils "^12.0.0"
+ tslib "^2.4.0"
+
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
@@ -6961,6 +6970,18 @@ mkdirp@~0.5.1:
dependencies:
minimist "^1.2.6"
+motion-dom@^12.0.0:
+ version "12.0.0"
+ resolved "https://registry.npmjs.org/motion-dom/-/motion-dom-12.0.0.tgz"
+ integrity sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==
+ dependencies:
+ motion-utils "^12.0.0"
+
+motion-utils@^12.0.0:
+ version "12.0.0"
+ resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz"
+ integrity sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==
+
ms@^2.1.1, ms@^2.1.3, ms@2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
@@ -9325,6 +9346,11 @@ svgo@^2.7.0:
picocolors "^1.0.0"
stable "^0.1.8"
+swiper@^11.2.2:
+ version "11.2.2"
+ resolved "https://registry.npmjs.org/swiper/-/swiper-11.2.2.tgz"
+ integrity sha512-FmAN6zACpVUbd/1prO9xQ9gKo9cc6RE2UKU/z4oXtS8fNyX4sdOW/HHT/e444WucLJs0jeMId6WjdWM2Lrs8zA==
+
symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz"
@@ -9516,7 +9542,7 @@ tslib@^1.8.1:
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.3:
+tslib@^2.0.3, tslib@^2.4.0:
version "2.8.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==