From 52f513556a6d7975e113a735f1d955e33a3cc250 Mon Sep 17 00:00:00 2001 From: shadowusr <58862284+shadowusr@users.noreply.github.com> Date: Sat, 15 Jun 2024 21:36:30 +0300 Subject: [PATCH] feat: implement responsive landing page (#5) * feat: implement responsive landing page --- .storybook/preview.ts | 2 +- docusaurus.config.ts | 80 ++- eslint.config.mjs | 5 + package-lock.json | 405 +++++------ package.json | 10 +- plugins/svg-fix.ts | 56 ++ src/components/AnimatedAppear/index.tsx | 35 + src/components/AnimatedPlanet/index.tsx | 2 +- src/components/DemoStats/index.tsx | 13 + src/components/FeatureBlock/index.tsx | 51 ++ src/components/FeatureCard/index.tsx | 35 + .../FeaturesDemo/AnimatedHeading.tsx | 2 +- src/components/FeaturesDemo/index.tsx | 7 +- src/components/GradientUnderline/index.tsx | 21 + src/components/LinkBadge/index.module.scss | 12 + src/components/LinkBadge/index.tsx | 26 + src/components/pages/LandingPage/index.tsx | 18 + .../sections/additional-features.tsx | 112 ++++ .../LandingPage/sections/animated-demo.tsx | 34 + .../LandingPage/sections/core-features.tsx | 97 +++ .../sections/installation-prompt.tsx | 66 ++ .../LandingPage/sections/landing-head.tsx | 71 ++ src/pages/index.module.scss | 22 + src/pages/index.tsx | 5 +- src/scss/{custom.css => custom.scss} | 29 +- src/theme/Footer/Copyright/index.tsx | 12 + src/theme/Footer/Layout/index.module.scss | 19 + src/theme/Footer/Layout/index.tsx | 72 ++ src/theme/Footer/LinkItem/index.tsx | 31 + src/theme/Footer/Links/index.tsx | 31 + src/theme/Footer/index.tsx | 25 + static/icons/arrow-link.svg | 2 +- static/icons/eye.svg | 2 +- static/icons/github.svg | 16 +- static/icons/stackoverflow.svg | 14 +- static/icons/telegram.svg | 1 + static/img/landing/arrow.svg | 5 + static/img/landing/browsers.svg | 634 ++++++++++++++++++ static/img/landing/cone.svg | 32 + static/img/landing/demo-stroke-left.svg | 3 + static/img/landing/extensibility.svg | 508 ++++++++++++++ static/img/landing/features-stroke-left.svg | 3 + static/img/landing/features-stroke-right.svg | 3 + static/img/landing/highlight-round.svg | 21 + static/img/landing/mobile-bg.svg | 248 +++++++ static/img/landing/noise.png | Bin 0 -> 145522 bytes static/img/landing/scale.svg | 175 +++++ static/img/landing/shard-multi.svg | 55 ++ static/img/landing/star-4-pink.svg | 9 + static/img/landing/star-4-sharp.svg | 44 ++ static/img/landing/star-4-violet.svg | 9 + static/img/landing/star-5.svg | 59 ++ static/img/landing/underline.svg | 9 + 53 files changed, 3003 insertions(+), 255 deletions(-) create mode 100644 plugins/svg-fix.ts create mode 100644 src/components/AnimatedAppear/index.tsx create mode 100644 src/components/DemoStats/index.tsx create mode 100644 src/components/FeatureBlock/index.tsx create mode 100644 src/components/FeatureCard/index.tsx create mode 100644 src/components/GradientUnderline/index.tsx create mode 100644 src/components/LinkBadge/index.module.scss create mode 100644 src/components/LinkBadge/index.tsx create mode 100644 src/components/pages/LandingPage/index.tsx create mode 100644 src/components/pages/LandingPage/sections/additional-features.tsx create mode 100644 src/components/pages/LandingPage/sections/animated-demo.tsx create mode 100644 src/components/pages/LandingPage/sections/core-features.tsx create mode 100644 src/components/pages/LandingPage/sections/installation-prompt.tsx create mode 100644 src/components/pages/LandingPage/sections/landing-head.tsx rename src/scss/{custom.css => custom.scss} (58%) create mode 100644 src/theme/Footer/Copyright/index.tsx create mode 100644 src/theme/Footer/Layout/index.module.scss create mode 100644 src/theme/Footer/Layout/index.tsx create mode 100644 src/theme/Footer/LinkItem/index.tsx create mode 100644 src/theme/Footer/Links/index.tsx create mode 100644 src/theme/Footer/index.tsx create mode 100644 static/icons/telegram.svg create mode 100644 static/img/landing/arrow.svg create mode 100644 static/img/landing/browsers.svg create mode 100644 static/img/landing/cone.svg create mode 100644 static/img/landing/demo-stroke-left.svg create mode 100644 static/img/landing/extensibility.svg create mode 100644 static/img/landing/features-stroke-left.svg create mode 100644 static/img/landing/features-stroke-right.svg create mode 100644 static/img/landing/highlight-round.svg create mode 100644 static/img/landing/mobile-bg.svg create mode 100644 static/img/landing/noise.png create mode 100644 static/img/landing/scale.svg create mode 100644 static/img/landing/shard-multi.svg create mode 100644 static/img/landing/star-4-pink.svg create mode 100644 static/img/landing/star-4-sharp.svg create mode 100644 static/img/landing/star-4-violet.svg create mode 100644 static/img/landing/star-5.svg create mode 100644 static/img/landing/underline.svg diff --git a/.storybook/preview.ts b/.storybook/preview.ts index beced51..31a4027 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,6 +1,6 @@ import type { Preview } from "@storybook/react"; -import "../src/scss/custom.css"; +import "../src/scss/custom.scss"; const preview: Preview = { parameters: { diff --git a/docusaurus.config.ts b/docusaurus.config.ts index cfead21..7bc6a0f 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -2,6 +2,7 @@ import { themes as prismThemes } from "prism-react-renderer"; import type { Config } from "@docusaurus/types"; import type * as Preset from "@docusaurus/preset-classic"; import { tailwindPlugin } from "./plugins/tailwind"; +import { svgFixDuplicateIdsPlugin } from "./plugins/svg-fix"; const config: Config = { title: "Testplane Docs", @@ -18,7 +19,8 @@ const config: Config = { organizationName: "gemini-testing", projectName: "testplane-docs", - onBrokenLinks: "throw", + // TODO: set to throw once we start adding actual docs pages + onBrokenLinks: "warn", onBrokenMarkdownLinks: "warn", i18n: { @@ -47,30 +49,39 @@ const config: Config = { editUrl: "https://github.com/gemini-testing/testplane-docs/tree/main/blog/", }, theme: { - customCss: "./src/scss/custom.css", + customCss: "./src/scss/custom.scss", }, } satisfies Preset.Options, ], ], themeConfig: { + colorMode: { + disableSwitch: true, + }, image: "img/docusaurus-social-card.jpg", navbar: { title: "testplane", - logo: { - alt: "Testplane Logo", - src: "img/logo.svg", - }, items: [ { type: "docSidebar", sidebarId: "mainSidebar", position: "left", - label: "Tutorial", + label: "Docs", + }, + { to: "/blog", label: "Blog", position: "left" }, + { + type: "docsVersionDropdown", + position: "right", + dropdownItemsAfter: [{ to: "/versions", label: "All versions" }], + dropdownActiveClassDisabled: true, + }, + { + type: "localeDropdown", + position: "right", }, - { to: "#", label: "Blog", position: "left" }, { - href: "https://github.com/facebook/docusaurus", + href: "https://github.com/gemini-testing/testplane", label: "GitHub", position: "right", }, @@ -80,50 +91,71 @@ const config: Config = { style: "dark", links: [ { - title: "Docs", + title: "Quickstart", items: [ { - label: "Configuration", + label: "Installation", to: "#", }, { - label: "Events", + label: "Writing your first tests", to: "#", }, { - label: "API reference", + label: "Why testplane?", to: "#", }, ], }, { - title: "Community", + title: "Core concepts", items: [ { - label: "GitHub", - href: "https://github.com/gemini-testing/testplane", + label: "Browser commands", + href: "#", }, { - label: "Stack Overflow", - href: "https://stackoverflow.com/questions/tagged/testplane", + label: "Testplane config", + href: "#", + }, + { + label: "Testplane UI", + href: "#", }, ], }, { - title: "More", + title: "Customization", items: [ { - label: "Releases", - to: "https://github.com/gemini-testing/testplane/releases", + label: "Custom commands", + href: "#", }, { - label: "Installation", + label: "Plugins and reporters", + href: "#", + }, + { + label: "Usage in CI", + href: "#", + }, + ], + }, + { + title: "Resources", + items: [ + { + label: "Docs", href: "#", }, { - label: "First tests with testplane", + label: "Blog", href: "#", }, + { + label: "Changelog", + to: "#", + }, ], }, ], @@ -135,7 +167,7 @@ const config: Config = { }, } satisfies Preset.ThemeConfig, - plugins: ["docusaurus-plugin-sass", tailwindPlugin], + plugins: ["docusaurus-plugin-sass", tailwindPlugin, svgFixDuplicateIdsPlugin], }; export default config; diff --git a/eslint.config.mjs b/eslint.config.mjs index 22dff6b..d59ec71 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -54,5 +54,10 @@ export default tseslint.config( "no-unused-vars", ]), }, + { + rules: { + "react/prop-types": 0, + }, + }, prettier, ); diff --git a/package-lock.json b/package-lock.json index b4140d7..c046be6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "name": "testplane-docs", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/preset-classic": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", "@mdx-js/react": "3.0.1", "clsx": "2.1.0", "prism-react-renderer": "2.3.1", @@ -18,9 +18,9 @@ }, "devDependencies": { "@chromatic-com/storybook": "1.2.25", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/tsconfig": "3.3.2", - "@docusaurus/types": "3.3.2", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", "@eslint/js": "8.57.0", "@storybook/addon-essentials": "8.0.5", "@storybook/addon-interactions": "8.0.5", @@ -2607,9 +2607,9 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.3.2.tgz", - "integrity": "sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", + "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2621,12 +2621,12 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/cssnano-preset": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-plugin-dynamic-import-node": "^2.3.3", @@ -2692,9 +2692,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz", - "integrity": "sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", + "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2706,9 +2706,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.3.2.tgz", - "integrity": "sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", + "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2718,13 +2718,13 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz", - "integrity": "sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", + "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2756,11 +2756,11 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz", - "integrity": "sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", + "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", "dependencies": { - "@docusaurus/types": "3.3.2", + "@docusaurus/types": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2774,17 +2774,17 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz", - "integrity": "sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", + "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -2805,18 +2805,18 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz", - "integrity": "sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", + "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2835,15 +2835,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz", - "integrity": "sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", + "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2857,13 +2857,13 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz", - "integrity": "sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", + "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2877,13 +2877,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz", - "integrity": "sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", + "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2895,13 +2895,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz", - "integrity": "sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", + "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2914,13 +2914,13 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz", - "integrity": "sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", + "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2932,16 +2932,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz", - "integrity": "sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", + "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2955,23 +2955,23 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz", - "integrity": "sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/plugin-debug": "3.3.2", - "@docusaurus/plugin-google-analytics": "3.3.2", - "@docusaurus/plugin-google-gtag": "3.3.2", - "@docusaurus/plugin-google-tag-manager": "3.3.2", - "@docusaurus/plugin-sitemap": "3.3.2", - "@docusaurus/theme-classic": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-search-algolia": "3.3.2", - "@docusaurus/types": "3.3.2" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", + "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/plugin-debug": "3.4.0", + "@docusaurus/plugin-google-analytics": "3.4.0", + "@docusaurus/plugin-google-gtag": "3.4.0", + "@docusaurus/plugin-google-tag-manager": "3.4.0", + "@docusaurus/plugin-sitemap": "3.4.0", + "@docusaurus/theme-classic": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-search-algolia": "3.4.0", + "@docusaurus/types": "3.4.0" }, "engines": { "node": ">=18.0" @@ -2982,22 +2982,22 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz", - "integrity": "sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A==", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", + "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", @@ -3021,17 +3021,17 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.3.2.tgz", - "integrity": "sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA==", - "dependencies": { - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", + "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", + "dependencies": { + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -3050,18 +3050,18 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz", - "integrity": "sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", + "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -3080,9 +3080,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz", - "integrity": "sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", + "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -3092,15 +3092,15 @@ } }, "node_modules/@docusaurus/tsconfig": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz", - "integrity": "sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz", + "integrity": "sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==", "dev": true }, "node_modules/@docusaurus/types": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz", - "integrity": "sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", + "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -3118,12 +3118,12 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.3.2.tgz", - "integrity": "sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", + "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils-common": "3.4.0", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -3140,6 +3140,7 @@ "shelljs": "^0.8.5", "tslib": "^2.6.0", "url-loader": "^4.1.1", + "utility-types": "^3.10.0", "webpack": "^5.88.1" }, "engines": { @@ -3155,9 +3156,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.3.2.tgz", - "integrity": "sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", + "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", "dependencies": { "tslib": "^2.6.0" }, @@ -3174,15 +3175,17 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz", - "integrity": "sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA==", - "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", + "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", + "lodash": "^4.17.21", "tslib": "^2.6.0" }, "engines": { @@ -7206,9 +7209,9 @@ "dev": true }, "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "dependencies": { "@types/unist": "*" } @@ -8480,9 +8483,9 @@ } }, "node_modules/algoliasearch-helper": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz", - "integrity": "sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz", + "integrity": "sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -13876,9 +13879,9 @@ } }, "node_modules/hast-util-raw": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", - "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.3.tgz", + "integrity": "sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -16352,9 +16355,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -16634,9 +16637,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", - "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -18041,9 +18044,9 @@ ] }, "node_modules/micromark-extension-mdxjs/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "bin": { "acorn": "bin/acorn" }, @@ -23038,9 +23041,9 @@ } }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/scheduler": { "version": "0.23.0", @@ -23100,9 +23103,9 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/search-insights": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", - "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", "peer": true }, "node_modules/section-matter": { @@ -23557,9 +23560,9 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", diff --git a/package.json b/package.json index 46c892d..e20e682 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "build-storybook": "storybook build" }, "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/preset-classic": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", "@mdx-js/react": "3.0.1", "clsx": "2.1.0", "prism-react-renderer": "2.3.1", @@ -23,9 +23,9 @@ }, "devDependencies": { "@chromatic-com/storybook": "1.2.25", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/tsconfig": "3.3.2", - "@docusaurus/types": "3.3.2", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", "@eslint/js": "8.57.0", "@storybook/addon-essentials": "8.0.5", "@storybook/addon-interactions": "8.0.5", diff --git a/plugins/svg-fix.ts b/plugins/svg-fix.ts new file mode 100644 index 0000000..4275865 --- /dev/null +++ b/plugins/svg-fix.ts @@ -0,0 +1,56 @@ +import path from "path"; +import { Plugin } from "@docusaurus/types"; +import { RuleSetRule } from "webpack"; +import { Config as SvgrConfig } from "@svgr/core"; + +// This plugin is used to fix duplicate IDs in svg styles. +// For more details, see: https://github.com/facebook/docusaurus/issues/8297 +export function svgFixDuplicateIdsPlugin(): Plugin { + return { + name: "svg-fix-duplicate-ids", + configureWebpack(config) { + const svgRule = config.module?.rules?.find(r => + (r as { test: RegExp }).test.test("file.svg"), + ) as RuleSetRule | undefined; + if (!svgRule) { + console.warn("Failed to apply SVG fix, could not find SVG rule in webpack config!"); + return {}; + } + const svgrLoader = svgRule.oneOf?.find( + r => + ((r as RuleSetRule).use as object[] | undefined)?.length === 1 && + ((r as RuleSetRule).use as { loader: string }[])?.[0].loader.includes( + "@svgr/webpack", + ), + ); + if (!svgrLoader) { + console.warn( + "Failed to apply SVG fix, could not find svgr loader in webpack config!", + ); + return {}; + } + + const svgoConfig = (svgrLoader.use as { options: SvgrConfig }[])[0].options.svgoConfig; + if (!svgoConfig?.plugins) { + console.warn( + "Failed to apply SVG fix, could not find svgo config in webpack config!", + ); + return {}; + } + + svgoConfig.plugins.push({ + name: "prefixIds", + params: { + delim: "_", + prefix: (element, file) => { + return path.basename(file?.path ?? "").split(".")[0]; + }, + prefixIds: true, + prefixClassNames: true, + }, + }); + + return {}; + }, + }; +} diff --git a/src/components/AnimatedAppear/index.tsx b/src/components/AnimatedAppear/index.tsx new file mode 100644 index 0000000..3a7e7e2 --- /dev/null +++ b/src/components/AnimatedAppear/index.tsx @@ -0,0 +1,35 @@ +import React from "react"; +import { animated, useInView } from "react-spring"; + +interface AnimatedAppearProps { + children: React.ReactNode; + className?: string; + onAppear?: () => void; +} + +export function AnimatedAppear(props: AnimatedAppearProps) { + const [ref, styles] = useInView( + () => ({ + from: { + opacity: 0, + y: 100, + }, + to: { + opacity: 1, + y: 0, + }, + onRest: () => { + props.onAppear?.(); + }, + }), + { + rootMargin: "100% 0% -10% 0%", + }, + ); + + return ( + + {props.children} + + ); +} diff --git a/src/components/AnimatedPlanet/index.tsx b/src/components/AnimatedPlanet/index.tsx index 858fcd8..9f3b19f 100644 --- a/src/components/AnimatedPlanet/index.tsx +++ b/src/components/AnimatedPlanet/index.tsx @@ -57,7 +57,7 @@ export function AnimatedPlanet(props: AnimatedPlanetProps) { return (
+
{props.value}
+
{props.description}
+
+ ); +} diff --git a/src/components/FeatureBlock/index.tsx b/src/components/FeatureBlock/index.tsx new file mode 100644 index 0000000..5a64e44 --- /dev/null +++ b/src/components/FeatureBlock/index.tsx @@ -0,0 +1,51 @@ +import { ReactNode } from "react"; +import clsx from "clsx"; +import TickIcon from "@site/static/icons/tick-bold.svg"; + +export enum FeatureBlockLayout { + PictureOnTheLeft, + PictureOnTheRight, +} + +interface FeatureBlockProps { + heading: ReactNode; + description: string; + items: string[]; + layout: FeatureBlockLayout; + imgSrc: string; + className?: string; +} + +export function FeatureBlock(props: FeatureBlockProps) { + return ( +
+
+
{props.heading}
+ Feature Image +
{props.description}
+
+ {props.items.map((item, index) => ( +
+ + {item} +
+ ))} +
+
+ Feature Image +
+ ); +} diff --git a/src/components/FeatureCard/index.tsx b/src/components/FeatureCard/index.tsx new file mode 100644 index 0000000..2616394 --- /dev/null +++ b/src/components/FeatureCard/index.tsx @@ -0,0 +1,35 @@ +import { ReactNode } from "react"; + +export interface FeatureCardProps { + icon: ReactNode; + heading: string; + items: string[]; + className?: string; +} + +export function FeatureCard(props: FeatureCardProps) { + return ( +
+
+
+
+ {props.icon} +
+
+
+
+ {props.heading} +
+
+
+
+
+ {props.items.map(item => ( +
+ {item} +
+ ))} +
+
+ ); +} diff --git a/src/components/FeaturesDemo/AnimatedHeading.tsx b/src/components/FeaturesDemo/AnimatedHeading.tsx index 1086c97..c7c664c 100644 --- a/src/components/FeaturesDemo/AnimatedHeading.tsx +++ b/src/components/FeaturesDemo/AnimatedHeading.tsx @@ -40,7 +40,7 @@ interface HeadingProps { children: ReactNode; } -function Heading(props: HeadingProps) { +export function Heading(props: HeadingProps) { return (
{props.children} diff --git a/src/components/FeaturesDemo/index.tsx b/src/components/FeaturesDemo/index.tsx index b39eae9..2d837d3 100644 --- a/src/components/FeaturesDemo/index.tsx +++ b/src/components/FeaturesDemo/index.tsx @@ -721,7 +721,12 @@ export function FeaturesDemo(props: { className?: string }) { ); return ( -
+
{headingMemo} {windows}
diff --git a/src/components/GradientUnderline/index.tsx b/src/components/GradientUnderline/index.tsx new file mode 100644 index 0000000..9184c3c --- /dev/null +++ b/src/components/GradientUnderline/index.tsx @@ -0,0 +1,21 @@ +import clsx from "clsx"; +import GradientUnderlineSvg from "@site/static/img/landing/underline.svg"; + +interface GradientUnderlineProps { + children?: React.ReactNode; + className?: string; +} + +export function GradientUnderline(props: GradientUnderlineProps) { + return ( + + {props.children} + + + ); +} diff --git a/src/components/LinkBadge/index.module.scss b/src/components/LinkBadge/index.module.scss new file mode 100644 index 0000000..976f265 --- /dev/null +++ b/src/components/LinkBadge/index.module.scss @@ -0,0 +1,12 @@ +.link-badge { + align-items: center; + border-width: 1px; + display: inline-flex; + max-width: 80vw; + text-wrap: nowrap; + border-radius: 100px; + + &:hover { + text-decoration: none; + } +} diff --git a/src/components/LinkBadge/index.tsx b/src/components/LinkBadge/index.tsx new file mode 100644 index 0000000..502551f --- /dev/null +++ b/src/components/LinkBadge/index.tsx @@ -0,0 +1,26 @@ +import clsx from "clsx"; +import styles from "./index.module.scss"; +import mainStyles from "@site/src/pages/index.module.scss"; +import AngleIcon from "@site/static/icons/angle.svg"; +import React from "react"; + +export function LinkBadge() { + return ( + +
+ Testplane is open source! +
+ Star on github + +
+ ); +} diff --git a/src/components/pages/LandingPage/index.tsx b/src/components/pages/LandingPage/index.tsx new file mode 100644 index 0000000..49c79ff --- /dev/null +++ b/src/components/pages/LandingPage/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import { InstallationPromptSection } from "@site/src/components/pages/LandingPage/sections/installation-prompt"; +import { AdditionalFeaturesSection } from "@site/src/components/pages/LandingPage/sections/additional-features"; +import { CoreFeaturesSection } from "@site/src/components/pages/LandingPage/sections/core-features"; +import { AnimatedDemoSection } from "@site/src/components/pages/LandingPage/sections/animated-demo"; +import { LandingHeadSection } from "@site/src/components/pages/LandingPage/sections/landing-head"; + +export const LandingPage = () => { + return ( + <> + + + + + + + ); +}; diff --git a/src/components/pages/LandingPage/sections/additional-features.tsx b/src/components/pages/LandingPage/sections/additional-features.tsx new file mode 100644 index 0000000..fa26212 --- /dev/null +++ b/src/components/pages/LandingPage/sections/additional-features.tsx @@ -0,0 +1,112 @@ +import FeaturesStrokeLeft from "@site/static/img/landing/features-stroke-left.svg"; +import FeaturesStrokeRight from "@site/static/img/landing/features-stroke-right.svg"; +import Star5 from "@site/static/img/landing/star-5.svg"; +import Star4Violet from "@site/static/img/landing/star-4-violet.svg"; +import { AnimatedAppear } from "@site/src/components/AnimatedAppear"; +import { Heading } from "@site/src/components/FeaturesDemo/AnimatedHeading"; +import { FeatureCard, FeatureCardProps } from "@site/src/components/FeatureCard"; +import React from "react"; +import EyeIcon from "@site/static/icons/eye.svg"; +import ToolsIcon from "@site/static/icons/tools.svg"; +import SpeedIcon from "@site/static/icons/speed.svg"; +import WarningIcon from "@site/static/icons/warning.svg"; +import CommunityIcon from "@site/static/icons/community.svg"; +import ChartIcon from "@site/static/icons/chart.svg"; +import clsx from "clsx"; + +export const AdditionalFeaturesSection = () => { + const FEATURE_CARDS: FeatureCardProps[] = [ + { + heading: "Vast visual testing capabilities", + icon: , + items: [ + "Visual assertions", + "UI for saving and updating screenshots", + "Multiple diff modes", + "Capture certain elements or the whole page", + ], + }, + { + heading: "Feature-rich tooling", + icon: , + items: ["Powerful html-reporter", "Responsive GUI mode", "Tests and plugin profiler"], + }, + { + heading: "Live tests editing", + icon: , + items: [ + "Get immediate feedback as you type", + "Clearly see each step", + "Works both with local browser and remote grid", + ], + }, + { + heading: "Tackle flaky tests", + icon: , + items: [ + "Auto-wait", + "Isolation via browser contexts", + "Smart retries", + "Automatic animations handling", + ], + }, + { + heading: "Growing community", + icon: , + items: [ + "Open source and free to use for everyone", + "Hundreds of closed issues on GitHub", + "Extensive guides and docs", + "Active team of maintainers", + ], + className: "hidden sm:block", + }, + { + heading: "Designed to work at any scale", + icon: , + items: [ + "Battle-tested on projects with tens of thousands of tests", + "Created with both local development and CI systems in mind", + "Independent of browser, platform, CI system", + ], + className: "hidden sm:block", + }, + ]; + + return ( +
+
+ + + + +
+
+ + +
+ Your{" "} + + all-in-one + {" "} + testing framework +
+
+
+
+ {FEATURE_CARDS.map((props, index) => ( + + + + ))} +
+
+
+ ); +}; diff --git a/src/components/pages/LandingPage/sections/animated-demo.tsx b/src/components/pages/LandingPage/sections/animated-demo.tsx new file mode 100644 index 0000000..1d97bf0 --- /dev/null +++ b/src/components/pages/LandingPage/sections/animated-demo.tsx @@ -0,0 +1,34 @@ +import clsx from "clsx"; +import styles from "@site/src/pages/index.module.scss"; +import DemoStrokeLeft from "@site/static/img/landing/demo-stroke-left.svg"; +import Star5 from "@site/static/img/landing/star-5.svg"; +import Star4Sharp from "@site/static/img/landing/star-4-sharp.svg"; +import { FeaturesDemo } from "@site/src/components/FeaturesDemo"; +import { DemoStats } from "@site/src/components/DemoStats"; +import React from "react"; +import useBaseUrl from "@docusaurus/core/lib/client/exports/useBaseUrl"; +import BrowserOnly from "@docusaurus/core/lib/client/exports/BrowserOnly"; + +export const AnimatedDemoSection = () => { + const grainyBg = `linear-gradient(41deg, rgb(227 119 252) 0%, rgb(142 78 253) 100%), url(${useBaseUrl("/img/landing/noise.png")})`; + + return ( +
+
+ + + +
+
+ + {() => } + +
+ + + +
+
+
+ ); +}; diff --git a/src/components/pages/LandingPage/sections/core-features.tsx b/src/components/pages/LandingPage/sections/core-features.tsx new file mode 100644 index 0000000..9775933 --- /dev/null +++ b/src/components/pages/LandingPage/sections/core-features.tsx @@ -0,0 +1,97 @@ +import { AnimatedAppear } from "@site/src/components/AnimatedAppear"; +import { Heading } from "@site/src/components/FeaturesDemo/AnimatedHeading"; +import { FeatureBlock, FeatureBlockLayout } from "@site/src/components/FeatureBlock"; +import { GradientUnderline } from "@site/src/components/GradientUnderline"; +import useBaseUrl from "@docusaurus/core/lib/client/exports/useBaseUrl"; +import React from "react"; + +export const CoreFeaturesSection = () => { + return ( +
+
+ + +
+ Accelerate{" "} + + everything + {" "} + with testplane +
+
+
+ + + Run your tests in any{" "} + + browser + + + } + description="Test in environment your users have, not just in the latest Chrome builds." + items={[ + "All modern browsers", + "Real Android/iOS devices", + "Smart TVs or IoT devices via Appium", + "All modern protocols", + "Independent of browser versions", + "Ancient browsers, like Internet Explorer", + ]} + layout={FeatureBlockLayout.PictureOnTheRight} + imgSrc={useBaseUrl("/img/landing/browsers.svg")} + className="py-8" + /> + + + + Run your tests reliably at any{" "} + + scale + + + } + description="Regardless of how many tests you have, testplane is a perfect fit." + items={[ + "Remote browser grid (e.g. BrowserStack)", + "Blazing-fast local execution", + "Sharding", + "Parallel execution", + "Test isolation", + ]} + layout={FeatureBlockLayout.PictureOnTheLeft} + imgSrc={useBaseUrl("/img/landing/scale.svg")} + className="py-8" + /> + + + + Customise and{" "} + + extend + {" "} + the way you want + + } + description="Thanks to testplane’s multiple extenstion points, you may adapt the framework even to the most exotic needs." + items={[ + "Rich plugin system", + "Dozens of open source plugins", + "Custom reporters", + "Custom execution logic", + "Custom commands", + ]} + layout={FeatureBlockLayout.PictureOnTheRight} + imgSrc={useBaseUrl("/img/landing/extensibility.svg")} + className="py-8" + /> + +
+
+ ); +}; diff --git a/src/components/pages/LandingPage/sections/installation-prompt.tsx b/src/components/pages/LandingPage/sections/installation-prompt.tsx new file mode 100644 index 0000000..86957e0 --- /dev/null +++ b/src/components/pages/LandingPage/sections/installation-prompt.tsx @@ -0,0 +1,66 @@ +import { AnimatedAppear } from "@site/src/components/AnimatedAppear"; +import { Heading } from "@site/src/components/FeaturesDemo/AnimatedHeading"; +import React, { useRef } from "react"; +import Typed from "typed.js"; +import useBaseUrl from "@docusaurus/core/lib/client/exports/useBaseUrl"; + +export const InstallationPromptSection = () => { + const consoleRef = useRef(null); + const hasAlreadyTyped = useRef(false); + const type = () => { + if (consoleRef.current && !hasAlreadyTyped.current) { + hasAlreadyTyped.current = true; + // eslint-disable-next-line no-new + new Typed(consoleRef.current, { + typeSpeed: 50, + cursorChar: "â–Š", + strings: ["npm init testplane"], + }); + } + }; + + return ( +
+
+ {"Star"} + Star +
+ +
+ +
+ Start using{" "} + + testplane + {" "} + in minutes +
+
+
+ Visit{" "} + + the docs + {" "} + and tinker with your first testplane test after running CLI command below. +
+
+
+ +
+
+
+
+
+ ); +}; diff --git a/src/components/pages/LandingPage/sections/landing-head.tsx b/src/components/pages/LandingPage/sections/landing-head.tsx new file mode 100644 index 0000000..53803f3 --- /dev/null +++ b/src/components/pages/LandingPage/sections/landing-head.tsx @@ -0,0 +1,71 @@ +import MobileBg from "@site/static/img/landing/mobile-bg.svg"; +import Star4Pink from "@site/static/img/landing/star-4-pink.svg"; +import Star4Violet from "@site/static/img/landing/star-4-violet.svg"; +import Cone from "@site/static/img/landing/cone.svg"; +import clsx from "clsx"; +import styles from "@site/src/pages/index.module.scss"; +import HighlightRoundSvg from "@site/static/img/landing/highlight-round.svg"; +import ArrowHandDrawn from "@site/static/img/landing/arrow.svg"; +import { AnimatedPlanet } from "@site/src/components/AnimatedPlanet"; +import React from "react"; +import { LinkBadge } from "@site/src/components/LinkBadge"; + +export const LandingHeadSection = () => { + return ( +
+ +
+
+
+ ); +}; diff --git a/src/pages/index.module.scss b/src/pages/index.module.scss index 421ce91..dc826d7 100644 --- a/src/pages/index.module.scss +++ b/src/pages/index.module.scss @@ -5,3 +5,25 @@ .main { } + +.text-glow { + text-shadow: + 0 0 10px #f3f4f6, + 0 0 10px #f3f4f6, + 0 0 10px #f3f4f6, + 0 0 10px #f3f4f6, + 0 0 10px #f3f4f6; +} + +.no-text-glow { + text-shadow: none; +} + +.box-glow { + box-shadow: 0 0 10px 10px #f3f4f6; +} + +.demo { + background-blend-mode: multiply; + background-size: cover, 150px; +} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 2e81b73..dcd23f4 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,7 +1,6 @@ import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import Layout from "@theme/Layout"; - -import styles from "./index.module.scss"; +import { LandingPage } from "@site/src/components/pages/LandingPage"; export default function Home() { const { siteConfig } = useDocusaurusContext(); @@ -11,7 +10,7 @@ export default function Home() { title={siteConfig.title} description="Testplane is a modern end-to-end testing framework" > -
Welcome to Testplane docs.
+ ); } diff --git a/src/scss/custom.css b/src/scss/custom.scss similarity index 58% rename from src/scss/custom.css rename to src/scss/custom.scss index c2e6178..883ddd4 100644 --- a/src/scss/custom.css +++ b/src/scss/custom.scss @@ -1,4 +1,3 @@ -/* This file should be .css, not .scss until https://github.com/facebook/docusaurus/issues/10106 is fixed */ @tailwind base; @tailwind components; @tailwind utilities; @@ -14,6 +13,7 @@ --ifm-color-primary-lightest: #3cad6e; --ifm-code-font-size: 95%; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --ifm-font-family-base: Jost, sans-serif; } /* Dark mode. */ @@ -27,3 +27,30 @@ --ifm-color-primary-lightest: #4fddbf; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } + +.navbar { + &.navbar--fixed-top { + backdrop-filter: blur(5px); + background-color: #ffffff60; + } + + .navbar__item { + @apply text-base font-semibold text-gray-700 hover:text-gray-500; + } + + .navbar__link { + @apply flex items-center font-medium text-gray-600 after:border-t-gray-600; + } + + .navbar__brand { + @apply flex-row-reverse font-mono text-indigo-600 hover:text-indigo-400; + } + + .navbar__brand .navbar__logo { + @apply ml-1 size-6; + } + + .navbar__toggle { + display: none; + } +} diff --git a/src/theme/Footer/Copyright/index.tsx b/src/theme/Footer/Copyright/index.tsx new file mode 100644 index 0000000..83e7f70 --- /dev/null +++ b/src/theme/Footer/Copyright/index.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import type { Props } from "@theme/Footer/Copyright"; + +export default function FooterCopyright({ copyright }: Props): JSX.Element { + return ( +
+ ); +} diff --git a/src/theme/Footer/Layout/index.module.scss b/src/theme/Footer/Layout/index.module.scss new file mode 100644 index 0000000..007ea47 --- /dev/null +++ b/src/theme/Footer/Layout/index.module.scss @@ -0,0 +1,19 @@ +.footer { + background-blend-mode: multiply; + background-size: cover, 150px; + + a { + cursor: pointer; + transition: + color 0.2s ease-in-out, + fill 0.2s ease-in-out; + &:hover { + color: rgba(255, 255, 255, 0.8); + fill: rgba(255, 255, 255, 0.8); + text-decoration: none; + } + & svg { + fill: inherit; + } + } +} diff --git a/src/theme/Footer/Layout/index.tsx b/src/theme/Footer/Layout/index.tsx new file mode 100644 index 0000000..fb2e2c4 --- /dev/null +++ b/src/theme/Footer/Layout/index.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import type { Props } from "@theme/Footer/Layout"; +import styles from "./index.module.scss"; +import ArrowLinkIcon from "@site/static/icons/arrow-link.svg"; +import GithubIcon from "@site/static/icons/github.svg"; +import StackoverflowIcon from "@site/static/icons/stackoverflow.svg"; +import TelegramIcon from "@site/static/icons/telegram.svg"; +import useBaseUrl from "@docusaurus/core/lib/client/exports/useBaseUrl"; + +export default function FooterLayout({ links, copyright }: Props): JSX.Element { + const SOCIAL_LINKS = [ + { + icon: GithubIcon, + href: "https://github.com/gemini-testing/testplane", + }, + { + icon: StackoverflowIcon, + href: "https://stackoverflow.com/questions/tagged/testplane", + }, + { + icon: TelegramIcon, + href: "https://t.me/testplane", + }, + ]; + const grainyBg = `radial-gradient(circle at center top, rgba(188, 93, 254, 1) 0%, rgba(136, 71, 254, 1) 100%), url(${useBaseUrl("/img/landing/noise.png")})`; + + return ( +
+
+
+
+
+ testplane +
+
+ Fast, scalable and robust end-to-end testing framework for the + ever-evolving web landscape. +
+ + Contact us + + +
+ {links} +
+
+
{copyright}
+
+ {SOCIAL_LINKS.map(({ icon: Icon, href }, index) => ( + + + + ))} +
+
+
+
+ ); +} diff --git a/src/theme/Footer/LinkItem/index.tsx b/src/theme/Footer/LinkItem/index.tsx new file mode 100644 index 0000000..455d389 --- /dev/null +++ b/src/theme/Footer/LinkItem/index.tsx @@ -0,0 +1,31 @@ +import React from "react"; + +import Link from "@docusaurus/Link"; +import useBaseUrl from "@docusaurus/useBaseUrl"; +import isInternalUrl from "@docusaurus/isInternalUrl"; +import IconExternalLink from "@theme/Icon/ExternalLink"; +import type { Props } from "@theme/Footer/LinkItem"; +import clsx from "clsx"; + +export function FooterLinkItem({ item, className }: Props & { className?: string }): JSX.Element { + const { to, href, label, prependBaseUrlToHref, ...props } = item; + const toUrl = useBaseUrl(to); + const normalizedHref = useBaseUrl(href, { forcePrependBaseUrl: true }); + + return ( + + {label} + {href && !isInternalUrl(href) && } + + ); +} diff --git a/src/theme/Footer/Links/index.tsx b/src/theme/Footer/Links/index.tsx new file mode 100644 index 0000000..b8e33eb --- /dev/null +++ b/src/theme/Footer/Links/index.tsx @@ -0,0 +1,31 @@ +import React, { ReactNode } from "react"; + +import { isMultiColumnFooterLinks } from "@docusaurus/theme-common"; +import type { Props } from "@theme/Footer/Links"; +import { FooterLinkItem } from "@site/src/theme/Footer/LinkItem"; + +export default function FooterLinks({ links }: Props): ReactNode { + if (!isMultiColumnFooterLinks(links)) { + console.warn("Simple links format is not supported yet!"); + return
Simple links format is not supported yet!
; + } + + return ( + <> + {links.map((column, index) => ( +
+
{column.title}
+ <> + {column.items.map((item, i) => ( + + ))} + +
+ ))} + + ); +} diff --git a/src/theme/Footer/index.tsx b/src/theme/Footer/index.tsx new file mode 100644 index 0000000..c019c54 --- /dev/null +++ b/src/theme/Footer/index.tsx @@ -0,0 +1,25 @@ +import React from "react"; + +import { useThemeConfig } from "@docusaurus/theme-common"; +import FooterLinks from "@theme/Footer/Links"; +import FooterCopyright from "@theme/Footer/Copyright"; +import FooterLayout from "@theme/Footer/Layout"; + +function Footer(): JSX.Element | null { + const { footer } = useThemeConfig(); + if (!footer) { + return null; + } + const { copyright, links, style } = footer; + + return ( + 0 && } + logo={null} + copyright={copyright && } + /> + ); +} + +export default React.memo(Footer); diff --git a/static/icons/arrow-link.svg b/static/icons/arrow-link.svg index d0f22ea..2e3d0fc 100644 --- a/static/icons/arrow-link.svg +++ b/static/icons/arrow-link.svg @@ -1,3 +1,3 @@ - + diff --git a/static/icons/eye.svg b/static/icons/eye.svg index e9a3493..717c453 100644 --- a/static/icons/eye.svg +++ b/static/icons/eye.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/static/icons/github.svg b/static/icons/github.svg index 1c0311a..fd7e55e 100644 --- a/static/icons/github.svg +++ b/static/icons/github.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/static/icons/stackoverflow.svg b/static/icons/stackoverflow.svg index 84c6284..7ad566a 100644 --- a/static/icons/stackoverflow.svg +++ b/static/icons/stackoverflow.svg @@ -1,9 +1,9 @@ - - - - - - - + + + + + + + diff --git a/static/icons/telegram.svg b/static/icons/telegram.svg new file mode 100644 index 0000000..caec2cc --- /dev/null +++ b/static/icons/telegram.svg @@ -0,0 +1 @@ + diff --git a/static/img/landing/arrow.svg b/static/img/landing/arrow.svg new file mode 100644 index 0000000..6539a82 --- /dev/null +++ b/static/img/landing/arrow.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/static/img/landing/browsers.svg b/static/img/landing/browsers.svg new file mode 100644 index 0000000..e907466 --- /dev/null +++ b/static/img/landing/browsers.svg @@ -0,0 +1,634 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/cone.svg b/static/img/landing/cone.svg new file mode 100644 index 0000000..a4a5f39 --- /dev/null +++ b/static/img/landing/cone.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/demo-stroke-left.svg b/static/img/landing/demo-stroke-left.svg new file mode 100644 index 0000000..e11a096 --- /dev/null +++ b/static/img/landing/demo-stroke-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/img/landing/extensibility.svg b/static/img/landing/extensibility.svg new file mode 100644 index 0000000..fc94597 --- /dev/null +++ b/static/img/landing/extensibility.svg @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/img/landing/features-stroke-left.svg b/static/img/landing/features-stroke-left.svg new file mode 100644 index 0000000..d791561 --- /dev/null +++ b/static/img/landing/features-stroke-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/img/landing/features-stroke-right.svg b/static/img/landing/features-stroke-right.svg new file mode 100644 index 0000000..bc4deeb --- /dev/null +++ b/static/img/landing/features-stroke-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/img/landing/highlight-round.svg b/static/img/landing/highlight-round.svg new file mode 100644 index 0000000..90a47bb --- /dev/null +++ b/static/img/landing/highlight-round.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/mobile-bg.svg b/static/img/landing/mobile-bg.svg new file mode 100644 index 0000000..1ff94c4 --- /dev/null +++ b/static/img/landing/mobile-bg.svg @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/noise.png b/static/img/landing/noise.png new file mode 100644 index 0000000000000000000000000000000000000000..1b362a6b461ddd3e210c53afc3839c958346bbb7 GIT binary patch literal 145522 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

