diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 86e1ae2..74413bf 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -24,21 +24,28 @@ const config: Config = { customFields: { educatesProject: { - projectGitHubUrl: "https://github.com/educates/educates-training-platform", - contributingUrl: "https://github.com/educates/educates-training-platform/blob/develop/CONTRIBUTING.md", + projectGitHubUrl: + "https://github.com/educates/educates-training-platform", + projectSlackUrl: "https://kubernetes.slack.com/archives/C05UWT4SKRV", + contributingUrl: + "https://github.com/educates/educates-training-platform/blob/develop/CONTRIBUTING.md", sponsorshipUrl: "https://github.com/sponsors/educates", + downloadsUrl: + "https://github.com/educates/educates-training-platform/releases", descriptionTitle: "Interactive Training Platform", - description: "The Educates project provides a system for hosting interactive workshop environments in Kubernetes," - + "or on top of a local container runtime. It can be used for self paced or supervised workshops." - + "It can also be useful where you need to package up demos of applications hosted in Kubernetes " - + "or a local container runtime.", + description: + "The Educates project provides a system for hosting interactive workshop environments in Kubernetes, " + + "or on top of a local container runtime. It can be used for self paced or supervised workshops. " + + "It can also be useful where you need to package up demos of applications hosted in Kubernetes " + + "or a local container runtime.", screenshot: "/img/screenshot.png", youtubeUrl: "https://www.youtube.com/@EducatesTrainingPlatform", - } + }, }, onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", + onBrokenAnchors: "warn", markdown: { mermaid: true, @@ -119,7 +126,7 @@ const config: Config = { // Replace with your project's social card image: "img/logo.svg", colorMode: { - defaultMode: 'light', + defaultMode: "light", disableSwitch: true, respectPrefersColorScheme: false, }, @@ -138,15 +145,38 @@ const config: Config = { src: "img/logo.svg", }, items: [ - { to: '/#use-cases', label: 'Use Cases', position: 'left' }, - { to: '/#features', label: 'Features', position: 'left' }, - { to: '/#team', label: 'Team', position: 'left' }, - // { to: '/#references', label: 'References', position: 'left' }, - { to: '/#pricing', label: 'Pricing', position: 'left' }, - { to: '/getting-started-guides', label: 'Getting Started', position: 'left' }, - { to: '/blog', label: 'Blog', position: 'left' }, - { href: 'https://docs.educates.dev', label: 'Docs', position: 'left' }, - { href: 'https://github.com/educates/educates-training-platform', label: 'GitHub', position: 'right' }, + { + type: "dropdown", + label: "Project", + position: "left", + items: [ + { to: "/#use-cases", label: "Use Cases" }, + { to: "/#features", label: "Features" }, + { to: "/#team", label: "Team" }, + // { to: '/#references', label: 'References', position: 'left' }, + { to: "/#pricing", label: "Pricing" }, + { to: "/#featured-content", label: "Featured Content" }, + ], + }, + { to: "/downloads", label: "Downloads", position: "left" }, + { + type: "dropdown", + label: "Guides", + position: "left", + items: [ + { to: "/getting-started-guides", label: "Getting Started" }, + { to: "/getting-started-guides/setup", label: "Setup" }, + { to: "/getting-started-guides/about", label: "About" }, + { to: "/getting-started-guides/authoring", label: "Authoring" }, + ], + }, + { to: "/blog", label: "Blog", position: "left" }, + { href: "https://docs.educates.dev", label: "Docs", position: "right" }, + { + href: "https://github.com/educates/educates-training-platform", + label: "GitHub", + position: "right", + }, // { href: '/login', label: 'Login / Sign Up', position: 'right', className: 'navbar-login-button' }, ], }, @@ -161,11 +191,13 @@ const config: Config = { { label: "Team", to: "/#team" }, // { label: "References", to: "/#references" }, { label: "Pricing", to: "/#pricing" }, + { label: "Downloads", to: "/downloads" }, ], }, { title: "Docs", items: [ + { label: "Featured Content", to: "/#featured-content" }, { label: "Blog", to: "/blog" }, { label: "Getting Started Guides", diff --git a/package-lock.json b/package-lock.json index d97963a..869ea8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", "@mdx-js/react": "^3.1.0", + "@mui/icons-material": "^7.1.0", "@mui/material": "^7.1.0", "asciinema-player": "^3.9.0", "clsx": "^2.1.1", @@ -4750,6 +4751,32 @@ "url": "https://opencollective.com/mui-org" } }, + "node_modules/@mui/icons-material": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.1.0.tgz", + "integrity": "sha512-1mUPMAZ+Qk3jfgL5ftRR06ATH/Esi0izHl1z56H+df6cwIlCWG66RXciUqeJCttbOXOQ5y2DCjLZI/4t3Yg3LA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.27.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@mui/material": "^7.1.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@mui/material": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.1.0.tgz", diff --git a/package.json b/package.json index 6f6063e..ff44f11 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", "@mdx-js/react": "^3.1.0", + "@mui/icons-material": "^7.1.0", "@mui/material": "^7.1.0", "asciinema-player": "^3.9.0", "clsx": "^2.1.1", diff --git a/src/components/Carrousel/Carrousel.tsx b/src/components/Carrousel/Carrousel.tsx new file mode 100644 index 0000000..667d401 --- /dev/null +++ b/src/components/Carrousel/Carrousel.tsx @@ -0,0 +1,122 @@ +import React, { useEffect, useState, useRef } from 'react'; +import Box from '@mui/material/Box'; +import IconButton from '@mui/material/IconButton'; +import ArrowBackIos from '@mui/icons-material/ArrowBackIos'; +import ArrowForwardIos from '@mui/icons-material/ArrowForwardIos'; +import Typography from '@mui/material/Typography'; + +export interface CarrouselItem { + image: string; + title: string; + description: string; +} + +interface CarrouselProps { + images: CarrouselItem[]; + altPrefix?: string; + imageClassName?: string; + boxSx?: object; +} + +const Carrousel: React.FC = ({ images, altPrefix = 'Carousel image', imageClassName, boxSx }) => { + const [currentImage, setCurrentImage] = useState(0); + const [paused, setPaused] = useState(false); + const intervalRef = useRef(null); + const interval = 3000; + + useEffect(() => { + if (!paused) { + intervalRef.current = setInterval(() => { + setCurrentImage((prev) => (prev + 1) % images.length); + }, interval); + } + return () => { + if (intervalRef.current) clearInterval(intervalRef.current); + }; + }, [paused, images.length]); + + const goToPrev = () => { + setCurrentImage((prev) => (prev - 1 + images.length) % images.length); + }; + const goToNext = () => { + setCurrentImage((prev) => (prev + 1) % images.length); + }; + const goToIndex = (idx: number) => setCurrentImage(idx); + + const { image, title, description } = images[currentImage]; + + return ( + setPaused(true)} + onMouseLeave={() => setPaused(false)} + > + {/* Left Arrow */} + + + + {/* Image */} + {`${altPrefix} + {/* Right Arrow */} + + + + {/* Dots - below the image */} + + {images.map((_, idx) => ( + goToIndex(idx)} + sx={{ + width: 12, + height: 12, + borderRadius: '50%', + background: idx === currentImage ? '#1976d2' : '#ccc', + cursor: 'pointer', + border: idx === currentImage ? '2px solid #1976d2' : '2px solid #ccc', + transition: 'background 0.2s, border 0.2s', + }} + /> + ))} + + {/* Title and Description below indicators */} + + + {title} + + + {description} + + + + ); +}; + +export default Carrousel; \ No newline at end of file diff --git a/src/components/ImageAndText/index.tsx b/src/components/ImageAndText/index.tsx deleted file mode 100644 index 21d28de..0000000 --- a/src/components/ImageAndText/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import clsx from "clsx"; -import styles from './styles.module.css'; -import Heading from '@theme/Heading'; - -function ImageElement({ imageUrl, imageAlt }: { imageUrl: string, imageAlt: string }): JSX.Element { - return ( -
- {imageAlt} -
- ); -} - -export const ImageAndText = (props: { title: any; imageUrl: any; imageAlt: any; children: any; gray?: boolean; imageOnTheRight?: boolean }) => { - const { - title, - imageUrl, - imageAlt, - children, - gray = false, - imageOnTheRight = false - } = props; - - // TODO: Fix that gray, would only change background color from theme slightly - // TODO: Fix that title shows on top of children - return ( -
- {!imageOnTheRight && } -
- {title} - - {children} - -
- {imageOnTheRight && } -
- ); -}; \ No newline at end of file diff --git a/src/components/Pricing/Pricing.tsx b/src/components/Pricing/Pricing.tsx deleted file mode 100644 index 1679830..0000000 --- a/src/components/Pricing/Pricing.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import { educatesProject } from '../../data/project'; -import styles from './styles.module.css'; -import Heading from '@theme/Heading'; - -const Pricing: React.FC = () => { - return ( -
- Pricing - - Just kidding! Educates is free and open-source.
- You can still make your contribution! -
-
- - {/* */} -
-
- ); -}; - -export default Pricing; \ No newline at end of file diff --git a/src/components/Pricing/styles.module.css b/src/components/Pricing/styles.module.css deleted file mode 100644 index 57e64cd..0000000 --- a/src/components/Pricing/styles.module.css +++ /dev/null @@ -1,69 +0,0 @@ -.pricingSection { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - min-height: 60vh; - width: 100%; - margin-top: 2rem; -} - -.pricingSubtitle { - font-size: 1.5rem; - /* color: #7b8190; */ - margin: 1.5rem 0 0.5rem 0; - text-align: center; - flex: 0 0 auto; - width: 50%; - max-width: 80%; -} - -.pricingButtonRow { - display: flex; - gap: 2rem; - margin-top: 2.5rem; - flex-wrap: wrap; - justify-content: center; - width: 100%; - max-width: 700px; -} - -.pricingButtonCol { - flex: 1; - min-width: 260px; -} - -.pricingButtonColCenter { - flex: 1; - min-width: 260px; - display: flex; - flex-direction: column; - justify-content: center; -} - -.pricingButton { - display: flex; - align-items: center; - gap: 0.75rem; - background: #f5f7fa; - border: none; - border-radius: 12px; - padding: 1rem 2rem; - font-size: 1.25rem; - font-weight: 500; - cursor: pointer; - margin-bottom: 1rem; - width: 100%; - justify-content: flex-start; - text-decoration: none; - color: inherit; - transition: background 0.2s; -} - -.pricingButton:hover { - background: #e9eef5; -} - -.pricingIcon { - font-size: 1.5rem; -} \ No newline at end of file diff --git a/src/components/sections/Description.tsx b/src/components/sections/Description.tsx index 6c897d7..f7baeda 100644 --- a/src/components/sections/Description.tsx +++ b/src/components/sections/Description.tsx @@ -4,7 +4,9 @@ import Container from '@mui/material/Container'; import Typography from '@mui/material/Typography'; import Grid from '@mui/material/Grid'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -// import { educatesProject } from '@site/src/data/project'; +import Carrousel from '../Carrousel/Carrousel'; +import { carouselImages } from '../../data/description'; + const Description: React.FC<{ sectionType: 'even' | 'odd' }> = ({ sectionType }) => { const { siteConfig } = useDocusaurusContext(); @@ -24,9 +26,9 @@ const Description: React.FC<{ sectionType: 'even' | 'odd' }> = ({ sectionType }) alignItems: 'center', }} > - + {/* @ts-ignore */} - + = ({ sectionType }) {/* @ts-ignore */} - - - Educates Platform - + +
diff --git a/src/components/sections/FeaturedContent.tsx b/src/components/sections/FeaturedContent.tsx index 1b88073..c284771 100644 --- a/src/components/sections/FeaturedContent.tsx +++ b/src/components/sections/FeaturedContent.tsx @@ -33,7 +33,7 @@ const FeaturedContent: React.FC = ({ sectionType, }) => { return ( - + diff --git a/src/components/sections/Pricing.tsx b/src/components/sections/Pricing.tsx index 4ab96b1..c7a410e 100644 --- a/src/components/sections/Pricing.tsx +++ b/src/components/sections/Pricing.tsx @@ -10,10 +10,9 @@ import ListItem from '@mui/material/ListItem'; import ListItemIcon from '@mui/material/ListItemIcon'; import { FaCheck } from 'react-icons/fa'; import { PricingPlan, pricingPlans, pricingTitle, pricingDescription } from '@site/src/data/pricing'; -import { educatesProject } from '@site/src/data/project'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; - -const PriceCard: React.FC = ({ name, price, features, isPopular, isOSS }) => ( +const PriceCard: React.FC = ({ name, price, features, isPopular, isOSS, githubUrl, slackUrl }) => ( = ({ name, price, features, isPopular, is {isOSS ? ( )} @@ -107,6 +109,9 @@ const PriceCard: React.FC = ({ name, price, features, isPopular, is const Pricing: React.FC<{ sectionType: 'even' | 'odd' }> = ({ sectionType }) => { + const { siteConfig } = useDocusaurusContext(); + const educatesProject = siteConfig.customFields.educatesProject; + return ( @@ -130,19 +135,23 @@ const Pricing: React.FC<{ sectionType: 'even' | 'odd' }> = ({ sectionType }) => {pricingDescription} - + {pricingPlans.map((plan, index) => ( // @ts-ignore - - + + ))} Need a custom plan?{' '} - diff --git a/src/css/custom.css b/src/css/custom.css index af356a7..c23dff4 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -27,6 +27,9 @@ --bodyFontSize: 1rem; --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem; --headerFontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + /* Custom colors */ + --color-odd: #cbe1f0; + --color-even: #fafbfc; } /* For readability concerns, you should choose a lighter palette in dark mode. */ @@ -103,11 +106,11 @@ } .section-container.section-odd { - background: #cbe1f0; + background: var(--color-odd); } .section-container.section-even { - background: white; + background: var(--color-even); } .section-content { @@ -116,6 +119,22 @@ padding: 0 1rem; } +/* Description section image style */ +.description-section-grid { + max-width: 1200px; + margin: 0 auto; +} + +.description-section-image { + width: 100%; + object-fit: contain; + border-radius: 16px; + display: block; + margin-left: auto; + margin-right: auto; + max-width: 1080px; +} + /* Extra small devices (phones, 576px and down) */ @media (max-width: 576px) { .section-content { @@ -150,6 +169,10 @@ max-width: 1140px; padding: 0 2.5rem; } + .description-section-image { + max-width: 100%; + width: 100%; + } } /* Above 1200px */ @@ -202,19 +225,18 @@ body::before { left: 0; width: 100vw; height: 7rem; /* Adjust height to cover navbar + margin */ - background: #cbe1f0; + background: var(--color-odd); z-index: 99; pointer-events: none; - opacity: 0; - transition: opacity 0.3s; -} -body.home-navbar-bg::before { opacity: 1; + transition: opacity 0.3s; } body.navbar-bg-transparent::before { opacity: 0; } +.menu__link, +.dropdown__link, .navbar__item:not(.navbar-login-button) { color: var(--headerColor) !important; background: none !important; @@ -227,6 +249,8 @@ body.navbar-bg-transparent::before { cursor: default; } +.menu__link:hover, +.dropdown__link:hover, .navbar__item:not(.navbar-login-button):hover, .navbar__item:not(.navbar-login-button):focus { color: var(--headerColor) !important; @@ -267,4 +291,4 @@ body.navbar-bg-transparent::before { } [data-theme='dark'] .MuiStack-root .MuiTypography-colorTextSecondary { color: #bfc7d5 !important; -} +} \ No newline at end of file diff --git a/src/data/description.tsx b/src/data/description.tsx new file mode 100644 index 0000000..dd7778c --- /dev/null +++ b/src/data/description.tsx @@ -0,0 +1,24 @@ +import { CarrouselItem } from '../components/Carrousel/Carrousel'; + +export const carouselImages: CarrouselItem[] = [ + { + image: '/img/description/01-dashboard-terminal.png', + title: 'Integrated Terminal', + description: 'Access a your session terminal(s) directly in your browser for exercising your training.' + }, + { + image: '/img/description/02-dashboard-console-kubernetes.png', + title: 'Kubernetes Console', + description: 'Visualize and manage your Kubernetes resources with a configurable web-based console.' + }, + { + image: '/img/description/03-dashboard-slides.png', + title: 'Interactive Slides', + description: 'Follow along with interactive slides that guide you through each step of your workshop.' + }, + { + image: '/img/description/04-dashboard-editor.png', + title: 'In-Browser Editor', + description: 'Edit code and configuration files in a full-featured and extensible editor, all within your training environment.' + }, + ]; \ No newline at end of file diff --git a/src/data/downloads.tsx b/src/data/downloads.tsx new file mode 100644 index 0000000..e2de134 --- /dev/null +++ b/src/data/downloads.tsx @@ -0,0 +1,32 @@ +import { FaApple, FaLinux } from "react-icons/fa"; + +export const downloads = [ + { + label: 'Educates Training Platform for macOS', + icon: , + amd64: { + arch: 'Intel (amd64)', + label: 'Intel (amd64)', + url: 'https://github.com/educates/educates-training-platform/releases/latest/download/educates-darwin-amd64', + }, + arm64: { + arch: 'Apple Silicon (arm64)', + label: 'Apple Silicon (arm64)', + url: 'https://github.com/educates/educates-training-platform/releases/latest/download/educates-darwin-arm64', + }, + }, + { + label: 'Educates Training Platform for Linux', + icon: , + amd64: { + arch: 'amd64', + label: 'amd64', + url: 'https://github.com/educates/educates-training-platform/releases/latest/download/educates-linux-amd64', + }, + arm64: { + arch: 'arm64', + label: 'arm64', + url: 'https://github.com/educates/educates-training-platform/releases/latest/download/educates-linux-arm64', + }, + }, +]; \ No newline at end of file diff --git a/src/data/featuredContent.tsx b/src/data/featuredContent.tsx index 3c04c4f..606fea2 100644 --- a/src/data/featuredContent.tsx +++ b/src/data/featuredContent.tsx @@ -1,26 +1,26 @@ import { FeaturedCardData } from "../components/sections/FeaturedContent"; const featuredCards: FeaturedCardData[] = [ - { - image: '/img/featured-content/cloud.jpeg', - title: 'Installing Educates on a cloud provider (Part 1)', - description: 'Learn how to use the Educates CLI to install Educates Training Platform on a Cloud Provider, and specifically Google Cloud.', - ctaLabel: 'Read blog', - ctaHref: '/blog/install-educates-cloud-cli', - }, - { - image: '/img/featured-content/cloud.jpeg', - title: 'Installing Educates on a cloud provider (Part 2)', - description: 'Verification of the installation of Educates Training Platform on a cloud provider including verification of the platform components and deploy and verify a training portal and workshop', - ctaLabel: 'Read blog', - ctaHref: '/blog/verify-educates-cloud-install', - }, - { - image: '/img/featured-content/working_locally.jpeg', - title: 'How to best work locally', - description: 'When you run Educates locally, it\'s easy to go with the defaults, just create your Educates cluster as explained in the Getting Started on Kind article. But that is not the most optimal workflow. Why?', - ctaLabel: 'Read blog', - ctaHref: '/blog/how-to-best-work-locally', - }, + { + image: '/img/featured-content/working_locally.jpeg', + title: 'How to best work locally', + description: 'When you run Educates locally, it\'s easy to go with the defaults, just create your Educates cluster as explained in the Getting Started on Kind article. But that is not the most optimal workflow. Why?', + ctaLabel: 'Read blog', + ctaHref: '/blog/how-to-best-work-locally', + }, + { + image: '/img/featured-content/cloud.jpeg', + title: 'Installing Educates on a cloud provider (Part 1)', + description: 'Learn how to use the Educates CLI to install Educates Training Platform on a Cloud Provider, and specifically Google Cloud.', + ctaLabel: 'Read blog', + ctaHref: '/blog/install-educates-cloud-cli', + }, + { + image: '/img/featured-content/cloud.jpeg', + title: 'Installing Educates on a cloud provider (Part 2)', + description: 'Verification of the installation of Educates Training Platform on a cloud provider including verification of the platform components and deploy and verify a training portal and workshop', + ctaLabel: 'Read blog', + ctaHref: '/blog/verify-educates-cloud-install', + }, ]; export default featuredCards; \ No newline at end of file diff --git a/src/data/features.tsx b/src/data/features.tsx index e5bc59a..0973a11 100644 --- a/src/data/features.tsx +++ b/src/data/features.tsx @@ -44,12 +44,12 @@ export const features: FeatureProps[] = [ }, { title: 'Developer Friendly', - description: 'The platform is designed to be developer friendly, with a focus on ease of use and customization.', + description: 'The platform is designed to be developer friendly, with a focus on ease of use and content creation.', icon: FaCode, }, { title: 'Customizable', - description: 'Customize the platform to your specific training needs and requirements.', + description: 'Provide your own theme and branding to make the platform your own.', icon: FaPencilAlt, }, { @@ -59,7 +59,7 @@ export const features: FeatureProps[] = [ }, { title: 'Open Source', - description: 'The platform is open source, so you can customize it to your specific training needs and requirements.', + description: 'The platform is Open Source and free to use and licensed under the Apache 2.0 license.', icon: FaCode, }, ]; diff --git a/src/data/project.tsx b/src/data/project.tsx deleted file mode 100644 index 2c64061..0000000 --- a/src/data/project.tsx +++ /dev/null @@ -1,23 +0,0 @@ -export type Project = { - projectGitHubUrl: string; - contributingUrl: string; - sponsorshipUrl: string; - descriptionTitle: string; - description: string; - screenshot: string; - youtubeUrl: string; -}; - -export const educatesProject: Project = -{ - projectGitHubUrl: "https://github.com/educates/educates-training-platform", - contributingUrl: "https://github.com/educates/educates-training-platform/blob/develop/CONTRIBUTING.md", - sponsorshipUrl: "https://github.com/sponsors/educates", - descriptionTitle: "Interactive Training Platform", - description: "The Educates project provides a system for hosting interactive workshop environments in Kubernetes," - + "or on top of a local container runtime. It can be used for self paced or supervised workshops." - + "It can also be useful where you need to package up demos of applications hosted in Kubernetes" - + "or a local container runtime.", - screenshot: "/img/screenshot.png", - youtubeUrl: "https://www.youtube.com/@EducatesTrainingPlatform", -}; \ No newline at end of file diff --git a/src/js/ityped.ts b/src/js/ityped.ts deleted file mode 100644 index 7d55f04..0000000 --- a/src/js/ityped.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { init } from "ityped"; - -export function initializeItyped(itypedStrings: string[]): void { - const element = document.querySelector("#ityped"); - if (element) { - init(element, { - strings: itypedStrings, - typeSpeed: 100, - backSpeed: 50, - loop: true, - }); - } -} diff --git a/src/pages/downloads.tsx b/src/pages/downloads.tsx new file mode 100644 index 0000000..b4340c0 --- /dev/null +++ b/src/pages/downloads.tsx @@ -0,0 +1,114 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import Box from '@mui/material/Box'; +import Container from '@mui/material/Container'; +import Typography from '@mui/material/Typography'; +import Grid from '@mui/material/Grid'; +import Button from '@mui/material/Button'; +import { FaDownload } from "react-icons/fa6"; +import { downloads } from '../data/downloads'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; + +const Downloads: React.FC = () => { + const { siteConfig } = useDocusaurusContext(); + const educatesProject = siteConfig.customFields.educatesProject; + + return ( + + + + + + + + Download Educates + + + Choose your platform to get started with Educates Training Platform. + + + + {downloads.map((dlPerOS) => ( + + + {dlPerOS.icon} + + {dlPerOS.label} + + {dlPerOS.amd64 && ( + + )} + {dlPerOS.arm64 && ( + + )} + + + ))} + + + + {/* @ts-ignore */} + Go to GitHub Releases to find a specific version of the Educates Training Platform. + + + + + + + + + ); +} + +export default Downloads; \ No newline at end of file diff --git a/src/pages/styles.module.css b/src/pages/styles.module.css deleted file mode 100644 index 3769cc8..0000000 --- a/src/pages/styles.module.css +++ /dev/null @@ -1,29 +0,0 @@ -.flexContainer { - display: flex; - flex-wrap: wrap; - /* justify-content: space-between; */ - align-items: center; - text-align: center; - } - - .flexItem { - flex: 1; - display: flex; - justify-content: center; - align-items: center; - padding: 20px; - } - - .centeredText { - max-width: 80%; - } - - .centeredImage { - width: 80%; - height: auto; - } - - .colmd6{ - flex: 0 0 auto; - width: 50%; - } \ No newline at end of file diff --git a/src/pages/team.md b/src/pages/team.md deleted file mode 100644 index e9f4e54..0000000 --- a/src/pages/team.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Team ---- - -This is the team \ No newline at end of file diff --git a/src/theme/Layout.js b/src/theme/Layout.js index cb53fb1..2c82fce 100644 --- a/src/theme/Layout.js +++ b/src/theme/Layout.js @@ -6,21 +6,37 @@ export default function LayoutWrapper(props) { const location = useLocation(); useEffect(() => { - // Add/remove home-navbar-bg based on current path - if (location.pathname === '/' || location.pathname === '/index.html') { - document.body.classList.add('home-navbar-bg'); + // This runs on mount, even before router is ready + if (location.pathname !== '/' && location.pathname !== '/index.html') { + document.body.classList.add('navbar-bg-transparent'); } else { - document.body.classList.remove('home-navbar-bg'); + document.body.classList.remove('navbar-bg-transparent'); } - }, [location.pathname]); + }, []); useEffect(() => { - const handleScroll = () => { - if (window.scrollY > 10) { + // Wait for DOM to be ready + setTimeout(() => { + if (location.pathname !== '/' && location.pathname !== '/index.html') { document.body.classList.add('navbar-bg-transparent'); } else { document.body.classList.remove('navbar-bg-transparent'); } + }, 0); + }, [location.pathname]); + + useEffect(() => { + const handleScroll = () => { + // Use a lower threshold on mobile + if (location.pathname === '/' || location.pathname === '/index.html') { + const isMobile = window.innerWidth <= 600; + const threshold = isMobile ? 80 : 200; + if (window.scrollY > threshold) { + document.body.classList.add('navbar-bg-transparent'); + } else { + document.body.classList.remove('navbar-bg-transparent'); + } + } }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); diff --git a/static/img/description/01-dashboard-terminal.png b/static/img/description/01-dashboard-terminal.png new file mode 100644 index 0000000..c874afe Binary files /dev/null and b/static/img/description/01-dashboard-terminal.png differ diff --git a/static/img/description/02-dashboard-console-kubernetes.png b/static/img/description/02-dashboard-console-kubernetes.png new file mode 100644 index 0000000..8f54fb9 Binary files /dev/null and b/static/img/description/02-dashboard-console-kubernetes.png differ diff --git a/static/img/description/03-dashboard-slides.png b/static/img/description/03-dashboard-slides.png new file mode 100644 index 0000000..df9712f Binary files /dev/null and b/static/img/description/03-dashboard-slides.png differ diff --git a/static/img/description/04-dashboard-editor.png b/static/img/description/04-dashboard-editor.png new file mode 100644 index 0000000..d3b3c79 Binary files /dev/null and b/static/img/description/04-dashboard-editor.png differ diff --git a/yarn.lock b/yarn.lock index acc6d83..731b148 100644 --- a/yarn.lock +++ b/yarn.lock @@ -54,6 +54,11 @@ resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.21.0.tgz" integrity sha512-iHLgDQFyZNe9M16vipbx6FGOA8NoMswHrfom/QlCGoyh7ntjGvfMb+J2Ss8rRsAlOWluv8h923Ku3QVaB0oWDQ== +"@algolia/client-common@5.23.4": + version "5.23.4" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.23.4.tgz" + integrity sha512-bsj0lwU2ytiWLtl7sPunr+oLe+0YJql9FozJln5BnIiqfKOaseSDdV42060vUy+D4373f2XBI009K/rm2IXYMA== + "@algolia/client-insights@5.21.0": version "5.21.0" resolved "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.21.0.tgz" @@ -84,6 +89,16 @@ "@algolia/requester-fetch" "5.21.0" "@algolia/requester-node-http" "5.21.0" +"@algolia/client-search@>= 4.9.1 < 6": + version "5.23.4" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.23.4.tgz" + integrity sha512-uBGo6KwUP6z+u6HZWRui8UJClS7fgUIAiYd1prUqCbkzDiCngTOzxaJbEvrdkK0hGCQtnPDiuNhC5MhtVNN4Eg== + dependencies: + "@algolia/client-common" "5.23.4" + "@algolia/requester-browser-xhr" "5.23.4" + "@algolia/requester-fetch" "5.23.4" + "@algolia/requester-node-http" "5.23.4" + "@algolia/client-search@5.21.0": version "5.21.0" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.21.0.tgz" @@ -136,6 +151,13 @@ dependencies: "@algolia/client-common" "5.21.0" +"@algolia/requester-browser-xhr@5.23.4": + version "5.23.4" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.23.4.tgz" + integrity sha512-UUuizcgc5+VSY8hqzDFVdJ3Wcto03lpbFRGPgW12pHTlUQHUTADtIpIhkLLOZRCjXmCVhtr97Z+eR6LcRYXa3Q== + dependencies: + "@algolia/client-common" "5.23.4" + "@algolia/requester-fetch@5.21.0": version "5.21.0" resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.21.0.tgz" @@ -143,6 +165,13 @@ dependencies: "@algolia/client-common" "5.21.0" +"@algolia/requester-fetch@5.23.4": + version "5.23.4" + resolved "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.23.4.tgz" + integrity sha512-UhDg6elsek6NnV5z4VG1qMwR6vbp+rTMBEnl/v4hUyXQazU+CNdYkl++cpdmLwGI/7nXc28xtZiL90Es3I7viQ== + dependencies: + "@algolia/client-common" "5.23.4" + "@algolia/requester-node-http@5.21.0": version "5.21.0" resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.21.0.tgz" @@ -150,6 +179,13 @@ dependencies: "@algolia/client-common" "5.21.0" +"@algolia/requester-node-http@5.23.4": + version "5.23.4" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.23.4.tgz" + integrity sha512-jXGzGBRUS0oywQwnaCA6mMDJO7LoC3dYSLsyNfIqxDR4SNGLhtg3je0Y31lc24OA4nYyKAYgVLtjfrpcpsWShg== + dependencies: + "@algolia/client-common" "5.23.4" + "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" @@ -185,7 +221,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/core@^7.21.3", "@babel/core@^7.25.9": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.25.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.26.10" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz" integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== @@ -1493,7 +1529,7 @@ webpack "^5.95.0" webpackbar "^6.0.1" -"@docusaurus/core@3.7.0", "@docusaurus/core@^3.7.0": +"@docusaurus/core@^3.7.0", "@docusaurus/core@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.7.0.tgz" integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== @@ -1600,7 +1636,7 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.7.0": +"@docusaurus/module-type-aliases@^3.7.0", "@docusaurus/module-type-aliases@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz" integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== @@ -1637,7 +1673,7 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.7.0": +"@docusaurus/plugin-content-docs@*", "@docusaurus/plugin-content-docs@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz" integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== @@ -1888,7 +1924,7 @@ resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.7.0.tgz" integrity sha512-vRsyj3yUZCjscgfgcFYjIsTcAru/4h4YH2/XAE8Rs7wWdnng98PgWKvP5ovVc4rmRpRg2WChVW0uOy2xHDvDBQ== -"@docusaurus/types@3.7.0", "@docusaurus/types@^3.7.0": +"@docusaurus/types@^3.7.0", "@docusaurus/types@3.7.0": version "3.7.0" resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.7.0.tgz" integrity sha512-kOmZg5RRqJfH31m+6ZpnwVbkqMJrPOG5t0IOl4i/+3ruXyNfWzZ0lVtVrD0u4ONc/0NOsS9sWYaxxWNkH1LdLQ== @@ -1996,7 +2032,7 @@ resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz" integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== -"@emotion/react@^11.14.0": +"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.14.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0": version "11.14.0" resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz" integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== @@ -2026,7 +2062,7 @@ resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz" integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== -"@emotion/styled@^11.14.0": +"@emotion/styled@^11.14.0", "@emotion/styled@^11.3.0": version "11.14.0" resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.0.tgz" integrity sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA== @@ -2202,6 +2238,13 @@ resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.1.0.tgz" integrity sha512-E0OqhZv548Qdc0PwWhLVA2zmjJZSTvaL4ZhoswmI8NJEC1tpW2js6LLP827jrW9MEiXYdz3QS6+hask83w74yQ== +"@mui/icons-material@^7.1.0": + version "7.1.0" + resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.1.0.tgz" + integrity sha512-1mUPMAZ+Qk3jfgL5ftRR06ATH/Esi0izHl1z56H+df6cwIlCWG66RXciUqeJCttbOXOQ5y2DCjLZI/4t3Yg3LA== + dependencies: + "@babel/runtime" "^7.27.1" + "@mui/material@^7.1.0": version "7.1.0" resolved "https://registry.npmjs.org/@mui/material/-/material-7.1.0.tgz" @@ -2282,7 +2325,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2426,7 +2469,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/core@8.1.0": +"@svgr/core@*", "@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== @@ -2972,7 +3015,7 @@ resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@^19.1.3": +"@types/react@*", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^19.0.0", "@types/react@^19.1.3", "@types/react@>= 16.8.0 < 20.0.0", "@types/react@>=16": version "19.1.3" resolved "https://registry.npmjs.org/@types/react/-/react-19.1.3.tgz" integrity sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ== @@ -3061,7 +3104,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": +"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3162,7 +3205,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": +"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -3212,7 +3255,7 @@ acorn-walk@^8.0.0: dependencies: acorn "^8.11.0" -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.2: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.2: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -3237,7 +3280,12 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3249,7 +3297,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3259,7 +3307,7 @@ ajv@^6.12.2, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: version "8.17.1" resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz" integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== @@ -3276,7 +3324,7 @@ algoliasearch-helper@^3.22.6: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1: +algoliasearch@^5.14.2, algoliasearch@^5.17.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": version "5.21.0" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.21.0.tgz" integrity sha512-hexLq2lSO1K5SW9j21Ubc+q9Ptx7dyRTY7se19U8lhIlVMLCNXWCyQ6C22p9ez8ccX0v7QVmwkl2l1CnuGoO2Q== @@ -3464,7 +3512,7 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -bare-events@^2.0.0, bare-events@^2.2.0: +bare-events@*, bare-events@^2.0.0, bare-events@^2.2.0: version "2.5.4" resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz" integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== @@ -3600,7 +3648,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4: +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4, "browserslist@>= 4.21.0": version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -3790,7 +3838,7 @@ chevrotain-allstar@~0.3.0: dependencies: lodash-es "^4.17.21" -chevrotain@~11.0.3: +chevrotain@^11.0.0, chevrotain@~11.0.3: version "11.0.3" resolved "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz" integrity sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw== @@ -3925,11 +3973,6 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -commander@7, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^10.0.0: version "10.0.1" resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" @@ -3945,11 +3988,21 @@ commander@^5.1.0: resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + commander@^8.3.0: version "8.3.0" resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@7: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -4355,11 +4408,18 @@ cytoscape-fcose@^2.2.0: dependencies: cose-base "^2.2.0" -cytoscape@^3.29.3: +cytoscape@^3.2.0, cytoscape@^3.29.3: version "3.32.0" resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.32.0.tgz" integrity sha512-5JHBC9n75kz5851jeklCPmZWcg3hUe6sjqJvyk3+hVqFaKcHwHgxsjeN1yLmggoUc6STbtm9/NQyabQehfjvWQ== +d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: + version "3.2.4" + resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + "d3-array@1 - 2": version "2.12.1" resolved "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz" @@ -4367,13 +4427,6 @@ cytoscape@^3.29.3: dependencies: internmap "^1.0.0" -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: - version "3.2.4" - resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" - integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== - dependencies: - internmap "1 - 2" - d3-axis@3: version "3.0.0" resolved "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz" @@ -4483,16 +4536,16 @@ d3-hierarchy@3: dependencies: d3-color "1 - 3" +d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3: + version "3.1.0" + resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + d3-path@1: version "1.0.9" resolved "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz" integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== -"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" - integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== - d3-polygon@3: version "3.0.1" resolved "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz" @@ -4540,13 +4593,6 @@ d3-scale@4: resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== -d3-shape@3: - version "3.2.0" - resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" - integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== - dependencies: - d3-path "^3.1.0" - d3-shape@^1.2.0: version "1.3.7" resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz" @@ -4554,6 +4600,13 @@ d3-shape@^1.2.0: dependencies: d3-path "1" +d3-shape@3: + version "3.2.0" + resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + "d3-time-format@2 - 4", d3-time-format@4: version "4.1.0" resolved "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz" @@ -4649,20 +4702,27 @@ debounce@^1.2.1: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.0: +debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.4.0: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.4.0, debug@4: version "4.4.0" resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + decode-named-character-reference@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz" @@ -4743,16 +4803,16 @@ delaunator@5: dependencies: robust-predicates "^3.0.2" -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5334,7 +5394,7 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@^6.2.0: +file-loader@*, file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -5491,11 +5551,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -5659,16 +5714,16 @@ got@^12.1.0: p-cancelable "^3.0.0" responselike "^3.0.0" -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" @@ -5960,6 +6015,16 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -5971,16 +6036,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.9" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz" @@ -6096,7 +6151,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6106,31 +6161,31 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + inline-style-parser@0.2.4: version "0.2.4" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz" integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== - internmap@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + interpret@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" @@ -6143,16 +6198,16 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - ipaddr.js@^2.0.1: version "2.2.0" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz" integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" @@ -6321,16 +6376,16 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -6592,7 +6647,7 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" -lodash-es@4.17.21, lodash-es@^4.17.21: +lodash-es@^4.17.21, lodash-es@4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -7387,11 +7442,6 @@ micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - "mime-db@>= 1.43.0 < 2": version "1.54.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz" @@ -7402,14 +7452,40 @@ mime-db@~1.33.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== -mime-types@2.1.18, mime-types@~2.1.17: +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@^2.1.31: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@~2.1.17, mime-types@2.1.18: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== dependencies: mime-db "~1.33.0" -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@~2.1.24: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -7449,7 +7525,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7481,16 +7557,16 @@ mrmime@^2.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz" integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== +ms@^2.1.3, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.3, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -7509,16 +7585,16 @@ napi-build-utils@^2.0.0: resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz" integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - negotiator@~0.6.4: version "0.6.4" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz" integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" @@ -7833,7 +7909,7 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-data-parser@0.1.0, path-data-parser@^0.1.0: +path-data-parser@^0.1.0, path-data-parser@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz" integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w== @@ -7873,6 +7949,13 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-to-regexp@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== + dependencies: + isarray "0.0.1" + path-to-regexp@0.1.12: version "0.1.12" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz" @@ -7883,13 +7966,6 @@ path-to-regexp@3.3.0: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz" integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== -path-to-regexp@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" - integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== - dependencies: - isarray "0.0.1" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -7942,7 +8018,7 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" -points-on-curve@0.2.0, points-on-curve@^0.2.0: +points-on-curve@^0.2.0, points-on-curve@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz" integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A== @@ -8502,7 +8578,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: +"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33, postcss@^8.4.38, postcss@^8.4.6: version "8.5.3" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== @@ -8656,16 +8732,21 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== +range-parser@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@~1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -8676,7 +8757,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@1.2.8, rc@^1.2.7: +rc@^1.2.7, rc@1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -8716,7 +8797,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^19.0.0: +react-dom@*, "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0", react-dom@^19.0.0, "react-dom@>= 16.8.0 < 20.0.0", react-dom@>=16.6.0: version "19.0.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz" integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== @@ -8776,7 +8857,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@npm:@docusaurus/react-loadable@6.0.0": +react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -8803,7 +8884,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.3.4, react-router@^5.3.4: +react-router@^5.3.4, react-router@>=5, react-router@5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -8828,7 +8909,7 @@ react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react-waypoint@^10.3.0: +react-waypoint@^10.3.0, react-waypoint@>=9.0.2: version "10.3.0" resolved "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz" integrity sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ== @@ -8838,7 +8919,7 @@ react-waypoint@^10.3.0: prop-types "^15.0.0" react-is "^17.0.1 || ^18.0.0" -react@^19.0.0: +react@*, "react@^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0", react@^19.0.0, "react@>= 16.8.0 < 20.0.0", react@>=0.14.x, react@>=15, react@>=16, react@>=16.0.0, react@>=16.6.0, react@>=16.8.0: version "19.0.0" resolved "https://registry.npmjs.org/react/-/react-19.0.0.tgz" integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ== @@ -9213,7 +9294,7 @@ rw@1: resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -9238,15 +9319,6 @@ scheduler@^0.25.0: resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz" integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" @@ -9266,6 +9338,20 @@ schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +"search-insights@>= 1 < 3": + version "2.17.3" + resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz" + integrity sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -9335,7 +9421,7 @@ seroval-plugins@^1.1.0: resolved "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.2.1.tgz" integrity sha512-H5vs53+39+x4Udwp4J5rNZfgFuA+Lt+uU+09w1gYBVWomtAl98B+E9w7yC05Xc81/HgLvJdlyqJbU0fJCKCmdw== -seroval@^1.1.0: +seroval@^1.0, seroval@^1.1.0: version "1.2.1" resolved "https://registry.npmjs.org/seroval/-/seroval-1.2.1.tgz" integrity sha512-yBxFFs3zmkvKNmR0pFSU//rIsYjuX418TnlDmc2weaq5XFDqDIV/NOMPBoLrbxjLH42p4UzRuXHryXh9dYcKcw== @@ -9410,7 +9496,7 @@ shallowequal@^1.1.0: resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@^0.32.3: +sharp@*, sharp@^0.32.3: version "0.32.6" resolved "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz" integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== @@ -9606,7 +9692,7 @@ source-map@^0.5.7: resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@~0.6.0: +source-map@^0.6.0: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -9616,6 +9702,11 @@ source-map@^0.7.0: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" @@ -9654,16 +9745,16 @@ srcset@^4.0.0: resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + std-env@^3.7.0: version "3.8.1" resolved "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz" @@ -9679,7 +9770,30 @@ streamx@^2.15.0, streamx@^2.21.0: optionalDependencies: bare-events "^2.2.0" -string-width@^4.1.0, string-width@^4.2.0: +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -9697,20 +9811,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-entities@^4.0.0: version "4.0.4" resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" @@ -9784,16 +9884,16 @@ stylehacks@^6.1.1: browserslist "^4.23.0" postcss-selector-parser "^6.0.16" -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - stylis@^4.3.6: version "4.3.6" resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz" integrity sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ== +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" @@ -10009,7 +10109,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@~5.8.2: +"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.8.2: version "5.8.2" resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz" integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== @@ -10122,7 +10222,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -10378,7 +10478,7 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.88.1, webpack@^5.95.0: +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.88.1, webpack@^5.95.0, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": version "5.98.0" resolved "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz" integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA== @@ -10421,7 +10521,7 @@ webpackbar@^6.0.1: std-env "^3.7.0" wrap-ansi "^7.0.0" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==