diff --git a/apps/client/app/favicon.ico b/apps/client/app/favicon.ico
index 718d6fe..bbd70ee 100644
Binary files a/apps/client/app/favicon.ico and b/apps/client/app/favicon.ico differ
diff --git a/apps/client/app/globals.css b/apps/client/app/globals.css
index 875c01e..a90f074 100644
--- a/apps/client/app/globals.css
+++ b/apps/client/app/globals.css
@@ -2,32 +2,3 @@
@tailwind components;
@tailwind utilities;
-:root {
- --foreground-rgb: 0, 0, 0;
- --background-start-rgb: 214, 219, 220;
- --background-end-rgb: 255, 255, 255;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --foreground-rgb: 255, 255, 255;
- --background-start-rgb: 0, 0, 0;
- --background-end-rgb: 0, 0, 0;
- }
-}
-
-body {
- color: rgb(var(--foreground-rgb));
- background: linear-gradient(
- to bottom,
- transparent,
- rgb(var(--background-end-rgb))
- )
- rgb(var(--background-start-rgb));
-}
-
-@layer utilities {
- .text-balance {
- text-wrap: balance;
- }
-}
diff --git a/apps/client/app/layout.tsx b/apps/client/app/layout.tsx
index 3314e47..29cde25 100644
--- a/apps/client/app/layout.tsx
+++ b/apps/client/app/layout.tsx
@@ -1,12 +1,12 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
-
+import {Navbar} from "@/components/Navbar";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
+ title: "Create My API",
+ description: "Docs For Create My API.",
};
export default function RootLayout({
@@ -16,7 +16,10 @@ export default function RootLayout({
}>) {
return (
-
{children}
+
+ {/* */}
+ {children}
+
);
}
diff --git a/apps/client/app/page.tsx b/apps/client/app/page.tsx
index 5705d4e..d067790 100644
--- a/apps/client/app/page.tsx
+++ b/apps/client/app/page.tsx
@@ -1,112 +1,151 @@
+"use client";
import Image from "next/image";
+import { HeroScrollDemo } from "@/components/HeroScroll";
+import { FlipWordsDemo } from "@/components/Words";
+import Hero from "@/components/ui/Hero";
+import Particles from "react-tsparticles";
+import { loadFull } from "tsparticles";
+import { Engine } from "tsparticles-engine";
+import { useCallback } from "react";
export default function Home() {
- return (
-
-
-
- Get started by editing
- app/page.tsx
-
-
-
+ const init = useCallback(async (engine: Engine) => {
+ await loadFull(engine);
+ }, []);
-
-
+
+ {/* Radial gradient for the container to give a faded look */}
+
+
-
-
-
);
diff --git a/apps/client/components/Backgroud.tsx b/apps/client/components/Backgroud.tsx
new file mode 100644
index 0000000..5473d07
--- /dev/null
+++ b/apps/client/components/Backgroud.tsx
@@ -0,0 +1,12 @@
+import React from "react";
+
+export function GridBackgroundDemo() {
+ return (
+
+ );
+}
diff --git a/apps/client/components/HeroScroll.tsx b/apps/client/components/HeroScroll.tsx
new file mode 100644
index 0000000..795d418
--- /dev/null
+++ b/apps/client/components/HeroScroll.tsx
@@ -0,0 +1,54 @@
+"use client";
+import React from "react";
+import { ContainerScroll } from "@/components/ui/container-scroll-animation";
+import Image from "next/image";
+import test from "@/public/create-my-api-npm.png";
+import { Montserrat } from "next/font/google";
+
+const alata = Montserrat({
+ weight: "800",
+ subsets: ["latin"],
+ display: "swap",
+});
+
+export function HeroScrollDemo() {
+ return (
+
+
+
+ Unleash the power of
+
+
+ Create
+ {" "}
+
+ My
+ {" "}
+
+ API
+
+
+
+ >
+ }
+ >
+
+
+
+ );
+}
diff --git a/apps/client/components/Navbar.tsx b/apps/client/components/Navbar.tsx
new file mode 100644
index 0000000..7ac1ce2
--- /dev/null
+++ b/apps/client/components/Navbar.tsx
@@ -0,0 +1,96 @@
+'use client'
+import React, { useState } from "react";
+import Link from "next/link";
+export const Navbar = () => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ const toggleHamburger = () => {
+ setIsOpen(!isOpen);
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Contact
+
+
+
+ -
+
+
+ About us
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+
diff --git a/apps/client/components/TerminalCard.tsx b/apps/client/components/TerminalCard.tsx
new file mode 100644
index 0000000..4346617
--- /dev/null
+++ b/apps/client/components/TerminalCard.tsx
@@ -0,0 +1,28 @@
+import React from 'react'
+
+const TerminalCard = () => {
+ return (
+
+ );
+}
+
+export default TerminalCard
diff --git a/apps/client/components/Words.tsx b/apps/client/components/Words.tsx
new file mode 100644
index 0000000..1677352
--- /dev/null
+++ b/apps/client/components/Words.tsx
@@ -0,0 +1,68 @@
+import React from "react";
+import { FlipWords } from "@/components/ui/flip-words";
+import Link from "next/link";
+import Image from "next/image";
+import logo from "@/public/create-api.png";
+import { Github } from "@/utils/svg";
+import { FaNpm, FaArrowCircleRight } from "react-icons/fa";
+import { Copse, Raleway, Montserrat } from "next/font/google";
+
+const alata = Montserrat({
+ weight: "800",
+ subsets: ["latin"],
+ display: "swap",
+});
+export function FlipWordsDemo() {
+
+ const words = ["friendly", "powerful", "efficient", "reliable"];
+
+
+ return (
+
+
+
+
+
+ Build
+
+ API's with
+
+ Create
+ {" "}
+
+ My
+ {" "}
+
+ API
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+// #780500
+// #cb3805;
diff --git a/apps/client/components/ui/Hero.tsx b/apps/client/components/ui/Hero.tsx
new file mode 100644
index 0000000..87116e1
--- /dev/null
+++ b/apps/client/components/ui/Hero.tsx
@@ -0,0 +1,11 @@
+import React from 'react'
+
+const Hero = () => {
+ return (
+
+ Hero
+
+ )
+}
+
+export default Hero
diff --git a/apps/client/components/ui/container-scroll-animation.tsx b/apps/client/components/ui/container-scroll-animation.tsx
new file mode 100644
index 0000000..cf88842
--- /dev/null
+++ b/apps/client/components/ui/container-scroll-animation.tsx
@@ -0,0 +1,95 @@
+"use client";
+import React, { useRef } from "react";
+import { useScroll, useTransform, motion, MotionValue } from "framer-motion";
+
+export const ContainerScroll = ({
+ titleComponent,
+ children,
+}: {
+ titleComponent: string | React.ReactNode;
+ children: React.ReactNode;
+}) => {
+ const containerRef = useRef(null);
+ const { scrollYProgress } = useScroll({
+ target: containerRef,
+ });
+ const [isMobile, setIsMobile] = React.useState(false);
+
+ React.useEffect(() => {
+ const checkMobile = () => {
+ setIsMobile(window.innerWidth <= 768);
+ };
+ checkMobile();
+ window.addEventListener("resize", checkMobile);
+ return () => {
+ window.removeEventListener("resize", checkMobile);
+ };
+ }, []);
+
+ const scaleDimensions = () => {
+ return isMobile ? [0.7, 0.9] : [1.05, 1];
+ };
+
+ const rotate = useTransform(scrollYProgress, [0, 1], [20, 0]);
+ const scale = useTransform(scrollYProgress, [0, 1], scaleDimensions());
+ const translate = useTransform(scrollYProgress, [0, 1], [0, -100]);
+
+ return (
+
+ );
+};
+
+export const Header = ({ translate, titleComponent }: any) => {
+ return (
+
+ {titleComponent}
+
+ );
+};
+
+export const Card = ({
+ rotate,
+ scale,
+ children,
+}: {
+ rotate: MotionValue;
+ scale: MotionValue;
+ translate: MotionValue;
+ children: React.ReactNode;
+}) => {
+ return (
+
+
+ {children}
+
+
+ );
+};
diff --git a/apps/client/components/ui/flip-words.tsx b/apps/client/components/ui/flip-words.tsx
new file mode 100644
index 0000000..39026bf
--- /dev/null
+++ b/apps/client/components/ui/flip-words.tsx
@@ -0,0 +1,87 @@
+"use client";
+import React, { useEffect, useRef, useState } from "react";
+import { AnimatePresence, motion, LayoutGroup } from "framer-motion";
+import { cn } from "@/utils/cn";
+let interval: any;
+
+export const FlipWords = ({
+ words,
+ duration = 3000,
+ className,
+}: {
+ words: string[];
+ duration?: number;
+ className?: string;
+}) => {
+ const [currentWord, setCurrentWord] = useState(words[0]);
+
+ useEffect(() => {
+ startAnimation();
+
+ return () => {
+ clearInterval(interval);
+ };
+ }, []);
+
+ const startAnimation = () => {
+ let i = 0;
+ interval = setInterval(() => {
+ i++;
+ if (i === words.length) {
+ i = 0;
+ }
+ const word = words[i];
+ setCurrentWord(word);
+ }, duration);
+ };
+
+ return (
+
+
+ {currentWord.split("").map((letter, index) => (
+
+ {letter}
+
+ ))}
+
+
+ );
+};
diff --git a/apps/client/next.config.mjs b/apps/client/next.config.mjs
index 4678774..d093f64 100644
--- a/apps/client/next.config.mjs
+++ b/apps/client/next.config.mjs
@@ -1,4 +1,8 @@
/** @type {import('next').NextConfig} */
-const nextConfig = {};
+const nextConfig = {
+ images: {
+ domains: ["https://picsum.photos"],
+ },
+};
export default nextConfig;
diff --git a/apps/client/package-lock.json b/apps/client/package-lock.json
index dbc10fc..2ee3953 100644
--- a/apps/client/package-lock.json
+++ b/apps/client/package-lock.json
@@ -8,9 +8,19 @@
"name": "client",
"version": "0.1.0",
"dependencies": {
+ "@tsparticles/engine": "^3.4.0",
+ "@tsparticles/react": "^3.0.0",
+ "@tsparticles/slim": "^3.4.0",
+ "clsx": "^2.1.1",
+ "framer-motion": "^11.2.4",
+ "mini-svg-data-uri": "^1.4.4",
"next": "14.2.3",
"react": "^18",
- "react-dom": "^18"
+ "react-dom": "^18",
+ "react-icons": "^5.2.1",
+ "react-tsparticles": "^2.12.2",
+ "tailwind-merge": "^2.3.0",
+ "tsparticles": "^2.10.1"
},
"devDependencies": {
"@types/node": "^20",
@@ -34,6 +44,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@babel/runtime": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz",
+ "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==",
+ "license": "MIT",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -320,6 +342,424 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/@tabler/icons": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.4.0.tgz",
+ "integrity": "sha512-6gYHXG0xAJgt2KPcTYDqhe3xYoJMTgz/ZfYup4EUHsxzYsz6rBlt8WgavHsGaWckaqH7ApR/epYslfXZjK27yw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/codecalm"
+ }
+ },
+ "node_modules/@tabler/icons-react": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.4.0.tgz",
+ "integrity": "sha512-hwRXZ//7B3d8FSb2loMj67s8UZeneCsOCs+Acv0KllWXS15brpFjdi6ROf/Vq5+vr1brFf+xmSTiQkKlEF1Yaw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tabler/icons": "3.4.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/codecalm"
+ },
+ "peerDependencies": {
+ "react": ">= 16"
+ }
+ },
+ "node_modules/@tsparticles/basic": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-3.4.0.tgz",
+ "integrity": "sha512-a0HxG0GOhXof7NDqcqdyu9XpmCAQ0M402YECz/jsH4CkBpz3ut0BrgnyjT6Xcqna3pR1Kv1m516/sV2fwNnnQw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0",
+ "@tsparticles/move-base": "^3.4.0",
+ "@tsparticles/shape-circle": "^3.4.0",
+ "@tsparticles/updater-color": "^3.4.0",
+ "@tsparticles/updater-opacity": "^3.4.0",
+ "@tsparticles/updater-out-modes": "^3.4.0",
+ "@tsparticles/updater-size": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/engine": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.4.0.tgz",
+ "integrity": "sha512-OqoMZYJCoiihNnexnnSmInEMNXr0Z8CmE1HSiFVeifgK1qUlonTFe2G09KdvNT8ZdvmIC513yTpFJNDbnMZYRQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "hasInstallScript": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsparticles/interaction-external-attract": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-3.4.0.tgz",
+ "integrity": "sha512-6enSRkoXyK0JvW8bJuj2xAUuu9VzDiFvRCPaL+5dcLcDpjheh8nWpGzrgo8p9VxLL5VRYv7PxnYPMviBMQ7WzA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-bounce": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-3.4.0.tgz",
+ "integrity": "sha512-yiTJD8t+Uzpo9lyhHlaC+azu49dJtrFVhbVZdDaiTNm1L1stFQBrc+9NY63BfQDEkDmSz4uWvQXQMru2KY+40g==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-bubble": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-3.4.0.tgz",
+ "integrity": "sha512-CQ1nC6Or8qAAkH7A2x3FkP473caM7UWQiiN4zR4JtSZu06+2Y0V09LXguQKx1RWDehgRvkylQ4Dgur4a5qNb8w==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-connect": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-3.4.0.tgz",
+ "integrity": "sha512-UBzs0iV7wLbrL2VIuCT25asUjjXGCiVC/kCM5NtG7+gd6wDB8DbjZPjHviI7AnEnJdBPeZ2eeYIVuLiO1Xpd3A==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-grab": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-3.4.0.tgz",
+ "integrity": "sha512-BsnwN1x+nYUCD7iSu/wLX//awAka1Vf5gnynBqgmz0odAlN3Wv2i9iR/JkzDQynmGLJPHffYgkXC8LWXgZZznQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-pause": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-3.4.0.tgz",
+ "integrity": "sha512-B6xvHLLktN9BHPcIbAxc7F68aDOnieKAxPwqSuvRtQrEP0Q3xcvTkw1TBwzehr9mZH+0SVGzPfH8BMWI4EP1Xg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-push": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-3.4.0.tgz",
+ "integrity": "sha512-SriLK1X45CaLwzxjtDo5nCGtF8lwPwK5zYO6+UU+9djUzbh/dBlXQr63ovm/jYPE+yGPRxAhJLdiHpss6aaavQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-remove": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-3.4.0.tgz",
+ "integrity": "sha512-9W4v8s3J+4l9AXpAvvAMbdG0G6y0HHA+/ZmP/9CtVc1fqVDDrMHL0ojXuVlGMxVjKgwuO28x8+jOAuM7PHiSsQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-repulse": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-3.4.0.tgz",
+ "integrity": "sha512-5tM8uLGsKMUhZ2+Acy8XHrw1MN+apqNBhfVYoZ5UdH2soX1xAicSCrEpSObiS1xjCmkpRlkfls3Ygo4FHz3eSg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-external-slow": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-3.4.0.tgz",
+ "integrity": "sha512-bBlKG3VS8g64+HiDlu9RbWt/3bIepEu25w8G2zTB+GQMBqDpKsMioWWKNT66w/661U1BlvUZWHaJE/OdMCZTZw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-particles-attract": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-3.4.0.tgz",
+ "integrity": "sha512-Ye6f37AZYaMExjsZSoOEMsTSFIPs3ZZCxiQmiCeH+gNK8yGXJDLkWwZUN0S7S4GJDf24Nt4S+gunKJxO8C3qGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-particles-collisions": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-3.4.0.tgz",
+ "integrity": "sha512-JmDyXlGS6vSrUxvgMf/t6hsnsAS4YRc9rZM3CcmfyUM9UG9/+vef/cekNDSVRzszk5KcFF70w2FLJ6EhYs0ecA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/interaction-particles-links": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-3.4.0.tgz",
+ "integrity": "sha512-2UhzNsZCSF69L0PGwlJARNx3qrMdSrl5p/TgO5Q5w7iwBU1x/W27O+TDQvNdMHsOLPPUomUI+jJfRXY2snqp3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/move-base": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/move-base/-/move-base-3.4.0.tgz",
+ "integrity": "sha512-4P9CzgVN7INogAvqkg/cEA+6WKeGUAtsgljJ2rUADgNBiScW1oJZAw/004AZiOlonLRiUZujUCNS4zlAg62ZvQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/move-parallax": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/move-parallax/-/move-parallax-3.4.0.tgz",
+ "integrity": "sha512-5GdTxro5y3+GFNabaHPFuJl2zOpiyDZJ0D96QAY/sRnI5NNASj7n9QgUeViPdAsOOIgrHgIMl43MqJSUbuK4tw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/plugin-easing-quad": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-3.4.0.tgz",
+ "integrity": "sha512-JgZDeoES8ONrt+pKdDRrUkTKJRfjgRpTlLgr2KqqadI+lSOQIw/QJuXfCu25/47wJLcPUxP1melclp6X/IhNog==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/react": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/react/-/react-3.0.0.tgz",
+ "integrity": "sha512-hjGEtTT1cwv6BcjL+GcVgH++KYs52bIuQGW3PWv7z3tMa8g0bd6RI/vWSLj7p//NZ3uTjEIeilYIUPBh7Jfq/Q==",
+ "peerDependencies": {
+ "@tsparticles/engine": "^3.0.2",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-circle": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-3.4.0.tgz",
+ "integrity": "sha512-X1ynt8h7bO+xep12Vkxeo2fImbKzLMEZr0qY3vKZzhHcy0/lxoo505pwyVL2+V98eZNOu9fmQM7vlIt/0FGTcg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-emoji": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-3.4.0.tgz",
+ "integrity": "sha512-fzuRdwzikhiE7bgagNJVFccvipy7+bcG6PGvfGmJO3FQIwYSTRV2mJVsI/uPQkBUGJyzJPncp7FzEix/D3PDCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-image": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-3.4.0.tgz",
+ "integrity": "sha512-US7MYYFP0iMqWs9JiPNmqFSIxmsqkTF6gW6VvDDGtBEUxw3wubSEln3Gc3PQBpa/Tq0jwkUfd1/zkyahOrycUw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-line": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-3.4.0.tgz",
+ "integrity": "sha512-pXItuUBtIatcQQLp+CS1HZjHtpGVqswFxDaFZv0b9Ulx+7I48i4T5r6LCF2ngo+3xcT+rDdAF/Ca/oCunztBBA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-polygon": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-3.4.0.tgz",
+ "integrity": "sha512-qA7nXwWufVZLyS1CT9cFNqcjgLRQQnILc3w1gkH7B80uGYg4bLgQcOZiI7OwifOFkgyI6Mvb0XRntl+NQaDDRA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-square": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-3.4.0.tgz",
+ "integrity": "sha512-pUXAbSnW5aTMFFjAP3GHMxqbah3ADibuQcEmIgts5tNUKY8Bl0Syx5pllpe81z2AMJCsQncC15/M19DU/H+YXw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/shape-star": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-3.4.0.tgz",
+ "integrity": "sha512-Gy4FLvVh0qBTVAZbBeV3MfsofYXycxO60/5HqNePsG3+sO/o5DKGZqf/Fw1Cacrb1QYg5A59P/122MZTMnLqEA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/slim": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-3.4.0.tgz",
+ "integrity": "sha512-ukQqSdTzBlZHnD6MwRCdJBWbfgWSRNa4BG+H8IVAU5ggdQ7AbnDsdMG/o49cvstguGsKSbjmHYFNkDYGeKasuw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/basic": "^3.4.0",
+ "@tsparticles/engine": "^3.4.0",
+ "@tsparticles/interaction-external-attract": "^3.4.0",
+ "@tsparticles/interaction-external-bounce": "^3.4.0",
+ "@tsparticles/interaction-external-bubble": "^3.4.0",
+ "@tsparticles/interaction-external-connect": "^3.4.0",
+ "@tsparticles/interaction-external-grab": "^3.4.0",
+ "@tsparticles/interaction-external-pause": "^3.4.0",
+ "@tsparticles/interaction-external-push": "^3.4.0",
+ "@tsparticles/interaction-external-remove": "^3.4.0",
+ "@tsparticles/interaction-external-repulse": "^3.4.0",
+ "@tsparticles/interaction-external-slow": "^3.4.0",
+ "@tsparticles/interaction-particles-attract": "^3.4.0",
+ "@tsparticles/interaction-particles-collisions": "^3.4.0",
+ "@tsparticles/interaction-particles-links": "^3.4.0",
+ "@tsparticles/move-parallax": "^3.4.0",
+ "@tsparticles/plugin-easing-quad": "^3.4.0",
+ "@tsparticles/shape-emoji": "^3.4.0",
+ "@tsparticles/shape-image": "^3.4.0",
+ "@tsparticles/shape-line": "^3.4.0",
+ "@tsparticles/shape-polygon": "^3.4.0",
+ "@tsparticles/shape-square": "^3.4.0",
+ "@tsparticles/shape-star": "^3.4.0",
+ "@tsparticles/updater-life": "^3.4.0",
+ "@tsparticles/updater-rotate": "^3.4.0",
+ "@tsparticles/updater-stroke-color": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-color": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-color/-/updater-color-3.4.0.tgz",
+ "integrity": "sha512-joT5O/78p7n3jBq1aiFEp4wMevv8WtfjBJnODwEUO7aiHRozs9tA05djVLYZ7kjH0bLymJoPwxM46SEGSTsh+g==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-life": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-3.4.0.tgz",
+ "integrity": "sha512-bFx/3TTNNnWVmHkrfwXVlLc7R8QfbeX+KQ6dy09n+i2Vs3HnQUF7/VITjt0erNzyHfnqh+q+80gCn6X4brvwEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-opacity": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-3.4.0.tgz",
+ "integrity": "sha512-OCWbebZykDh8ZbTiTQX+pBRXHfTMMJpNXbFps4lTSHXHMDsbEMl5a3/TEFeUk3rd0wkiRSCjPUSGKupoU5B14w==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-out-modes": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-3.4.0.tgz",
+ "integrity": "sha512-i80MSXpnfivKlfA0FbAxk2CfZGNG3rPNtx5Pz/ZCDQ71j1YFjztdwfugp9oueu/sLfOSw4hIKfyR062zpgZp6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-rotate": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-3.4.0.tgz",
+ "integrity": "sha512-BKmzN8YLSUPe6OngmhmjPCBJ2RpBi88nfoNJekZnVJpbRses1pV632EaOIAEVT1xsUrwVhvsXYa9Sv5iZxfIRg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-size": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-3.4.0.tgz",
+ "integrity": "sha512-3z7INo2E7HR+ps8V490mOiLcCaFmUJFgObXBO3lF6uZ1xe6SfvVsX2r1HpQLwIpq7Ph2ZqQ4tj8tBPyKtada7g==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
+ "node_modules/@tsparticles/updater-stroke-color": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-stroke-color/-/updater-stroke-color-3.4.0.tgz",
+ "integrity": "sha512-5pe/777vPZgzlNBkh8GQ3fjT6273wcwlBeq4UkDA/q6bI867d8W+Fi8yUsqfdiS6B5tKSvVsI8rFrfwjEvW0pg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/engine": "^3.4.0"
+ }
+ },
"node_modules/@types/node": {
"version": "20.12.12",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
@@ -540,6 +980,15 @@
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
"license": "MIT"
},
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -703,6 +1152,31 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/framer-motion": {
+ "version": "11.2.4",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.2.4.tgz",
+ "integrity": "sha512-D+EXd0lspaZijv3BJhAcSsyGz+gnvoEdnf+QWkPZdhoFzbeX/2skrH9XSVFb0osgUnCajW8x1frjhLuKwa/Reg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -957,6 +1431,15 @@
"node": ">=8.6"
}
},
+ "node_modules/mini-svg-data-uri": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
+ "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
+ "license": "MIT",
+ "bin": {
+ "mini-svg-data-uri": "cli.js"
+ }
+ },
"node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -1397,6 +1880,43 @@
"react": "^18.3.1"
}
},
+ "node_modules/react-icons": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz",
+ "integrity": "sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
+ "node_modules/react-tsparticles": {
+ "version": "2.12.2",
+ "resolved": "https://registry.npmjs.org/react-tsparticles/-/react-tsparticles-2.12.2.tgz",
+ "integrity": "sha512-/nrEbyL8UROXKIMXe+f+LZN2ckvkwV2Qa+GGe/H26oEIc+wq/ybSG9REDwQiSt2OaDQGu0MwmA4BKmkL6wAWcA==",
+ "deprecated": "@tsparticles/react is the new version, please use that",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ },
+ "peerDependencies": {
+ "react": ">=16"
+ }
+ },
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -1420,6 +1940,12 @@
"node": ">=8.10.0"
}
},
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "license": "MIT"
+ },
"node_modules/resolve": {
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -1698,6 +2224,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/tailwind-merge": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.3.0.tgz",
+ "integrity": "sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.24.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
"node_modules/tailwindcss": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz",
@@ -1785,6 +2324,565 @@
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"license": "0BSD"
},
+ "node_modules/tsparticles": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-2.10.1.tgz",
+ "integrity": "sha512-MIPty6UvjRDbFBtnXjedr68WrxlCSa4XmNND7beRcqqdUb+fQKy/3u64sZ15qBQ4JVV5GcvKYijlOGbmTU3SCw==",
+ "deprecated": "tsParticles v3 is out, it contains breaking changes and it's recommended to migrate to that version with fixes and new features",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.10.1",
+ "tsparticles-interaction-external-trail": "^2.10.1",
+ "tsparticles-plugin-absorbers": "^2.10.1",
+ "tsparticles-plugin-emitters": "^2.10.1",
+ "tsparticles-slim": "^2.10.1",
+ "tsparticles-updater-destroy": "^2.10.1",
+ "tsparticles-updater-roll": "^2.10.1",
+ "tsparticles-updater-tilt": "^2.10.1",
+ "tsparticles-updater-twinkle": "^2.10.1",
+ "tsparticles-updater-wobble": "^2.10.1"
+ }
+ },
+ "node_modules/tsparticles-basic": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-basic/-/tsparticles-basic-2.12.0.tgz",
+ "integrity": "sha512-pN6FBpL0UsIUXjYbiui5+IVsbIItbQGOlwyGV55g6IYJBgdTNXgFX0HRYZGE9ZZ9psEXqzqwLM37zvWnb5AG9g==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0",
+ "tsparticles-move-base": "^2.12.0",
+ "tsparticles-shape-circle": "^2.12.0",
+ "tsparticles-updater-color": "^2.12.0",
+ "tsparticles-updater-opacity": "^2.12.0",
+ "tsparticles-updater-out-modes": "^2.12.0",
+ "tsparticles-updater-size": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-engine": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-engine/-/tsparticles-engine-2.12.0.tgz",
+ "integrity": "sha512-ZjDIYex6jBJ4iMc9+z0uPe7SgBnmb6l+EJm83MPIsOny9lPpetMsnw/8YJ3xdxn8hV+S3myTpTN1CkOVmFv0QQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "hasInstallScript": true,
+ "license": "MIT"
+ },
+ "node_modules/tsparticles-interaction-external-attract": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-attract/-/tsparticles-interaction-external-attract-2.12.0.tgz",
+ "integrity": "sha512-0roC6D1QkFqMVomcMlTaBrNVjVOpyNzxIUsjMfshk2wUZDAvTNTuWQdUpmsLS4EeSTDN3rzlGNnIuuUQqyBU5w==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-bounce": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bounce/-/tsparticles-interaction-external-bounce-2.12.0.tgz",
+ "integrity": "sha512-MMcqKLnQMJ30hubORtdq+4QMldQ3+gJu0bBYsQr9BsThsh8/V0xHc1iokZobqHYVP5tV77mbFBD8Z7iSCf0TMQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-bubble": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bubble/-/tsparticles-interaction-external-bubble-2.12.0.tgz",
+ "integrity": "sha512-5kImCSCZlLNccXOHPIi2Yn+rQWTX3sEa/xCHwXW19uHxtILVJlnAweayc8+Zgmb7mo0DscBtWVFXHPxrVPFDUA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-connect": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-connect/-/tsparticles-interaction-external-connect-2.12.0.tgz",
+ "integrity": "sha512-ymzmFPXz6AaA1LAOL5Ihuy7YSQEW8MzuSJzbd0ES13U8XjiU3HlFqlH6WGT1KvXNw6WYoqrZt0T3fKxBW3/C3A==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-grab": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-grab/-/tsparticles-interaction-external-grab-2.12.0.tgz",
+ "integrity": "sha512-iQF/A947hSfDNqAjr49PRjyQaeRkYgTYpfNmAf+EfME8RsbapeP/BSyF6mTy0UAFC0hK2A2Hwgw72eT78yhXeQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-pause": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-pause/-/tsparticles-interaction-external-pause-2.12.0.tgz",
+ "integrity": "sha512-4SUikNpsFROHnRqniL+uX2E388YTtfRWqqqZxRhY0BrijH4z04Aii3YqaGhJxfrwDKkTQlIoM2GbFT552QZWjw==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-push": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-push/-/tsparticles-interaction-external-push-2.12.0.tgz",
+ "integrity": "sha512-kqs3V0dgDKgMoeqbdg+cKH2F+DTrvfCMrPF1MCCUpBCqBiH+TRQpJNNC86EZYHfNUeeLuIM3ttWwIkk2hllR/Q==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-remove": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-remove/-/tsparticles-interaction-external-remove-2.12.0.tgz",
+ "integrity": "sha512-2eNIrv4m1WB2VfSVj46V2L/J9hNEZnMgFc+A+qmy66C8KzDN1G8aJUAf1inW8JVc0lmo5+WKhzex4X0ZSMghBg==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-repulse": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-repulse/-/tsparticles-interaction-external-repulse-2.12.0.tgz",
+ "integrity": "sha512-rSzdnmgljeBCj5FPp4AtGxOG9TmTsK3AjQW0vlyd1aG2O5kSqFjR+FuT7rfdSk9LEJGH5SjPFE6cwbuy51uEWA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-slow": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-slow/-/tsparticles-interaction-external-slow-2.12.0.tgz",
+ "integrity": "sha512-2IKdMC3om7DttqyroMtO//xNdF0NvJL/Lx7LDo08VpfTgJJozxU+JAUT8XVT7urxhaDzbxSSIROc79epESROtA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-external-trail": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-trail/-/tsparticles-interaction-external-trail-2.12.0.tgz",
+ "integrity": "sha512-LKSapU5sPTaZqYx+y5VJClj0prlV7bswplSFQaIW1raXkvsk45qir2AVcpP5JUhZSFSG+SwsHr+qCgXhNeN1KA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-particles-attract": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-attract/-/tsparticles-interaction-particles-attract-2.12.0.tgz",
+ "integrity": "sha512-Hl8qwuwF9aLq3FOkAW+Zomu7Gb8IKs6Y3tFQUQScDmrrSCaeRt2EGklAiwgxwgntmqzL7hbMWNx06CHHcUQKdQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-particles-collisions": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-collisions/-/tsparticles-interaction-particles-collisions-2.12.0.tgz",
+ "integrity": "sha512-Se9nPWlyPxdsnHgR6ap4YUImAu3W5MeGKJaQMiQpm1vW8lSMOUejI1n1ioIaQth9weKGKnD9rvcNn76sFlzGBA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-interaction-particles-links": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-links/-/tsparticles-interaction-particles-links-2.12.0.tgz",
+ "integrity": "sha512-e7I8gRs4rmKfcsHONXMkJnymRWpxHmeaJIo4g2NaDRjIgeb2AcJSWKWZvrsoLnm7zvaf/cMQlbN6vQwCixYq3A==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-move-base": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-move-base/-/tsparticles-move-base-2.12.0.tgz",
+ "integrity": "sha512-oSogCDougIImq+iRtIFJD0YFArlorSi8IW3HD2gO3USkH+aNn3ZqZNTqp321uB08K34HpS263DTbhLHa/D6BWw==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-move-parallax": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-move-parallax/-/tsparticles-move-parallax-2.12.0.tgz",
+ "integrity": "sha512-58CYXaX8Ih5rNtYhpnH0YwU4Ks7gVZMREGUJtmjhuYN+OFr9FVdF3oDIJ9N6gY5a5AnAKz8f5j5qpucoPRcYrQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-particles.js": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-particles.js/-/tsparticles-particles.js-2.12.0.tgz",
+ "integrity": "sha512-LyOuvYdhbUScmA4iDgV3LxA0HzY1DnOwQUy3NrPYO393S2YwdDjdwMod6Btq7EBUjg9FVIh+sZRizgV5elV2dg==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-plugin-absorbers": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-plugin-absorbers/-/tsparticles-plugin-absorbers-2.12.0.tgz",
+ "integrity": "sha512-2CkPreaXHrE5VzFlxUKLeRB5t66ff+3jwLJoDFgQcp+R4HOEITo0bBZv2DagGP0QZdYN4grpnQzRBVdB4d1rWA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-plugin-easing-quad": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-plugin-easing-quad/-/tsparticles-plugin-easing-quad-2.12.0.tgz",
+ "integrity": "sha512-2mNqez5pydDewMIUWaUhY5cNQ80IUOYiujwG6qx9spTq1D6EEPLbRNAEL8/ecPdn2j1Um3iWSx6lo340rPkv4Q==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-plugin-emitters": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-plugin-emitters/-/tsparticles-plugin-emitters-2.12.0.tgz",
+ "integrity": "sha512-fbskYnaXWXivBh9KFReVCfqHdhbNQSK2T+fq2qcGEWpwtDdgujcaS1k2Q/xjZnWNMfVesik4IrqspcL51gNdSA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-circle": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-circle/-/tsparticles-shape-circle-2.12.0.tgz",
+ "integrity": "sha512-L6OngbAlbadG7b783x16ns3+SZ7i0SSB66M8xGa5/k+YcY7zm8zG0uPt1Hd+xQDR2aNA3RngVM10O23/Lwk65Q==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-image": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-image/-/tsparticles-shape-image-2.12.0.tgz",
+ "integrity": "sha512-iCkSdUVa40DxhkkYjYuYHr9MJGVw+QnQuN5UC+e/yBgJQY+1tQL8UH0+YU/h0GHTzh5Sm+y+g51gOFxHt1dj7Q==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-line": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-line/-/tsparticles-shape-line-2.12.0.tgz",
+ "integrity": "sha512-RcpKmmpKlk+R8mM5wA2v64Lv1jvXtU4SrBDv3vbdRodKbKaWGGzymzav1Q0hYyDyUZgplEK/a5ZwrfrOwmgYGA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-polygon": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-polygon/-/tsparticles-shape-polygon-2.12.0.tgz",
+ "integrity": "sha512-5YEy7HVMt1Obxd/jnlsjajchAlYMr9eRZWN+lSjcFSH6Ibra7h59YuJVnwxOxAobpijGxsNiBX0PuGQnB47pmA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-square": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-square/-/tsparticles-shape-square-2.12.0.tgz",
+ "integrity": "sha512-33vfajHqmlODKaUzyPI/aVhnAOT09V7nfEPNl8DD0cfiNikEuPkbFqgJezJuE55ebtVo7BZPDA9o7GYbWxQNuw==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-star": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-star/-/tsparticles-shape-star-2.12.0.tgz",
+ "integrity": "sha512-4sfG/BBqm2qBnPLASl2L5aBfCx86cmZLXeh49Un+TIR1F5Qh4XUFsahgVOG0vkZQa+rOsZPEH04xY5feWmj90g==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-shape-text": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-shape-text/-/tsparticles-shape-text-2.12.0.tgz",
+ "integrity": "sha512-v2/FCA+hyTbDqp2ymFOe97h/NFb2eezECMrdirHWew3E3qlvj9S/xBibjbpZva2gnXcasBwxn0+LxKbgGdP0rA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-slim": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-slim/-/tsparticles-slim-2.12.0.tgz",
+ "integrity": "sha512-27w9aGAAAPKHvP4LHzWFpyqu7wKyulayyaZ/L6Tuuejy4KP4BBEB4rY5GG91yvAPsLtr6rwWAn3yS+uxnBDpkA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-basic": "^2.12.0",
+ "tsparticles-engine": "^2.12.0",
+ "tsparticles-interaction-external-attract": "^2.12.0",
+ "tsparticles-interaction-external-bounce": "^2.12.0",
+ "tsparticles-interaction-external-bubble": "^2.12.0",
+ "tsparticles-interaction-external-connect": "^2.12.0",
+ "tsparticles-interaction-external-grab": "^2.12.0",
+ "tsparticles-interaction-external-pause": "^2.12.0",
+ "tsparticles-interaction-external-push": "^2.12.0",
+ "tsparticles-interaction-external-remove": "^2.12.0",
+ "tsparticles-interaction-external-repulse": "^2.12.0",
+ "tsparticles-interaction-external-slow": "^2.12.0",
+ "tsparticles-interaction-particles-attract": "^2.12.0",
+ "tsparticles-interaction-particles-collisions": "^2.12.0",
+ "tsparticles-interaction-particles-links": "^2.12.0",
+ "tsparticles-move-base": "^2.12.0",
+ "tsparticles-move-parallax": "^2.12.0",
+ "tsparticles-particles.js": "^2.12.0",
+ "tsparticles-plugin-easing-quad": "^2.12.0",
+ "tsparticles-shape-circle": "^2.12.0",
+ "tsparticles-shape-image": "^2.12.0",
+ "tsparticles-shape-line": "^2.12.0",
+ "tsparticles-shape-polygon": "^2.12.0",
+ "tsparticles-shape-square": "^2.12.0",
+ "tsparticles-shape-star": "^2.12.0",
+ "tsparticles-shape-text": "^2.12.0",
+ "tsparticles-updater-color": "^2.12.0",
+ "tsparticles-updater-life": "^2.12.0",
+ "tsparticles-updater-opacity": "^2.12.0",
+ "tsparticles-updater-out-modes": "^2.12.0",
+ "tsparticles-updater-rotate": "^2.12.0",
+ "tsparticles-updater-size": "^2.12.0",
+ "tsparticles-updater-stroke-color": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-color": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-color/-/tsparticles-updater-color-2.12.0.tgz",
+ "integrity": "sha512-KcG3a8zd0f8CTiOrylXGChBrjhKcchvDJjx9sp5qpwQK61JlNojNCU35xoaSk2eEHeOvFjh0o3CXWUmYPUcBTQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-destroy": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-destroy/-/tsparticles-updater-destroy-2.12.0.tgz",
+ "integrity": "sha512-6NN3dJhxACvzbIGL4dADbYQSZJmdHfwjujj1uvnxdMbb2x8C/AZzGxiN33smo4jkrZ5VLEWZWCJPJ8aOKjQ2Sg==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-life": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-life/-/tsparticles-updater-life-2.12.0.tgz",
+ "integrity": "sha512-J7RWGHAZkowBHpcLpmjKsxwnZZJ94oGEL2w+wvW1/+ZLmAiFFF6UgU0rHMC5CbHJT4IPx9cbkYMEHsBkcRJ0Bw==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-opacity": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-opacity/-/tsparticles-updater-opacity-2.12.0.tgz",
+ "integrity": "sha512-YUjMsgHdaYi4HN89LLogboYcCi1o9VGo21upoqxq19yRy0hRCtx2NhH22iHF/i5WrX6jqshN0iuiiNefC53CsA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-out-modes": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-out-modes/-/tsparticles-updater-out-modes-2.12.0.tgz",
+ "integrity": "sha512-owBp4Gk0JNlSrmp12XVEeBroDhLZU+Uq3szbWlHGSfcR88W4c/0bt0FiH5bHUqORIkw+m8O56hCjbqwj69kpOQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-roll": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-roll/-/tsparticles-updater-roll-2.12.0.tgz",
+ "integrity": "sha512-dxoxY5jP4C9x15BxlUv5/Q8OjUPBiE09ToXRyBxea9aEJ7/iMw6odvi1HuT0H1vTIfV7o1MYawjeCbMycvODKQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-rotate": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-rotate/-/tsparticles-updater-rotate-2.12.0.tgz",
+ "integrity": "sha512-waOFlGFmEZOzsQg4C4VSejNVXGf4dMf3fsnQrEROASGf1FCd8B6WcZau7JtXSTFw0OUGuk8UGz36ETWN72DkCw==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-size": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-size/-/tsparticles-updater-size-2.12.0.tgz",
+ "integrity": "sha512-B0yRdEDd/qZXCGDL/ussHfx5YJ9UhTqNvmS5X2rR2hiZhBAE2fmsXLeWkdtF2QusjPeEqFDxrkGiLOsh6poqRA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-stroke-color": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-stroke-color/-/tsparticles-updater-stroke-color-2.12.0.tgz",
+ "integrity": "sha512-MPou1ZDxsuVq6SN1fbX+aI5yrs6FyP2iPCqqttpNbWyL+R6fik1rL0ab/x02B57liDXqGKYomIbBQVP3zUTW1A==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-tilt": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-tilt/-/tsparticles-updater-tilt-2.12.0.tgz",
+ "integrity": "sha512-HDEFLXazE+Zw+kkKKAiv0Fs9D9sRP61DoCR6jZ36ipea6OBgY7V1Tifz2TSR1zoQkk57ER9+EOQbkSQO+YIPGQ==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-twinkle": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-twinkle/-/tsparticles-updater-twinkle-2.12.0.tgz",
+ "integrity": "sha512-JhK/DO4kTx7IFwMBP2EQY9hBaVVvFnGBvX21SQWcjkymmN1hZ+NdcgUtR9jr4jUiiSNdSl7INaBuGloVjWvOgA==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
+ "node_modules/tsparticles-updater-wobble": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/tsparticles-updater-wobble/-/tsparticles-updater-wobble-2.12.0.tgz",
+ "integrity": "sha512-85FIRl95ipD3jfIsQdDzcUC5PRMWIrCYqBq69nIy9P8rsNzygn+JK2n+P1VQZowWsZvk0mYjqb9OVQB21Lhf6Q==",
+ "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
+ "license": "MIT",
+ "dependencies": {
+ "tsparticles-engine": "^2.12.0"
+ }
+ },
"node_modules/typescript": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
diff --git a/apps/client/package.json b/apps/client/package.json
index 7a152f9..d87b379 100644
--- a/apps/client/package.json
+++ b/apps/client/package.json
@@ -9,16 +9,26 @@
"lint": "next lint"
},
"dependencies": {
+ "@tsparticles/engine": "^3.4.0",
+ "@tsparticles/react": "^3.0.0",
+ "@tsparticles/slim": "^3.4.0",
+ "clsx": "^2.1.1",
+ "framer-motion": "^11.2.4",
+ "mini-svg-data-uri": "^1.4.4",
+ "next": "14.2.3",
"react": "^18",
"react-dom": "^18",
- "next": "14.2.3"
+ "react-icons": "^5.2.1",
+ "react-tsparticles": "^2.12.2",
+ "tailwind-merge": "^2.3.0",
+ "tsparticles": "^2.10.1"
},
"devDependencies": {
- "typescript": "^5",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"postcss": "^8",
- "tailwindcss": "^3.4.1"
+ "tailwindcss": "^3.4.1",
+ "typescript": "^5"
}
-}
+}
diff --git a/apps/client/public/Web-RTC-Diagram.png b/apps/client/public/Web-RTC-Diagram.png
new file mode 100644
index 0000000..7cbad23
Binary files /dev/null and b/apps/client/public/Web-RTC-Diagram.png differ
diff --git a/apps/client/public/create-api.png b/apps/client/public/create-api.png
new file mode 100644
index 0000000..328a884
Binary files /dev/null and b/apps/client/public/create-api.png differ
diff --git a/apps/client/public/create-my-api-npm.png b/apps/client/public/create-my-api-npm.png
new file mode 100644
index 0000000..00b6fa9
Binary files /dev/null and b/apps/client/public/create-my-api-npm.png differ
diff --git a/apps/client/public/next.svg b/apps/client/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/apps/client/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/client/public/npm-api.png b/apps/client/public/npm-api.png
new file mode 100644
index 0000000..f12301f
Binary files /dev/null and b/apps/client/public/npm-api.png differ
diff --git a/apps/client/public/npm.svg b/apps/client/public/npm.svg
new file mode 100644
index 0000000..60c43d2
--- /dev/null
+++ b/apps/client/public/npm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/client/tailwind.config.ts b/apps/client/tailwind.config.ts
index 7e4bd91..e8b15e3 100644
--- a/apps/client/tailwind.config.ts
+++ b/apps/client/tailwind.config.ts
@@ -1,5 +1,19 @@
import type { Config } from "tailwindcss";
+const {
+ default: flattenColorPalette,
+} = require("tailwindcss/lib/util/flattenColorPalette");
+
+
+
+const svgToDataUri = require("mini-svg-data-uri");
+
+const colors = require("tailwindcss/colors");
+
+
+
+
+
const config: Config = {
content: [
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
@@ -8,13 +22,75 @@ const config: Config = {
],
theme: {
extend: {
+ colors: {
+ npmD: "#780500",
+ npmE: "#f68857",
+ },
backgroundImage: {
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
"gradient-conic":
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
},
+
+ keyframes: {
+ float: {
+ "0%": { transform: "translateY(0)" },
+ "25%": { transform: "translateY(-5px)" },
+ "50%": { transform: "translateY(-10px)" },
+ "75%": { transform: "translateY(-5px)" },
+ "100%": { transform: "translateY(0)" },
+ },
+ },
+ animation: {
+ float: "float 4s ease-in-out infinite",
+ },
},
},
- plugins: [],
+ plugins: [
+ addVariablesForColors,
+ function ({ matchUtilities, theme }: any) {
+ matchUtilities(
+ {
+ "bg-grid": (value: any) => ({
+ backgroundImage: `url("${svgToDataUri(
+ ``,
+ )}")`,
+ }),
+ "bg-grid-small": (value: any) => ({
+ backgroundImage: `url("${svgToDataUri(
+ ``,
+ )}")`,
+ }),
+ "bg-dot": (value: any) => ({
+ backgroundImage: `url("${svgToDataUri(
+ ``,
+ )}")`,
+ }),
+ },
+ {
+ values: flattenColorPalette(theme("backgroundColor")),
+ type: "color",
+ },
+ );
+ },
+ ],
};
+
+
+
+function addVariablesForColors({ addBase, theme }: any) {
+ let allColors = flattenColorPalette(theme("colors"));
+ let newVars = Object.fromEntries(
+ Object.entries(allColors).map(([key, val]) => [`--${key}`, val]),
+ );
+
+ addBase({
+ ":root": newVars,
+ });
+}
+
+
+
+
+
export default config;
diff --git a/apps/client/utils/cn.ts b/apps/client/utils/cn.ts
new file mode 100644
index 0000000..3ab8fcd
--- /dev/null
+++ b/apps/client/utils/cn.ts
@@ -0,0 +1,6 @@
+import { ClassValue, clsx } from "clsx";
+import { twMerge } from "tailwind-merge";
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
diff --git a/apps/client/utils/particlesjs-config.ts b/apps/client/utils/particlesjs-config.ts
new file mode 100644
index 0000000..74cca69
--- /dev/null
+++ b/apps/client/utils/particlesjs-config.ts
@@ -0,0 +1,110 @@
+export const data = {
+ "particles": {
+ "number": {
+ "value": 160,
+ "density": {
+ "enable": true,
+ "value_area": 800
+ }
+ },
+ "color": {
+ "value": "#ffffff"
+ },
+ "shape": {
+ "type": "circle",
+ "stroke": {
+ "width": 0,
+ "color": "#000000"
+ },
+ "polygon": {
+ "nb_sides": 5
+ },
+ "image": {
+ "src": "img/github.svg",
+ "width": 100,
+ "height": 100
+ }
+ },
+ "opacity": {
+ "value": 1,
+ "random": true,
+ "anim": {
+ "enable": true,
+ "speed": 1,
+ "opacity_min": 0,
+ "sync": false
+ }
+ },
+ "size": {
+ "value": 3,
+ "random": true,
+ "anim": {
+ "enable": false,
+ "speed": 4,
+ "size_min": 0.3,
+ "sync": false
+ }
+ },
+ "line_linked": {
+ "enable": false,
+ "distance": 150,
+ "color": "#ffffff",
+ "opacity": 0.4,
+ "width": 1
+ },
+ "move": {
+ "enable": true,
+ "speed": 1,
+ "direction": "none",
+ "random": true,
+ "straight": false,
+ "out_mode": "out",
+ "bounce": false,
+ "attract": {
+ "enable": false,
+ "rotateX": 600,
+ "rotateY": 600
+ }
+ }
+ },
+ "interactivity": {
+ "detect_on": "canvas",
+ "events": {
+ "onhover": {
+ "enable": true,
+ "mode": "bubble"
+ },
+ "onclick": {
+ "enable": true,
+ "mode": "repulse"
+ },
+ "resize": true
+ },
+ "modes": {
+ "grab": {
+ "distance": 400,
+ "line_linked": {
+ "opacity": 1
+ }
+ },
+ "bubble": {
+ "distance": 250,
+ "size": 0,
+ "duration": 2,
+ "opacity": 0,
+ "speed": 3
+ },
+ "repulse": {
+ "distance": 400,
+ "duration": 0.4
+ },
+ "push": {
+ "particles_nb": 4
+ },
+ "remove": {
+ "particles_nb": 2
+ }
+ }
+ },
+ "retina_detect": true
+}
\ No newline at end of file
diff --git a/apps/client/utils/svg.tsx b/apps/client/utils/svg.tsx
new file mode 100644
index 0000000..d1a259b
--- /dev/null
+++ b/apps/client/utils/svg.tsx
@@ -0,0 +1,15 @@
+export const Github = ()=>{
+ return (
+
+ );
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 561a459..cbddc8a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "create-my-api",
- "version": "1.0.11",
+ "version": "1.0.12",
"description": "Welcome to the CLI For Build API",
"main": "index.js",
"bin": {