@seqera/docusaurus-theme-seqera 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/package.json +66 -0
- package/src/getSwizzleConfig.ts +433 -0
- package/src/index.ts +154 -0
- package/src/inlineScripts.ts +95 -0
- package/src/inlineSvgSprites.ts +7 -0
- package/src/main-styles.css +322 -0
- package/src/nprogress.css +36 -0
- package/src/nprogress.ts +27 -0
- package/src/options.ts +503 -0
- package/src/prism-include-languages.ts +6 -0
- package/src/styles/api.css +42 -0
- package/src/styles/typography.css +342 -0
- package/src/theme/Admonition/Icon/Danger.tsx +15 -0
- package/src/theme/Admonition/Icon/Info.tsx +15 -0
- package/src/theme/Admonition/Icon/Note.tsx +15 -0
- package/src/theme/Admonition/Icon/Tip.tsx +15 -0
- package/src/theme/Admonition/Icon/Warning.tsx +15 -0
- package/src/theme/Admonition/Layout/index.tsx +53 -0
- package/src/theme/Admonition/Layout/styles.module.css +39 -0
- package/src/theme/Admonition/Type/Caution.tsx +34 -0
- package/src/theme/Admonition/Type/Danger.tsx +32 -0
- package/src/theme/Admonition/Type/Info.tsx +32 -0
- package/src/theme/Admonition/Type/Note.tsx +32 -0
- package/src/theme/Admonition/Type/Tip.tsx +32 -0
- package/src/theme/Admonition/Type/Warning.tsx +32 -0
- package/src/theme/Admonition/Types.tsx +33 -0
- package/src/theme/Admonition/index.tsx +23 -0
- package/src/theme/AdmonitionVersioned/AddedInVersion.tsx +14 -0
- package/src/theme/AdmonitionVersioned/AdmonitionVersioned.tsx +66 -0
- package/src/theme/AdmonitionVersioned/ChangedInVersion.tsx +14 -0
- package/src/theme/AdmonitionVersioned/DeprecatedInVersion.tsx +15 -0
- package/src/theme/AdmonitionVersioned/getStableVersion.ts +30 -0
- package/src/theme/AdmonitionVersioned/index.ts +1 -0
- package/src/theme/AdmonitionVersioned/stableVersions.ts +119 -0
- package/src/theme/AnnouncementBar/CloseButton/index.tsx +24 -0
- package/src/theme/AnnouncementBar/CloseButton/styles.module.css +6 -0
- package/src/theme/AnnouncementBar/Content/index.tsx +21 -0
- package/src/theme/AnnouncementBar/Content/styles.module.css +12 -0
- package/src/theme/AnnouncementBar/index.tsx +37 -0
- package/src/theme/AnnouncementBar/styles.module.css +57 -0
- package/src/theme/BackToTopButton/index.tsx +30 -0
- package/src/theme/BackToTopButton/styles.module.css +39 -0
- package/src/theme/Blog/Components/Author/Socials/index.tsx +75 -0
- package/src/theme/Blog/Components/Author/Socials/styles.module.css +34 -0
- package/src/theme/Blog/Components/Author/index.tsx +98 -0
- package/src/theme/Blog/Components/Author/styles.module.css +69 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/index.tsx +57 -0
- package/src/theme/Blog/Pages/BlogAuthorsListPage/styles.module.css +6 -0
- package/src/theme/Blog/Pages/BlogAuthorsPostsPage/index.tsx +77 -0
- package/src/theme/BlogArchivePage/index.tsx +102 -0
- package/src/theme/BlogLayout/index.tsx +31 -0
- package/src/theme/BlogListPage/StructuredData/index.tsx +17 -0
- package/src/theme/BlogListPage/index.tsx +57 -0
- package/src/theme/BlogListPaginator/index.tsx +47 -0
- package/src/theme/BlogPostItem/Container/index.tsx +11 -0
- package/src/theme/BlogPostItem/Content/index.tsx +23 -0
- package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +39 -0
- package/src/theme/BlogPostItem/Footer/index.tsx +85 -0
- package/src/theme/BlogPostItem/Header/Authors/index.tsx +49 -0
- package/src/theme/BlogPostItem/Header/Authors/styles.module.css +15 -0
- package/src/theme/BlogPostItem/Header/Info/index.tsx +77 -0
- package/src/theme/BlogPostItem/Header/Info/styles.module.css +5 -0
- package/src/theme/BlogPostItem/Header/Title/index.tsx +20 -0
- package/src/theme/BlogPostItem/Header/Title/styles.module.css +14 -0
- package/src/theme/BlogPostItem/Header/index.tsx +16 -0
- package/src/theme/BlogPostItem/index.tsx +27 -0
- package/src/theme/BlogPostItems/index.tsx +25 -0
- package/src/theme/BlogPostPage/Metadata/index.tsx +39 -0
- package/src/theme/BlogPostPage/StructuredData/index.tsx +16 -0
- package/src/theme/BlogPostPage/index.tsx +74 -0
- package/src/theme/BlogPostPaginator/index.tsx +46 -0
- package/src/theme/BlogSidebar/Content/index.tsx +52 -0
- package/src/theme/BlogSidebar/Desktop/index.tsx +52 -0
- package/src/theme/BlogSidebar/Desktop/styles.module.css +46 -0
- package/src/theme/BlogSidebar/Mobile/index.tsx +47 -0
- package/src/theme/BlogSidebar/Mobile/styles.module.css +5 -0
- package/src/theme/BlogSidebar/index.tsx +19 -0
- package/src/theme/BlogTagsListPage/index.tsx +33 -0
- package/src/theme/BlogTagsPostsPage/index.tsx +68 -0
- package/src/theme/CodeBlock/Buttons/Button/index.tsx +14 -0
- package/src/theme/CodeBlock/Buttons/CopyButton/index.tsx +82 -0
- package/src/theme/CodeBlock/Buttons/CopyButton/styles.module.css +42 -0
- package/src/theme/CodeBlock/Buttons/WordWrapButton/index.tsx +40 -0
- package/src/theme/CodeBlock/Buttons/WordWrapButton/styles.module.css +10 -0
- package/src/theme/CodeBlock/Buttons/index.tsx +27 -0
- package/src/theme/CodeBlock/Buttons/styles.module.css +32 -0
- package/src/theme/CodeBlock/Container/index.tsx +27 -0
- package/src/theme/CodeBlock/Container/styles.module.css +9 -0
- package/src/theme/CodeBlock/Content/Element.tsx +24 -0
- package/src/theme/CodeBlock/Content/String.tsx +37 -0
- package/src/theme/CodeBlock/Content/index.tsx +79 -0
- package/src/theme/CodeBlock/Content/styles.module.css +30 -0
- package/src/theme/CodeBlock/Layout/index.tsx +29 -0
- package/src/theme/CodeBlock/Layout/styles.module.css +22 -0
- package/src/theme/CodeBlock/Line/Token/index.tsx +13 -0
- package/src/theme/CodeBlock/Line/index.tsx +61 -0
- package/src/theme/CodeBlock/Line/styles.module.css +47 -0
- package/src/theme/CodeBlock/Title/index.tsx +10 -0
- package/src/theme/CodeBlock/index.tsx +40 -0
- package/src/theme/CodeInline/index.tsx +11 -0
- package/src/theme/ColorModeToggle/index.tsx +140 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/ContentVisibility/Draft/index.tsx +22 -0
- package/src/theme/ContentVisibility/Unlisted/index.tsx +37 -0
- package/src/theme/ContentVisibility/index.tsx +20 -0
- package/src/theme/Details/index.tsx +21 -0
- package/src/theme/Details/styles.module.css +8 -0
- package/src/theme/DocBreadcrumbs/Items/Home/index.tsx +29 -0
- package/src/theme/DocBreadcrumbs/Items/Home/styles.module.css +9 -0
- package/src/theme/DocBreadcrumbs/StructuredData/index.tsx +19 -0
- package/src/theme/DocBreadcrumbs/index.tsx +98 -0
- package/src/theme/DocBreadcrumbs/styles.module.css +14 -0
- package/src/theme/DocCard/index.tsx +133 -0
- package/src/theme/DocCard/styles.module.css +29 -0
- package/src/theme/DocCardList/index.tsx +43 -0
- package/src/theme/DocCardList/styles.module.css +9 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +68 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +13 -0
- package/src/theme/DocItem/Content/index.tsx +43 -0
- package/src/theme/DocItem/Footer/index.tsx +51 -0
- package/src/theme/DocItem/Layout/index.tsx +66 -0
- package/src/theme/DocItem/Layout/styles.module.css +12 -0
- package/src/theme/DocItem/Metadata/index.tsx +17 -0
- package/src/theme/DocItem/Paginator/index.tsx +20 -0
- package/src/theme/DocItem/TOC/Desktop/index.tsx +19 -0
- package/src/theme/DocItem/TOC/Mobile/index.tsx +22 -0
- package/src/theme/DocItem/TOC/Mobile/styles.module.css +26 -0
- package/src/theme/DocItem/index.tsx +23 -0
- package/src/theme/DocPaginator/index.tsx +46 -0
- package/src/theme/DocRoot/Layout/Main/index.tsx +31 -0
- package/src/theme/DocRoot/Layout/Main/styles.module.css +23 -0
- package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/index.tsx +36 -0
- package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css +29 -0
- package/src/theme/DocRoot/Layout/Sidebar/index.tsx +79 -0
- package/src/theme/DocRoot/Layout/Sidebar/styles.module.css +34 -0
- package/src/theme/DocRoot/Layout/index.tsx +32 -0
- package/src/theme/DocRoot/Layout/styles.module.css +11 -0
- package/src/theme/DocRoot/index.tsx +29 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +34 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +42 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +56 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +18 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +36 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +39 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +49 -0
- package/src/theme/DocSidebar/index.tsx +25 -0
- package/src/theme/DocSidebarItem/Category/index.tsx +309 -0
- package/src/theme/DocSidebarItem/Category/styles.module.css +35 -0
- package/src/theme/DocSidebarItem/Html/index.tsx +30 -0
- package/src/theme/DocSidebarItem/Html/styles.module.css +8 -0
- package/src/theme/DocSidebarItem/Link/index.tsx +62 -0
- package/src/theme/DocSidebarItem/Link/styles.module.css +13 -0
- package/src/theme/DocSidebarItem/index.tsx +19 -0
- package/src/theme/DocSidebarItems/index.tsx +24 -0
- package/src/theme/DocTagDocListPage/index.tsx +113 -0
- package/src/theme/DocTagsListPage/index.tsx +52 -0
- package/src/theme/DocVersionBadge/index.tsx +29 -0
- package/src/theme/DocVersionBanner/index.tsx +171 -0
- package/src/theme/DocVersionRoot/index.tsx +46 -0
- package/src/theme/DocsRoot/index.tsx +17 -0
- package/src/theme/EditMetaRow/index.tsx +31 -0
- package/src/theme/EditMetaRow/styles.module.css +19 -0
- package/src/theme/EditThisPage/index.tsx +21 -0
- package/src/theme/ErrorPageContent.tsx +38 -0
- package/src/theme/Footer/Copyright/index.tsx +15 -0
- package/src/theme/Footer/Layout/index.tsx +42 -0
- package/src/theme/Footer/LinkItem/index.tsx +31 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +53 -0
- package/src/theme/Footer/Links/Simple/index.tsx +38 -0
- package/src/theme/Footer/Links/index.tsx +16 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/src/theme/Footer/Logo/styles.module.css +11 -0
- package/src/theme/Footer/index.tsx +28 -0
- package/src/theme/Heading/index.tsx +50 -0
- package/src/theme/Heading/styles.module.css +17 -0
- package/src/theme/Homepage/index.tsx +178 -0
- package/src/theme/Icon/AI/index.tsx +21 -0
- package/src/theme/Icon/AWS/index.tsx +22 -0
- package/src/theme/Icon/Arrow/index.tsx +15 -0
- package/src/theme/Icon/Azure/index.tsx +28 -0
- package/src/theme/Icon/Changelog/index.tsx +26 -0
- package/src/theme/Icon/ChatBubble/index.tsx +29 -0
- package/src/theme/Icon/ChatBubbles/index.tsx +42 -0
- package/src/theme/Icon/Close/index.tsx +21 -0
- package/src/theme/Icon/Cog/index.tsx +45 -0
- package/src/theme/Icon/Copy/index.tsx +15 -0
- package/src/theme/Icon/DarkMode/index.tsx +15 -0
- package/src/theme/Icon/Edit/index.tsx +24 -0
- package/src/theme/Icon/Edit/styles.module.css +6 -0
- package/src/theme/Icon/Envelope/index.tsx +33 -0
- package/src/theme/Icon/ExternalLink/index.tsx +30 -0
- package/src/theme/Icon/ExternalLink/styles.module.css +5 -0
- package/src/theme/Icon/Fusion/index.tsx +32 -0
- package/src/theme/Icon/GoogleCloud/index.tsx +56 -0
- package/src/theme/Icon/Home/index.tsx +15 -0
- package/src/theme/Icon/Language/index.tsx +24 -0
- package/src/theme/Icon/LightMode/index.tsx +15 -0
- package/src/theme/Icon/MCP/index.tsx +84 -0
- package/src/theme/Icon/Menu/index.tsx +29 -0
- package/src/theme/Icon/MultiQC/index.tsx +25 -0
- package/src/theme/Icon/Nextflow/index.tsx +25 -0
- package/src/theme/Icon/QuestionMark/index.tsx +46 -0
- package/src/theme/Icon/SeqeraCloud/index.tsx +35 -0
- package/src/theme/Icon/SeqeraEnterprise/index.tsx +372 -0
- package/src/theme/Icon/SeqeraLogo/index.tsx +22 -0
- package/src/theme/Icon/ServiceStatus/index.tsx +101 -0
- package/src/theme/Icon/Sidebar/index.tsx +8 -0
- package/src/theme/Icon/Socials/Bluesky/index.tsx +23 -0
- package/src/theme/Icon/Socials/Bluesky/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Default/index.tsx +28 -0
- package/src/theme/Icon/Socials/Email/index.tsx +23 -0
- package/src/theme/Icon/Socials/GitHub/index.tsx +24 -0
- package/src/theme/Icon/Socials/GitHub/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Instagram/index.tsx +23 -0
- package/src/theme/Icon/Socials/Instagram/styles.module.css +9 -0
- package/src/theme/Icon/Socials/LinkedIn/index.tsx +23 -0
- package/src/theme/Icon/Socials/LinkedIn/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Mastodon/index.tsx +40 -0
- package/src/theme/Icon/Socials/StackOverflow/index.tsx +25 -0
- package/src/theme/Icon/Socials/Threads/index.tsx +25 -0
- package/src/theme/Icon/Socials/Threads/styles.module.css +9 -0
- package/src/theme/Icon/Socials/Twitch/index.tsx +32 -0
- package/src/theme/Icon/Socials/Twitter/index.tsx +22 -0
- package/src/theme/Icon/Socials/X/index.tsx +24 -0
- package/src/theme/Icon/Socials/X/styles.module.css +9 -0
- package/src/theme/Icon/Socials/YouTube/index.tsx +22 -0
- package/src/theme/Icon/Success/index.tsx +15 -0
- package/src/theme/Icon/SystemColorMode/index.tsx +15 -0
- package/src/theme/Icon/Wave/index.tsx +32 -0
- package/src/theme/Icon/WordWrap/index.tsx +15 -0
- package/src/theme/LastUpdated/index.tsx +91 -0
- package/src/theme/Layout/Provider/index.tsx +26 -0
- package/src/theme/Layout/index.tsx +59 -0
- package/src/theme/Layout/styles.module.css +23 -0
- package/src/theme/Logo/index.tsx +78 -0
- package/src/theme/MDXComponents/A/index.tsx +16 -0
- package/src/theme/MDXComponents/Button/index.tsx +43 -0
- package/src/theme/MDXComponents/Code.tsx +26 -0
- package/src/theme/MDXComponents/Details.tsx +26 -0
- package/src/theme/MDXComponents/Heading.tsx +9 -0
- package/src/theme/MDXComponents/Img/index.tsx +23 -0
- package/src/theme/MDXComponents/Img/styles.module.css +5 -0
- package/src/theme/MDXComponents/Li.tsx +17 -0
- package/src/theme/MDXComponents/Pre.tsx +10 -0
- package/src/theme/MDXComponents/Ul/index.tsx +25 -0
- package/src/theme/MDXComponents/Ul/styles.module.css +9 -0
- package/src/theme/MDXComponents/index.tsx +47 -0
- package/src/theme/MDXContent/index.tsx +10 -0
- package/src/theme/MDXPage/index.tsx +87 -0
- package/src/theme/MDXPage/styles.module.css +5 -0
- package/src/theme/Mermaid.tsx +11 -0
- package/src/theme/Navbar/ColorModeToggle/index.tsx +29 -0
- package/src/theme/Navbar/ColorModeToggle/styles.module.css +5 -0
- package/src/theme/Navbar/Content/index.tsx +152 -0
- package/src/theme/Navbar/Content/styles.module.css +19 -0
- package/src/theme/Navbar/Layout/index.tsx +59 -0
- package/src/theme/Navbar/Layout/styles.module.css +9 -0
- package/src/theme/Navbar/Logo/index.tsx +14 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +37 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +72 -0
- package/src/theme/Navbar/MobileSidebar/Layout/styles.module.css +11 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +90 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +28 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +22 -0
- package/src/theme/Navbar/Submenu/SubmenuLinks.tsx +136 -0
- package/src/theme/Navbar/Submenu/index.tsx +84 -0
- package/src/theme/Navbar/Submenu/styles.module.css +82 -0
- package/src/theme/Navbar/index.tsx +13 -0
- package/src/theme/NavbarItem/ComponentTypes.tsx +27 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/Desktop/index.tsx +29 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/Mobile/index.tsx +18 -0
- package/src/theme/NavbarItem/DefaultNavbarItem/index.tsx +23 -0
- package/src/theme/NavbarItem/DocNavbarItem.tsx +38 -0
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +33 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +189 -0
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +22 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx +81 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/index.tsx +161 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/styles.module.css +5 -0
- package/src/theme/NavbarItem/DropdownNavbarItem/index.tsx +14 -0
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +27 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +128 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +6 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +69 -0
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +21 -0
- package/src/theme/NavbarItem/index.tsx +23 -0
- package/src/theme/NotFound/Content/index.tsx +34 -0
- package/src/theme/NotFound/index.tsx +22 -0
- package/src/theme/PaginatorNavLink/index.tsx +21 -0
- package/src/theme/SearchBar.tsx +8 -0
- package/src/theme/SearchMetadata/index.tsx +38 -0
- package/src/theme/SiteMetadata/index.tsx +153 -0
- package/src/theme/SkipToContent/index.tsx +9 -0
- package/src/theme/SkipToContent/styles.module.css +16 -0
- package/src/theme/TOC/index.tsx +26 -0
- package/src/theme/TOC/styles.module.css +23 -0
- package/src/theme/TOCCollapsible/CollapseButton/index.tsx +30 -0
- package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +27 -0
- package/src/theme/TOCCollapsible/index.tsx +42 -0
- package/src/theme/TOCCollapsible/styles.module.css +26 -0
- package/src/theme/TOCInline/index.tsx +25 -0
- package/src/theme/TOCInline/styles.module.css +7 -0
- package/src/theme/TOCItems/Tree.tsx +40 -0
- package/src/theme/TOCItems/index.tsx +56 -0
- package/src/theme/TabItem/index.tsx +22 -0
- package/src/theme/TabItem/styles.module.css +5 -0
- package/src/theme/Tabs/index.tsx +167 -0
- package/src/theme/Tabs/styles.module.css +9 -0
- package/src/theme/Tag/index.tsx +30 -0
- package/src/theme/Tag/styles.module.css +65 -0
- package/src/theme/TagsListByLetter/index.tsx +40 -0
- package/src/theme/TagsListByLetter/styles.module.css +6 -0
- package/src/theme/TagsListInline/index.tsx +30 -0
- package/src/theme/TagsListInline/styles.module.css +10 -0
- package/src/theme/ThemeProvider/TitleFormatter/index.tsx +22 -0
- package/src/theme/ThemeProvider/index.tsx +9 -0
- package/src/theme/ThemedImage/index.tsx +21 -0
- package/src/theme/ThemedImage/styles.module.css +13 -0
- package/src/theme/pages/Home/index.tsx +19 -0
- package/src/theme/prism-include-languages.ts +39 -0
- package/src/theme-seqera.d.ts +2277 -0
- package/src/translations.ts +240 -0
- package/tailwind.config.js +7 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Link from '@docusaurus/Link';
|
|
3
|
+
|
|
4
|
+
interface ButtonProps {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
href?: string;
|
|
7
|
+
to?: string;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default function MDXButton({
|
|
12
|
+
children,
|
|
13
|
+
href,
|
|
14
|
+
to,
|
|
15
|
+
onClick,
|
|
16
|
+
}: ButtonProps): JSX.Element {
|
|
17
|
+
const className = `btn btn-outline shadow-none btn-sm border px-6 py-1 text-[.9rem] hover:border-black hover:bg-black hover:text-white! dark:border-gray-600 dark:text-white dark:hover:border-white dark:hover:bg-white dark:hover:text-black! no-underline!`;
|
|
18
|
+
|
|
19
|
+
// External link
|
|
20
|
+
if (href) {
|
|
21
|
+
return (
|
|
22
|
+
<a href={href} className={className} target="_blank" rel="noopener noreferrer">
|
|
23
|
+
{children}
|
|
24
|
+
</a>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Internal link
|
|
29
|
+
if (to) {
|
|
30
|
+
return (
|
|
31
|
+
<Link to={to} className={className}>
|
|
32
|
+
{children}
|
|
33
|
+
</Link>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Regular button
|
|
38
|
+
return (
|
|
39
|
+
<button className={className} onClick={onClick}>
|
|
40
|
+
{children}
|
|
41
|
+
</button>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import type {ComponentProps, ReactNode} from 'react';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import CodeBlock from '@theme/CodeBlock';
|
|
6
|
+
import CodeInline from '@theme/CodeInline';
|
|
7
|
+
import type {Props} from '@theme/MDXComponents/Code';
|
|
8
|
+
|
|
9
|
+
function shouldBeInline(props: Props) {
|
|
10
|
+
return (
|
|
11
|
+
// empty code blocks have no props.children,
|
|
12
|
+
// see https://github.com/facebook/docusaurus/pull/9704
|
|
13
|
+
typeof props.children !== 'undefined' &&
|
|
14
|
+
React.Children.toArray(props.children).every(
|
|
15
|
+
(el) => typeof el === 'string' && !el.includes('\n'),
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default function MDXCode(props: Props): ReactNode {
|
|
21
|
+
return shouldBeInline(props) ? (
|
|
22
|
+
<CodeInline {...props} />
|
|
23
|
+
) : (
|
|
24
|
+
<CodeBlock {...(props as ComponentProps<typeof CodeBlock>)} />
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {
|
|
4
|
+
type ComponentProps,
|
|
5
|
+
type ReactElement,
|
|
6
|
+
type ReactNode,
|
|
7
|
+
} from 'react';
|
|
8
|
+
import Details from '@theme/Details';
|
|
9
|
+
import type {Props} from '@theme/MDXComponents/Details';
|
|
10
|
+
|
|
11
|
+
export default function MDXDetails(props: Props): ReactNode {
|
|
12
|
+
const items = React.Children.toArray(props.children);
|
|
13
|
+
// Split summary item from the rest to pass it as a separate prop to the
|
|
14
|
+
// Details theme component
|
|
15
|
+
const summary = items.find(
|
|
16
|
+
(item): item is ReactElement<ComponentProps<'summary'>> =>
|
|
17
|
+
React.isValidElement(item) && item.type === 'summary',
|
|
18
|
+
);
|
|
19
|
+
const children = <>{items.filter((item) => item !== summary)}</>;
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Details {...props} summary={summary}>
|
|
23
|
+
{children}
|
|
24
|
+
</Details>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import type {Props} from '@theme/MDXComponents/Img';
|
|
6
|
+
|
|
7
|
+
import styles from './styles.module.css';
|
|
8
|
+
|
|
9
|
+
function transformImgClassName(className?: string): string {
|
|
10
|
+
return clsx(className, styles.img);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default function MDXImg(props: Props): ReactNode {
|
|
14
|
+
return (
|
|
15
|
+
// eslint-disable-next-line jsx-a11y/alt-text
|
|
16
|
+
<img
|
|
17
|
+
decoding="async"
|
|
18
|
+
loading="lazy"
|
|
19
|
+
{...props}
|
|
20
|
+
className={transformImgClassName(props.className)}
|
|
21
|
+
/>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import useBrokenLinks from '@docusaurus/useBrokenLinks';
|
|
6
|
+
import {useAnchorTargetClassName} from '@docusaurus/theme-common';
|
|
7
|
+
import type {Props} from '@theme/MDXComponents/Li';
|
|
8
|
+
|
|
9
|
+
export default function MDXLi(props: Props): ReactNode | undefined {
|
|
10
|
+
// MDX Footnotes have ids such as <li id="user-content-fn-1-953011">
|
|
11
|
+
useBrokenLinks().collectAnchor(props.id);
|
|
12
|
+
const anchorTargetClassName = useAnchorTargetClassName(props.id);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<li className={clsx(anchorTargetClassName, props.className)} {...props} />
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import type {Props} from '@theme/MDXComponents/Pre';
|
|
5
|
+
|
|
6
|
+
export default function MDXPre(props: Props): ReactNode | undefined {
|
|
7
|
+
// With MDX 2, this element is only used for fenced code blocks
|
|
8
|
+
// It always receives a MDXComponents/Code as children
|
|
9
|
+
return <>{props.children}</>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import type {Props} from '@theme/MDXComponents/Ul';
|
|
6
|
+
|
|
7
|
+
import styles from './styles.module.css';
|
|
8
|
+
|
|
9
|
+
function transformUlClassName(className?: string): string | undefined {
|
|
10
|
+
// Fix https://github.com/facebook/docusaurus/issues/9098
|
|
11
|
+
if (typeof className === 'undefined') {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return clsx(
|
|
15
|
+
className,
|
|
16
|
+
// This class is set globally by GitHub/MDX. We keep the global class, and
|
|
17
|
+
// add another class to get a task list without the default ul styling
|
|
18
|
+
// See https://github.com/syntax-tree/mdast-util-to-hast/issues/28
|
|
19
|
+
className?.includes('contains-task-list') && styles.containsTaskList,
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default function MDXUl(props: Props): ReactNode {
|
|
24
|
+
return <ul {...props} className={transformUlClassName(props.className)} />;
|
|
25
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ComponentProps} from 'react';
|
|
4
|
+
import Head from '@docusaurus/Head';
|
|
5
|
+
import MDXCode from '@theme/MDXComponents/Code';
|
|
6
|
+
import MDXA from '@theme/MDXComponents/A';
|
|
7
|
+
import MDXPre from '@theme/MDXComponents/Pre';
|
|
8
|
+
import MDXDetails from '@theme/MDXComponents/Details';
|
|
9
|
+
import MDXHeading from '@theme/MDXComponents/Heading';
|
|
10
|
+
import MDXUl from '@theme/MDXComponents/Ul';
|
|
11
|
+
import MDXLi from '@theme/MDXComponents/Li';
|
|
12
|
+
import MDXImg from '@theme/MDXComponents/Img';
|
|
13
|
+
import MDXButton from '@theme/MDXComponents/Button';
|
|
14
|
+
import Admonition from '@theme/Admonition';
|
|
15
|
+
import Mermaid from '@theme/Mermaid';
|
|
16
|
+
import AddedInVersion from "../AdmonitionVersioned/AddedInVersion";
|
|
17
|
+
import ChangedInVersion from "../AdmonitionVersioned/ChangedInVersion";
|
|
18
|
+
import DeprecatedInVersion from "../AdmonitionVersioned/DeprecatedInVersion";
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
import type {MDXComponentsObject} from '@theme/MDXComponents';
|
|
22
|
+
|
|
23
|
+
const MDXComponents: MDXComponentsObject = {
|
|
24
|
+
Head,
|
|
25
|
+
details: MDXDetails, // For MD mode support, see https://github.com/facebook/docusaurus/issues/9092#issuecomment-1602902274
|
|
26
|
+
Details: MDXDetails,
|
|
27
|
+
code: MDXCode,
|
|
28
|
+
a: MDXA,
|
|
29
|
+
Button: MDXButton,
|
|
30
|
+
pre: MDXPre,
|
|
31
|
+
ul: MDXUl,
|
|
32
|
+
li: MDXLi,
|
|
33
|
+
img: MDXImg,
|
|
34
|
+
h1: (props: ComponentProps<'h1'>) => <MDXHeading as="h1" {...props} />,
|
|
35
|
+
h2: (props: ComponentProps<'h2'>) => <MDXHeading as="h2" {...props} />,
|
|
36
|
+
h3: (props: ComponentProps<'h3'>) => <MDXHeading as="h3" {...props} />,
|
|
37
|
+
h4: (props: ComponentProps<'h4'>) => <MDXHeading as="h4" {...props} />,
|
|
38
|
+
h5: (props: ComponentProps<'h5'>) => <MDXHeading as="h5" {...props} />,
|
|
39
|
+
h6: (props: ComponentProps<'h6'>) => <MDXHeading as="h6" {...props} />,
|
|
40
|
+
admonition: Admonition,
|
|
41
|
+
mermaid: Mermaid,
|
|
42
|
+
AddedInVersion: AddedInVersion,
|
|
43
|
+
ChangedInVersion: ChangedInVersion,
|
|
44
|
+
DeprecatedInVersion: DeprecatedInVersion,
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default MDXComponents;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import {MDXProvider} from '@mdx-js/react';
|
|
5
|
+
import MDXComponents from '@theme/MDXComponents';
|
|
6
|
+
import type {Props} from '@theme/MDXContent';
|
|
7
|
+
|
|
8
|
+
export default function MDXContent({children}: Props): ReactNode {
|
|
9
|
+
return <MDXProvider components={MDXComponents}>{children}</MDXProvider>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import {
|
|
6
|
+
PageMetadata,
|
|
7
|
+
HtmlClassNameProvider,
|
|
8
|
+
ThemeClassNames,
|
|
9
|
+
} from '@docusaurus/theme-common';
|
|
10
|
+
import Layout from '@theme/Layout';
|
|
11
|
+
import MDXContent from '@theme/MDXContent';
|
|
12
|
+
import TOC from '@theme/TOC';
|
|
13
|
+
import ContentVisibility from '@theme/ContentVisibility';
|
|
14
|
+
import type {Props} from '@theme/MDXPage';
|
|
15
|
+
|
|
16
|
+
import EditMetaRow from '@theme/EditMetaRow';
|
|
17
|
+
import styles from './styles.module.css';
|
|
18
|
+
|
|
19
|
+
export default function MDXPage(props: Props): ReactNode {
|
|
20
|
+
const {content: MDXPageContent} = props;
|
|
21
|
+
const {metadata, assets} = MDXPageContent;
|
|
22
|
+
const {
|
|
23
|
+
title,
|
|
24
|
+
editUrl,
|
|
25
|
+
description,
|
|
26
|
+
frontMatter,
|
|
27
|
+
lastUpdatedBy,
|
|
28
|
+
lastUpdatedAt,
|
|
29
|
+
} = metadata;
|
|
30
|
+
const {
|
|
31
|
+
keywords,
|
|
32
|
+
wrapperClassName,
|
|
33
|
+
hide_table_of_contents: hideTableOfContents,
|
|
34
|
+
} = frontMatter;
|
|
35
|
+
const image = assets.image ?? frontMatter.image;
|
|
36
|
+
|
|
37
|
+
const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<HtmlClassNameProvider
|
|
41
|
+
className={clsx(
|
|
42
|
+
wrapperClassName ?? ThemeClassNames.wrapper.mdxPages,
|
|
43
|
+
ThemeClassNames.page.mdxPage,
|
|
44
|
+
)}>
|
|
45
|
+
<Layout>
|
|
46
|
+
<PageMetadata
|
|
47
|
+
title={title}
|
|
48
|
+
description={description}
|
|
49
|
+
keywords={keywords}
|
|
50
|
+
image={image}
|
|
51
|
+
/>
|
|
52
|
+
<main className="container container--fluid margin-vert--lg">
|
|
53
|
+
<div className={clsx('row', styles.mdxPageWrapper)}>
|
|
54
|
+
<div className={clsx('col', !hideTableOfContents && 'col--8')}>
|
|
55
|
+
<ContentVisibility metadata={metadata} />
|
|
56
|
+
<article>
|
|
57
|
+
<MDXContent>
|
|
58
|
+
<MDXPageContent />
|
|
59
|
+
</MDXContent>
|
|
60
|
+
</article>
|
|
61
|
+
{canDisplayEditMetaRow && (
|
|
62
|
+
<EditMetaRow
|
|
63
|
+
className={clsx(
|
|
64
|
+
'margin-top--sm',
|
|
65
|
+
ThemeClassNames.pages.pageFooterEditMetaRow,
|
|
66
|
+
)}
|
|
67
|
+
editUrl={editUrl}
|
|
68
|
+
lastUpdatedAt={lastUpdatedAt}
|
|
69
|
+
lastUpdatedBy={lastUpdatedBy}
|
|
70
|
+
/>
|
|
71
|
+
)}
|
|
72
|
+
</div>
|
|
73
|
+
{!hideTableOfContents && MDXPageContent.toc.length > 0 && (
|
|
74
|
+
<div className="col col--2">
|
|
75
|
+
<TOC
|
|
76
|
+
toc={MDXPageContent.toc}
|
|
77
|
+
minHeadingLevel={frontMatter.toc_min_heading_level}
|
|
78
|
+
maxHeadingLevel={frontMatter.toc_max_heading_level}
|
|
79
|
+
/>
|
|
80
|
+
</div>
|
|
81
|
+
)}
|
|
82
|
+
</div>
|
|
83
|
+
</main>
|
|
84
|
+
</Layout>
|
|
85
|
+
</HtmlClassNameProvider>
|
|
86
|
+
);
|
|
87
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// This component is meant to be implemented by a Mermaid renderer theme
|
|
4
|
+
// It is notable created to be overridden by docusaurus-theme-mermaid
|
|
5
|
+
|
|
6
|
+
// By default, the classic theme does not provide any Mermaid implementation
|
|
7
|
+
// Yet we declare it there so that we can register it in MDX
|
|
8
|
+
// TODO later the mermaid theme should be able to register its MDX component
|
|
9
|
+
// see https://github.com/facebook/docusaurus/pull/7490#issuecomment-1279117288
|
|
10
|
+
|
|
11
|
+
export {default} from '@docusaurus/Noop';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import {useColorMode, useThemeConfig} from '@docusaurus/theme-common';
|
|
5
|
+
import ColorModeToggle from '@theme/ColorModeToggle';
|
|
6
|
+
import type {Props} from '@theme/Navbar/ColorModeToggle';
|
|
7
|
+
import styles from './styles.module.css';
|
|
8
|
+
|
|
9
|
+
export default function NavbarColorModeToggle({className}: Props): ReactNode {
|
|
10
|
+
const navbarStyle = useThemeConfig().navbar.style;
|
|
11
|
+
const {disableSwitch, respectPrefersColorScheme} = useThemeConfig().colorMode;
|
|
12
|
+
const {colorModeChoice, setColorMode} = useColorMode();
|
|
13
|
+
|
|
14
|
+
if (disableSwitch) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<ColorModeToggle
|
|
20
|
+
className={className}
|
|
21
|
+
buttonClassName={
|
|
22
|
+
navbarStyle === 'dark' ? styles.darkNavbarColorModeToggle : undefined
|
|
23
|
+
}
|
|
24
|
+
respectPrefersColorScheme={respectPrefersColorScheme}
|
|
25
|
+
value={colorModeChoice}
|
|
26
|
+
onChange={setColorMode}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import React, {type ReactNode} from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import {
|
|
4
|
+
useThemeConfig,
|
|
5
|
+
ErrorCauseBoundary,
|
|
6
|
+
ThemeClassNames,
|
|
7
|
+
} from '@docusaurus/theme-common';
|
|
8
|
+
import {
|
|
9
|
+
splitNavbarItems,
|
|
10
|
+
useNavbarMobileSidebar,
|
|
11
|
+
} from '@docusaurus/theme-common/internal';
|
|
12
|
+
import NavbarItem, {type Props as NavbarItemConfig} from '@theme/NavbarItem';
|
|
13
|
+
import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle';
|
|
14
|
+
import SearchBar from '@theme/SearchBar';
|
|
15
|
+
import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle';
|
|
16
|
+
import NavbarLogo from '@theme/Navbar/Logo';
|
|
17
|
+
import NavbarSearch from '@theme/Navbar/Search';
|
|
18
|
+
import Submenu from '../Submenu';
|
|
19
|
+
import styles from './styles.module.css';
|
|
20
|
+
import Link from '@docusaurus/Link';
|
|
21
|
+
|
|
22
|
+
function useNavbarItems() {
|
|
23
|
+
// TODO temporary casting until ThemeConfig type is improved
|
|
24
|
+
return useThemeConfig().navbar.items as NavbarItemConfig[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function NavbarItems({items}: {items: NavbarItemConfig[]}): ReactNode {
|
|
28
|
+
return (
|
|
29
|
+
<>
|
|
30
|
+
{items.map((item, i) => (
|
|
31
|
+
<ErrorCauseBoundary
|
|
32
|
+
key={i}
|
|
33
|
+
onError={(error) =>
|
|
34
|
+
new Error(
|
|
35
|
+
`A theme navbar item failed to render.
|
|
36
|
+
Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:
|
|
37
|
+
${JSON.stringify(item, null, 2)}`,
|
|
38
|
+
{cause: error},
|
|
39
|
+
)
|
|
40
|
+
}>
|
|
41
|
+
<NavbarItem {...item} />
|
|
42
|
+
</ErrorCauseBoundary>
|
|
43
|
+
))}
|
|
44
|
+
</>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function NavbarContentLayout({
|
|
49
|
+
left,
|
|
50
|
+
right,
|
|
51
|
+
isMenuOpen,
|
|
52
|
+
}: {
|
|
53
|
+
left: ReactNode;
|
|
54
|
+
right: ReactNode;
|
|
55
|
+
isMenuOpen?: boolean | undefined;
|
|
56
|
+
}) {
|
|
57
|
+
return (
|
|
58
|
+
<div className="navbar__inner">
|
|
59
|
+
<div
|
|
60
|
+
className={clsx(
|
|
61
|
+
ThemeClassNames.layout.navbar.containerLeft,
|
|
62
|
+
'navbar__items',
|
|
63
|
+
)}>
|
|
64
|
+
{left}
|
|
65
|
+
</div>
|
|
66
|
+
<div
|
|
67
|
+
className={clsx(
|
|
68
|
+
ThemeClassNames.layout.navbar.containerRight,
|
|
69
|
+
'navbar__items navbar__items--right',
|
|
70
|
+
)}>
|
|
71
|
+
{right}
|
|
72
|
+
|
|
73
|
+
<div className="hidden md:flex!">
|
|
74
|
+
<Submenu />
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default function NavbarContent(): ReactNode {
|
|
82
|
+
const mobileSidebar = useNavbarMobileSidebar();
|
|
83
|
+
|
|
84
|
+
const items = useNavbarItems();
|
|
85
|
+
const [leftItems, rightItems] = splitNavbarItems(items);
|
|
86
|
+
|
|
87
|
+
const searchBarItem = items.find((item) => item.type === 'search');
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<div className="w-full flex flex-col">
|
|
91
|
+
<div className="pt-3 pb-1">
|
|
92
|
+
<NavbarContentLayout
|
|
93
|
+
left={
|
|
94
|
+
<>
|
|
95
|
+
<NavbarLogo />
|
|
96
|
+
</>
|
|
97
|
+
}
|
|
98
|
+
right={
|
|
99
|
+
<>
|
|
100
|
+
<NavbarItems items={rightItems} />
|
|
101
|
+
|
|
102
|
+
<SearchBar />
|
|
103
|
+
<div className="mr-2">
|
|
104
|
+
<NavbarColorModeToggle className={styles.colorModeToggle} />
|
|
105
|
+
</div>
|
|
106
|
+
<div className="hidden md:flex!">
|
|
107
|
+
<a
|
|
108
|
+
className="btn btn-secondary hover:bg-nextflow-600 shadow-none border text-black btn-sm px-6 py-1 text-[.9rem] mr-2 "
|
|
109
|
+
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
110
|
+
Log In
|
|
111
|
+
</a>
|
|
112
|
+
<a
|
|
113
|
+
className="btn btn-outline shadow-none btn-sm border px-6 py-1 text-[.9rem] hover:border-black hover:bg-black hover:text-white"
|
|
114
|
+
href="https://cloud.seqera.io/oauth/login/auth0">
|
|
115
|
+
Sign Up
|
|
116
|
+
</a>
|
|
117
|
+
</div>
|
|
118
|
+
{!mobileSidebar.disabled && <NavbarMobileSidebarToggle />}
|
|
119
|
+
</>
|
|
120
|
+
}
|
|
121
|
+
/>
|
|
122
|
+
</div>
|
|
123
|
+
<div className="hidden md:flex! text-[.9rem] pt-1">
|
|
124
|
+
<div className="flex flex-row justify-between w-full">
|
|
125
|
+
<div>
|
|
126
|
+
<NavbarItems items={leftItems} />
|
|
127
|
+
</div>
|
|
128
|
+
<div className="mr-2">
|
|
129
|
+
<Link
|
|
130
|
+
className="navbar__link ml-8 font-normal"
|
|
131
|
+
to={'/platform-cloud/seqera-ai'}
|
|
132
|
+
aria-label="Seqera AI">
|
|
133
|
+
Seqera AI
|
|
134
|
+
</Link>
|
|
135
|
+
<Link
|
|
136
|
+
className="navbar__link ml-8 font-normal"
|
|
137
|
+
to={'/platform-cloud/seqera-mcp'}
|
|
138
|
+
aria-label="Seqera MCP">
|
|
139
|
+
Seqera MCP
|
|
140
|
+
</Link>
|
|
141
|
+
<Link
|
|
142
|
+
className="navbar__link ml-8 font-normal"
|
|
143
|
+
to={'/changelog'}
|
|
144
|
+
aria-label="Changelog">
|
|
145
|
+
Changelog
|
|
146
|
+
</Link>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
);
|
|
152
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Hide color mode toggle in small viewports
|
|
5
|
+
*/
|
|
6
|
+
@media (max-width: 996px) {
|
|
7
|
+
.colorModeToggle {
|
|
8
|
+
display: none;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
Restore some Infima style that broke with CSS Cascade Layers
|
|
14
|
+
See https://github.com/facebook/docusaurus/pull/11142
|
|
15
|
+
*/
|
|
16
|
+
:global(.navbar__items--right) > :last-child {
|
|
17
|
+
padding-right: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ComponentProps, type ReactNode} from 'react';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import {ThemeClassNames, useThemeConfig} from '@docusaurus/theme-common';
|
|
6
|
+
import {
|
|
7
|
+
useHideableNavbar,
|
|
8
|
+
useNavbarMobileSidebar,
|
|
9
|
+
} from '@docusaurus/theme-common/internal';
|
|
10
|
+
import {translate} from '@docusaurus/Translate';
|
|
11
|
+
import NavbarMobileSidebar from '@theme/Navbar/MobileSidebar';
|
|
12
|
+
import type {Props} from '@theme/Navbar/Layout';
|
|
13
|
+
|
|
14
|
+
import styles from './styles.module.css';
|
|
15
|
+
|
|
16
|
+
function NavbarBackdrop(props: ComponentProps<'div'>) {
|
|
17
|
+
return (
|
|
18
|
+
<div
|
|
19
|
+
role="presentation"
|
|
20
|
+
{...props}
|
|
21
|
+
className={clsx('navbar-sidebar__backdrop', props.className)}
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default function NavbarLayout({children}: Props): ReactNode {
|
|
27
|
+
const {
|
|
28
|
+
navbar: {hideOnScroll, style},
|
|
29
|
+
} = useThemeConfig();
|
|
30
|
+
const mobileSidebar = useNavbarMobileSidebar();
|
|
31
|
+
const {navbarRef, isNavbarVisible} = useHideableNavbar(hideOnScroll);
|
|
32
|
+
return (
|
|
33
|
+
<nav
|
|
34
|
+
ref={navbarRef}
|
|
35
|
+
aria-label={translate({
|
|
36
|
+
id: 'theme.NavBar.navAriaLabel',
|
|
37
|
+
message: 'Main',
|
|
38
|
+
description: 'The ARIA label for the main navigation',
|
|
39
|
+
})}
|
|
40
|
+
className={clsx(
|
|
41
|
+
ThemeClassNames.layout.navbar.container,
|
|
42
|
+
'navbar border-b border-base-content/20 md:pt-10 md:pb-10 px-4 sticky top-0 shadow-none',
|
|
43
|
+
'navbar--fixed-top',
|
|
44
|
+
hideOnScroll && [
|
|
45
|
+
styles.navbarHideable,
|
|
46
|
+
!isNavbarVisible && styles.navbarHidden,
|
|
47
|
+
],
|
|
48
|
+
{
|
|
49
|
+
'navbar--dark': style === 'dark',
|
|
50
|
+
'navbar--primary': style === 'primary',
|
|
51
|
+
'navbar-sidebar--show': mobileSidebar.shown,
|
|
52
|
+
},
|
|
53
|
+
)}>
|
|
54
|
+
{children}
|
|
55
|
+
<NavbarBackdrop onClick={mobileSidebar.toggle} />
|
|
56
|
+
<NavbarMobileSidebar />
|
|
57
|
+
</nav>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import React, {type ReactNode} from 'react';
|
|
4
|
+
import Logo from '@theme/Logo';
|
|
5
|
+
|
|
6
|
+
export default function NavbarLogo(): ReactNode {
|
|
7
|
+
return (
|
|
8
|
+
<Logo
|
|
9
|
+
className="navbar__brand"
|
|
10
|
+
imageClassName="navbar__logo"
|
|
11
|
+
titleClassName="hidden"
|
|
12
|
+
/>
|
|
13
|
+
);
|
|
14
|
+
}
|