W`8<2q6X})6;a^ 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%0D;mk9l`9x@TG6LvG$@{ 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 literal 0 HcmV?d00001 diff --git a/static/img/landing/scale.svg b/static/img/landing/scale.svg new file mode 100644 index 0000000..0d0696b --- /dev/null +++ b/static/img/landing/scale.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/img/landing/shard-multi.svg b/static/img/landing/shard-multi.svg new file mode 100644 index 0000000..9bd9cf4 --- /dev/null +++ b/static/img/landing/shard-multi.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/star-4-pink.svg b/static/img/landing/star-4-pink.svg new file mode 100644 index 0000000..8f80279 --- /dev/null +++ b/static/img/landing/star-4-pink.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/static/img/landing/star-4-sharp.svg b/static/img/landing/star-4-sharp.svg new file mode 100644 index 0000000..9c9097b --- /dev/null +++ b/static/img/landing/star-4-sharp.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/star-4-violet.svg b/static/img/landing/star-4-violet.svg new file mode 100644 index 0000000..987acb5 --- /dev/null +++ b/static/img/landing/star-4-violet.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/static/img/landing/star-5.svg b/static/img/landing/star-5.svg new file mode 100644 index 0000000..de25308 --- /dev/null +++ b/static/img/landing/star-5.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/landing/underline.svg b/static/img/landing/underline.svg new file mode 100644 index 0000000..7544661 --- /dev/null +++ b/static/img/landing/underline.svg @@ -0,0 +1,9 @@ + + + + + + + + +