@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.
Files changed (327) hide show
  1. package/README.md +26 -0
  2. package/package.json +66 -0
  3. package/src/getSwizzleConfig.ts +433 -0
  4. package/src/index.ts +154 -0
  5. package/src/inlineScripts.ts +95 -0
  6. package/src/inlineSvgSprites.ts +7 -0
  7. package/src/main-styles.css +322 -0
  8. package/src/nprogress.css +36 -0
  9. package/src/nprogress.ts +27 -0
  10. package/src/options.ts +503 -0
  11. package/src/prism-include-languages.ts +6 -0
  12. package/src/styles/api.css +42 -0
  13. package/src/styles/typography.css +342 -0
  14. package/src/theme/Admonition/Icon/Danger.tsx +15 -0
  15. package/src/theme/Admonition/Icon/Info.tsx +15 -0
  16. package/src/theme/Admonition/Icon/Note.tsx +15 -0
  17. package/src/theme/Admonition/Icon/Tip.tsx +15 -0
  18. package/src/theme/Admonition/Icon/Warning.tsx +15 -0
  19. package/src/theme/Admonition/Layout/index.tsx +53 -0
  20. package/src/theme/Admonition/Layout/styles.module.css +39 -0
  21. package/src/theme/Admonition/Type/Caution.tsx +34 -0
  22. package/src/theme/Admonition/Type/Danger.tsx +32 -0
  23. package/src/theme/Admonition/Type/Info.tsx +32 -0
  24. package/src/theme/Admonition/Type/Note.tsx +32 -0
  25. package/src/theme/Admonition/Type/Tip.tsx +32 -0
  26. package/src/theme/Admonition/Type/Warning.tsx +32 -0
  27. package/src/theme/Admonition/Types.tsx +33 -0
  28. package/src/theme/Admonition/index.tsx +23 -0
  29. package/src/theme/AdmonitionVersioned/AddedInVersion.tsx +14 -0
  30. package/src/theme/AdmonitionVersioned/AdmonitionVersioned.tsx +66 -0
  31. package/src/theme/AdmonitionVersioned/ChangedInVersion.tsx +14 -0
  32. package/src/theme/AdmonitionVersioned/DeprecatedInVersion.tsx +15 -0
  33. package/src/theme/AdmonitionVersioned/getStableVersion.ts +30 -0
  34. package/src/theme/AdmonitionVersioned/index.ts +1 -0
  35. package/src/theme/AdmonitionVersioned/stableVersions.ts +119 -0
  36. package/src/theme/AnnouncementBar/CloseButton/index.tsx +24 -0
  37. package/src/theme/AnnouncementBar/CloseButton/styles.module.css +6 -0
  38. package/src/theme/AnnouncementBar/Content/index.tsx +21 -0
  39. package/src/theme/AnnouncementBar/Content/styles.module.css +12 -0
  40. package/src/theme/AnnouncementBar/index.tsx +37 -0
  41. package/src/theme/AnnouncementBar/styles.module.css +57 -0
  42. package/src/theme/BackToTopButton/index.tsx +30 -0
  43. package/src/theme/BackToTopButton/styles.module.css +39 -0
  44. package/src/theme/Blog/Components/Author/Socials/index.tsx +75 -0
  45. package/src/theme/Blog/Components/Author/Socials/styles.module.css +34 -0
  46. package/src/theme/Blog/Components/Author/index.tsx +98 -0
  47. package/src/theme/Blog/Components/Author/styles.module.css +69 -0
  48. package/src/theme/Blog/Pages/BlogAuthorsListPage/index.tsx +57 -0
  49. package/src/theme/Blog/Pages/BlogAuthorsListPage/styles.module.css +6 -0
  50. package/src/theme/Blog/Pages/BlogAuthorsPostsPage/index.tsx +77 -0
  51. package/src/theme/BlogArchivePage/index.tsx +102 -0
  52. package/src/theme/BlogLayout/index.tsx +31 -0
  53. package/src/theme/BlogListPage/StructuredData/index.tsx +17 -0
  54. package/src/theme/BlogListPage/index.tsx +57 -0
  55. package/src/theme/BlogListPaginator/index.tsx +47 -0
  56. package/src/theme/BlogPostItem/Container/index.tsx +11 -0
  57. package/src/theme/BlogPostItem/Content/index.tsx +23 -0
  58. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +39 -0
  59. package/src/theme/BlogPostItem/Footer/index.tsx +85 -0
  60. package/src/theme/BlogPostItem/Header/Authors/index.tsx +49 -0
  61. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +15 -0
  62. package/src/theme/BlogPostItem/Header/Info/index.tsx +77 -0
  63. package/src/theme/BlogPostItem/Header/Info/styles.module.css +5 -0
  64. package/src/theme/BlogPostItem/Header/Title/index.tsx +20 -0
  65. package/src/theme/BlogPostItem/Header/Title/styles.module.css +14 -0
  66. package/src/theme/BlogPostItem/Header/index.tsx +16 -0
  67. package/src/theme/BlogPostItem/index.tsx +27 -0
  68. package/src/theme/BlogPostItems/index.tsx +25 -0
  69. package/src/theme/BlogPostPage/Metadata/index.tsx +39 -0
  70. package/src/theme/BlogPostPage/StructuredData/index.tsx +16 -0
  71. package/src/theme/BlogPostPage/index.tsx +74 -0
  72. package/src/theme/BlogPostPaginator/index.tsx +46 -0
  73. package/src/theme/BlogSidebar/Content/index.tsx +52 -0
  74. package/src/theme/BlogSidebar/Desktop/index.tsx +52 -0
  75. package/src/theme/BlogSidebar/Desktop/styles.module.css +46 -0
  76. package/src/theme/BlogSidebar/Mobile/index.tsx +47 -0
  77. package/src/theme/BlogSidebar/Mobile/styles.module.css +5 -0
  78. package/src/theme/BlogSidebar/index.tsx +19 -0
  79. package/src/theme/BlogTagsListPage/index.tsx +33 -0
  80. package/src/theme/BlogTagsPostsPage/index.tsx +68 -0
  81. package/src/theme/CodeBlock/Buttons/Button/index.tsx +14 -0
  82. package/src/theme/CodeBlock/Buttons/CopyButton/index.tsx +82 -0
  83. package/src/theme/CodeBlock/Buttons/CopyButton/styles.module.css +42 -0
  84. package/src/theme/CodeBlock/Buttons/WordWrapButton/index.tsx +40 -0
  85. package/src/theme/CodeBlock/Buttons/WordWrapButton/styles.module.css +10 -0
  86. package/src/theme/CodeBlock/Buttons/index.tsx +27 -0
  87. package/src/theme/CodeBlock/Buttons/styles.module.css +32 -0
  88. package/src/theme/CodeBlock/Container/index.tsx +27 -0
  89. package/src/theme/CodeBlock/Container/styles.module.css +9 -0
  90. package/src/theme/CodeBlock/Content/Element.tsx +24 -0
  91. package/src/theme/CodeBlock/Content/String.tsx +37 -0
  92. package/src/theme/CodeBlock/Content/index.tsx +79 -0
  93. package/src/theme/CodeBlock/Content/styles.module.css +30 -0
  94. package/src/theme/CodeBlock/Layout/index.tsx +29 -0
  95. package/src/theme/CodeBlock/Layout/styles.module.css +22 -0
  96. package/src/theme/CodeBlock/Line/Token/index.tsx +13 -0
  97. package/src/theme/CodeBlock/Line/index.tsx +61 -0
  98. package/src/theme/CodeBlock/Line/styles.module.css +47 -0
  99. package/src/theme/CodeBlock/Title/index.tsx +10 -0
  100. package/src/theme/CodeBlock/index.tsx +40 -0
  101. package/src/theme/CodeInline/index.tsx +11 -0
  102. package/src/theme/ColorModeToggle/index.tsx +140 -0
  103. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  104. package/src/theme/ContentVisibility/Draft/index.tsx +22 -0
  105. package/src/theme/ContentVisibility/Unlisted/index.tsx +37 -0
  106. package/src/theme/ContentVisibility/index.tsx +20 -0
  107. package/src/theme/Details/index.tsx +21 -0
  108. package/src/theme/Details/styles.module.css +8 -0
  109. package/src/theme/DocBreadcrumbs/Items/Home/index.tsx +29 -0
  110. package/src/theme/DocBreadcrumbs/Items/Home/styles.module.css +9 -0
  111. package/src/theme/DocBreadcrumbs/StructuredData/index.tsx +19 -0
  112. package/src/theme/DocBreadcrumbs/index.tsx +98 -0
  113. package/src/theme/DocBreadcrumbs/styles.module.css +14 -0
  114. package/src/theme/DocCard/index.tsx +133 -0
  115. package/src/theme/DocCard/styles.module.css +29 -0
  116. package/src/theme/DocCardList/index.tsx +43 -0
  117. package/src/theme/DocCardList/styles.module.css +9 -0
  118. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +68 -0
  119. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +13 -0
  120. package/src/theme/DocItem/Content/index.tsx +43 -0
  121. package/src/theme/DocItem/Footer/index.tsx +51 -0
  122. package/src/theme/DocItem/Layout/index.tsx +66 -0
  123. package/src/theme/DocItem/Layout/styles.module.css +12 -0
  124. package/src/theme/DocItem/Metadata/index.tsx +17 -0
  125. package/src/theme/DocItem/Paginator/index.tsx +20 -0
  126. package/src/theme/DocItem/TOC/Desktop/index.tsx +19 -0
  127. package/src/theme/DocItem/TOC/Mobile/index.tsx +22 -0
  128. package/src/theme/DocItem/TOC/Mobile/styles.module.css +26 -0
  129. package/src/theme/DocItem/index.tsx +23 -0
  130. package/src/theme/DocPaginator/index.tsx +46 -0
  131. package/src/theme/DocRoot/Layout/Main/index.tsx +31 -0
  132. package/src/theme/DocRoot/Layout/Main/styles.module.css +23 -0
  133. package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/index.tsx +36 -0
  134. package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css +29 -0
  135. package/src/theme/DocRoot/Layout/Sidebar/index.tsx +79 -0
  136. package/src/theme/DocRoot/Layout/Sidebar/styles.module.css +34 -0
  137. package/src/theme/DocRoot/Layout/index.tsx +32 -0
  138. package/src/theme/DocRoot/Layout/styles.module.css +11 -0
  139. package/src/theme/DocRoot/index.tsx +29 -0
  140. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +34 -0
  141. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +42 -0
  142. package/src/theme/DocSidebar/Desktop/Content/index.tsx +56 -0
  143. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +18 -0
  144. package/src/theme/DocSidebar/Desktop/index.tsx +36 -0
  145. package/src/theme/DocSidebar/Desktop/styles.module.css +39 -0
  146. package/src/theme/DocSidebar/Mobile/index.tsx +49 -0
  147. package/src/theme/DocSidebar/index.tsx +25 -0
  148. package/src/theme/DocSidebarItem/Category/index.tsx +309 -0
  149. package/src/theme/DocSidebarItem/Category/styles.module.css +35 -0
  150. package/src/theme/DocSidebarItem/Html/index.tsx +30 -0
  151. package/src/theme/DocSidebarItem/Html/styles.module.css +8 -0
  152. package/src/theme/DocSidebarItem/Link/index.tsx +62 -0
  153. package/src/theme/DocSidebarItem/Link/styles.module.css +13 -0
  154. package/src/theme/DocSidebarItem/index.tsx +19 -0
  155. package/src/theme/DocSidebarItems/index.tsx +24 -0
  156. package/src/theme/DocTagDocListPage/index.tsx +113 -0
  157. package/src/theme/DocTagsListPage/index.tsx +52 -0
  158. package/src/theme/DocVersionBadge/index.tsx +29 -0
  159. package/src/theme/DocVersionBanner/index.tsx +171 -0
  160. package/src/theme/DocVersionRoot/index.tsx +46 -0
  161. package/src/theme/DocsRoot/index.tsx +17 -0
  162. package/src/theme/EditMetaRow/index.tsx +31 -0
  163. package/src/theme/EditMetaRow/styles.module.css +19 -0
  164. package/src/theme/EditThisPage/index.tsx +21 -0
  165. package/src/theme/ErrorPageContent.tsx +38 -0
  166. package/src/theme/Footer/Copyright/index.tsx +15 -0
  167. package/src/theme/Footer/Layout/index.tsx +42 -0
  168. package/src/theme/Footer/LinkItem/index.tsx +31 -0
  169. package/src/theme/Footer/Links/MultiColumn/index.tsx +53 -0
  170. package/src/theme/Footer/Links/Simple/index.tsx +38 -0
  171. package/src/theme/Footer/Links/index.tsx +16 -0
  172. package/src/theme/Footer/Logo/index.tsx +41 -0
  173. package/src/theme/Footer/Logo/styles.module.css +11 -0
  174. package/src/theme/Footer/index.tsx +28 -0
  175. package/src/theme/Heading/index.tsx +50 -0
  176. package/src/theme/Heading/styles.module.css +17 -0
  177. package/src/theme/Homepage/index.tsx +178 -0
  178. package/src/theme/Icon/AI/index.tsx +21 -0
  179. package/src/theme/Icon/AWS/index.tsx +22 -0
  180. package/src/theme/Icon/Arrow/index.tsx +15 -0
  181. package/src/theme/Icon/Azure/index.tsx +28 -0
  182. package/src/theme/Icon/Changelog/index.tsx +26 -0
  183. package/src/theme/Icon/ChatBubble/index.tsx +29 -0
  184. package/src/theme/Icon/ChatBubbles/index.tsx +42 -0
  185. package/src/theme/Icon/Close/index.tsx +21 -0
  186. package/src/theme/Icon/Cog/index.tsx +45 -0
  187. package/src/theme/Icon/Copy/index.tsx +15 -0
  188. package/src/theme/Icon/DarkMode/index.tsx +15 -0
  189. package/src/theme/Icon/Edit/index.tsx +24 -0
  190. package/src/theme/Icon/Edit/styles.module.css +6 -0
  191. package/src/theme/Icon/Envelope/index.tsx +33 -0
  192. package/src/theme/Icon/ExternalLink/index.tsx +30 -0
  193. package/src/theme/Icon/ExternalLink/styles.module.css +5 -0
  194. package/src/theme/Icon/Fusion/index.tsx +32 -0
  195. package/src/theme/Icon/GoogleCloud/index.tsx +56 -0
  196. package/src/theme/Icon/Home/index.tsx +15 -0
  197. package/src/theme/Icon/Language/index.tsx +24 -0
  198. package/src/theme/Icon/LightMode/index.tsx +15 -0
  199. package/src/theme/Icon/MCP/index.tsx +84 -0
  200. package/src/theme/Icon/Menu/index.tsx +29 -0
  201. package/src/theme/Icon/MultiQC/index.tsx +25 -0
  202. package/src/theme/Icon/Nextflow/index.tsx +25 -0
  203. package/src/theme/Icon/QuestionMark/index.tsx +46 -0
  204. package/src/theme/Icon/SeqeraCloud/index.tsx +35 -0
  205. package/src/theme/Icon/SeqeraEnterprise/index.tsx +372 -0
  206. package/src/theme/Icon/SeqeraLogo/index.tsx +22 -0
  207. package/src/theme/Icon/ServiceStatus/index.tsx +101 -0
  208. package/src/theme/Icon/Sidebar/index.tsx +8 -0
  209. package/src/theme/Icon/Socials/Bluesky/index.tsx +23 -0
  210. package/src/theme/Icon/Socials/Bluesky/styles.module.css +9 -0
  211. package/src/theme/Icon/Socials/Default/index.tsx +28 -0
  212. package/src/theme/Icon/Socials/Email/index.tsx +23 -0
  213. package/src/theme/Icon/Socials/GitHub/index.tsx +24 -0
  214. package/src/theme/Icon/Socials/GitHub/styles.module.css +9 -0
  215. package/src/theme/Icon/Socials/Instagram/index.tsx +23 -0
  216. package/src/theme/Icon/Socials/Instagram/styles.module.css +9 -0
  217. package/src/theme/Icon/Socials/LinkedIn/index.tsx +23 -0
  218. package/src/theme/Icon/Socials/LinkedIn/styles.module.css +9 -0
  219. package/src/theme/Icon/Socials/Mastodon/index.tsx +40 -0
  220. package/src/theme/Icon/Socials/StackOverflow/index.tsx +25 -0
  221. package/src/theme/Icon/Socials/Threads/index.tsx +25 -0
  222. package/src/theme/Icon/Socials/Threads/styles.module.css +9 -0
  223. package/src/theme/Icon/Socials/Twitch/index.tsx +32 -0
  224. package/src/theme/Icon/Socials/Twitter/index.tsx +22 -0
  225. package/src/theme/Icon/Socials/X/index.tsx +24 -0
  226. package/src/theme/Icon/Socials/X/styles.module.css +9 -0
  227. package/src/theme/Icon/Socials/YouTube/index.tsx +22 -0
  228. package/src/theme/Icon/Success/index.tsx +15 -0
  229. package/src/theme/Icon/SystemColorMode/index.tsx +15 -0
  230. package/src/theme/Icon/Wave/index.tsx +32 -0
  231. package/src/theme/Icon/WordWrap/index.tsx +15 -0
  232. package/src/theme/LastUpdated/index.tsx +91 -0
  233. package/src/theme/Layout/Provider/index.tsx +26 -0
  234. package/src/theme/Layout/index.tsx +59 -0
  235. package/src/theme/Layout/styles.module.css +23 -0
  236. package/src/theme/Logo/index.tsx +78 -0
  237. package/src/theme/MDXComponents/A/index.tsx +16 -0
  238. package/src/theme/MDXComponents/Button/index.tsx +43 -0
  239. package/src/theme/MDXComponents/Code.tsx +26 -0
  240. package/src/theme/MDXComponents/Details.tsx +26 -0
  241. package/src/theme/MDXComponents/Heading.tsx +9 -0
  242. package/src/theme/MDXComponents/Img/index.tsx +23 -0
  243. package/src/theme/MDXComponents/Img/styles.module.css +5 -0
  244. package/src/theme/MDXComponents/Li.tsx +17 -0
  245. package/src/theme/MDXComponents/Pre.tsx +10 -0
  246. package/src/theme/MDXComponents/Ul/index.tsx +25 -0
  247. package/src/theme/MDXComponents/Ul/styles.module.css +9 -0
  248. package/src/theme/MDXComponents/index.tsx +47 -0
  249. package/src/theme/MDXContent/index.tsx +10 -0
  250. package/src/theme/MDXPage/index.tsx +87 -0
  251. package/src/theme/MDXPage/styles.module.css +5 -0
  252. package/src/theme/Mermaid.tsx +11 -0
  253. package/src/theme/Navbar/ColorModeToggle/index.tsx +29 -0
  254. package/src/theme/Navbar/ColorModeToggle/styles.module.css +5 -0
  255. package/src/theme/Navbar/Content/index.tsx +152 -0
  256. package/src/theme/Navbar/Content/styles.module.css +19 -0
  257. package/src/theme/Navbar/Layout/index.tsx +59 -0
  258. package/src/theme/Navbar/Layout/styles.module.css +9 -0
  259. package/src/theme/Navbar/Logo/index.tsx +14 -0
  260. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +37 -0
  261. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +72 -0
  262. package/src/theme/Navbar/MobileSidebar/Layout/styles.module.css +11 -0
  263. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +90 -0
  264. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +34 -0
  265. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  266. package/src/theme/Navbar/MobileSidebar/index.tsx +28 -0
  267. package/src/theme/Navbar/Search/index.tsx +15 -0
  268. package/src/theme/Navbar/Search/styles.module.css +22 -0
  269. package/src/theme/Navbar/Submenu/SubmenuLinks.tsx +136 -0
  270. package/src/theme/Navbar/Submenu/index.tsx +84 -0
  271. package/src/theme/Navbar/Submenu/styles.module.css +82 -0
  272. package/src/theme/Navbar/index.tsx +13 -0
  273. package/src/theme/NavbarItem/ComponentTypes.tsx +27 -0
  274. package/src/theme/NavbarItem/DefaultNavbarItem/Desktop/index.tsx +29 -0
  275. package/src/theme/NavbarItem/DefaultNavbarItem/Mobile/index.tsx +18 -0
  276. package/src/theme/NavbarItem/DefaultNavbarItem/index.tsx +23 -0
  277. package/src/theme/NavbarItem/DocNavbarItem.tsx +38 -0
  278. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +33 -0
  279. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +189 -0
  280. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +22 -0
  281. package/src/theme/NavbarItem/DropdownNavbarItem/Desktop/index.tsx +81 -0
  282. package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/index.tsx +161 -0
  283. package/src/theme/NavbarItem/DropdownNavbarItem/Mobile/styles.module.css +5 -0
  284. package/src/theme/NavbarItem/DropdownNavbarItem/index.tsx +14 -0
  285. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +27 -0
  286. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +128 -0
  287. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +6 -0
  288. package/src/theme/NavbarItem/NavbarNavLink.tsx +69 -0
  289. package/src/theme/NavbarItem/SearchNavbarItem.tsx +21 -0
  290. package/src/theme/NavbarItem/index.tsx +23 -0
  291. package/src/theme/NotFound/Content/index.tsx +34 -0
  292. package/src/theme/NotFound/index.tsx +22 -0
  293. package/src/theme/PaginatorNavLink/index.tsx +21 -0
  294. package/src/theme/SearchBar.tsx +8 -0
  295. package/src/theme/SearchMetadata/index.tsx +38 -0
  296. package/src/theme/SiteMetadata/index.tsx +153 -0
  297. package/src/theme/SkipToContent/index.tsx +9 -0
  298. package/src/theme/SkipToContent/styles.module.css +16 -0
  299. package/src/theme/TOC/index.tsx +26 -0
  300. package/src/theme/TOC/styles.module.css +23 -0
  301. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +30 -0
  302. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +27 -0
  303. package/src/theme/TOCCollapsible/index.tsx +42 -0
  304. package/src/theme/TOCCollapsible/styles.module.css +26 -0
  305. package/src/theme/TOCInline/index.tsx +25 -0
  306. package/src/theme/TOCInline/styles.module.css +7 -0
  307. package/src/theme/TOCItems/Tree.tsx +40 -0
  308. package/src/theme/TOCItems/index.tsx +56 -0
  309. package/src/theme/TabItem/index.tsx +22 -0
  310. package/src/theme/TabItem/styles.module.css +5 -0
  311. package/src/theme/Tabs/index.tsx +167 -0
  312. package/src/theme/Tabs/styles.module.css +9 -0
  313. package/src/theme/Tag/index.tsx +30 -0
  314. package/src/theme/Tag/styles.module.css +65 -0
  315. package/src/theme/TagsListByLetter/index.tsx +40 -0
  316. package/src/theme/TagsListByLetter/styles.module.css +6 -0
  317. package/src/theme/TagsListInline/index.tsx +30 -0
  318. package/src/theme/TagsListInline/styles.module.css +10 -0
  319. package/src/theme/ThemeProvider/TitleFormatter/index.tsx +22 -0
  320. package/src/theme/ThemeProvider/index.tsx +9 -0
  321. package/src/theme/ThemedImage/index.tsx +21 -0
  322. package/src/theme/ThemedImage/styles.module.css +13 -0
  323. package/src/theme/pages/Home/index.tsx +19 -0
  324. package/src/theme/prism-include-languages.ts +39 -0
  325. package/src/theme-seqera.d.ts +2277 -0
  326. package/src/translations.ts +240 -0
  327. package/tailwind.config.js +7 -0
@@ -0,0 +1,29 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
6
+ import type {Props} from '@theme/NavbarItem/DefaultNavbarItem/Desktop';
7
+
8
+ export default function DefaultNavbarItemDesktop({
9
+ className,
10
+ isDropdownItem = false,
11
+ ...props
12
+ }: Props): ReactNode {
13
+ const element = (
14
+ <NavbarNavLink
15
+ className={clsx(
16
+ isDropdownItem ? 'dropdown__link' : 'navbar__link mr-8',
17
+ className,
18
+ )}
19
+ isDropdownLink={isDropdownItem}
20
+ {...props}
21
+ />
22
+ );
23
+
24
+ if (isDropdownItem) {
25
+ return <li>{element}</li>;
26
+ }
27
+
28
+ return element;
29
+ }
@@ -0,0 +1,18 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
6
+ import type {Props} from '@theme/NavbarItem/DefaultNavbarItem/Mobile';
7
+
8
+ export default function DefaultNavbarItemMobile({
9
+ className,
10
+ isDropdownItem,
11
+ ...props
12
+ }: Props): ReactNode {
13
+ return (
14
+ <li className="menu__list-item mb-3">
15
+ <NavbarNavLink className={clsx('menu__link', className)} {...props} />
16
+ </li>
17
+ );
18
+ }
@@ -0,0 +1,23 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import DefaultNavbarItemMobile from '@theme/NavbarItem/DefaultNavbarItem/Mobile';
5
+ import DefaultNavbarItemDesktop from '@theme/NavbarItem/DefaultNavbarItem/Desktop';
6
+ import type {Props} from '@theme/NavbarItem/DefaultNavbarItem';
7
+
8
+ export default function DefaultNavbarItem({
9
+ mobile = false,
10
+ position, // Need to destructure position from props so that it doesn't get passed on.
11
+ ...props
12
+ }: Props): ReactNode {
13
+ const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
14
+ return (
15
+ <Comp
16
+ {...props}
17
+ activeClassName={
18
+ props.activeClassName ??
19
+ (mobile ? 'menu__link--active' : 'navbar__link--active')
20
+ }
21
+ />
22
+ );
23
+ }
@@ -0,0 +1,38 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {
5
+ useActiveDocContext,
6
+ useLayoutDoc,
7
+ } from '@docusaurus/plugin-content-docs/client';
8
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
9
+ import type {Props} from '@theme/NavbarItem/DocNavbarItem';
10
+
11
+ export default function DocNavbarItem({
12
+ docId,
13
+ label: staticLabel,
14
+ docsPluginId,
15
+ ...props
16
+ }: Props): ReactNode {
17
+ const {activeDoc} = useActiveDocContext(docsPluginId);
18
+ const doc = useLayoutDoc(docId, docsPluginId);
19
+ const pageActive = activeDoc?.path === doc?.path;
20
+
21
+ // Draft and unlisted items are not displayed in the navbar.
22
+ if (doc === null || (doc.unlisted && !pageActive)) {
23
+ return null;
24
+ }
25
+
26
+ return (
27
+ <DefaultNavbarItem
28
+ exact
29
+ {...props}
30
+ isActive={() =>
31
+ pageActive ||
32
+ (!!activeDoc?.sidebar && activeDoc.sidebar === doc.sidebar)
33
+ }
34
+ label={staticLabel ?? doc.id}
35
+ to={doc.path}
36
+ />
37
+ );
38
+ }
@@ -0,0 +1,33 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {
5
+ useActiveDocContext,
6
+ useLayoutDocsSidebar,
7
+ } from '@docusaurus/plugin-content-docs/client';
8
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
9
+ import type {Props} from '@theme/NavbarItem/DocSidebarNavbarItem';
10
+
11
+ export default function DocSidebarNavbarItem({
12
+ sidebarId,
13
+ label,
14
+ docsPluginId,
15
+ ...props
16
+ }: Props): ReactNode {
17
+ const {activeDoc} = useActiveDocContext(docsPluginId);
18
+ const sidebarLink = useLayoutDocsSidebar(sidebarId, docsPluginId).link;
19
+ if (!sidebarLink) {
20
+ throw new Error(
21
+ `DocSidebarNavbarItem: Sidebar with ID "${sidebarId}" doesn't have anything to be linked to.`,
22
+ );
23
+ }
24
+ return (
25
+ <DefaultNavbarItem
26
+ exact
27
+ {...props}
28
+ isActive={() => activeDoc?.sidebar === sidebarId}
29
+ label={label ?? sidebarLink.label}
30
+ to={sidebarLink.path}
31
+ />
32
+ );
33
+ }
@@ -0,0 +1,189 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {
5
+ useVersions,
6
+ useActiveDocContext,
7
+ useDocsVersionCandidates,
8
+ useDocsPreferredVersion,
9
+ } from '@docusaurus/plugin-content-docs/client';
10
+ import {translate} from '@docusaurus/Translate';
11
+ import {useHistorySelector} from '@docusaurus/theme-common';
12
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
13
+ import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
14
+ import type {
15
+ Props,
16
+ PropVersions,
17
+ PropVersionItem,
18
+ } from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
19
+ import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
20
+ import type {
21
+ GlobalVersion,
22
+ GlobalDoc,
23
+ ActiveDocContext,
24
+ } from '@docusaurus/plugin-content-docs/client';
25
+
26
+ type VersionItem = {
27
+ version: GlobalVersion;
28
+ label: string;
29
+ };
30
+
31
+ function getVersionItems(
32
+ versions: GlobalVersion[],
33
+ configs?: PropVersions,
34
+ ): VersionItem[] {
35
+ if (configs) {
36
+ // Collect all the versions we have
37
+ const versionMap = new Map<string, GlobalVersion>(
38
+ versions.map((version) => [version.name, version]),
39
+ );
40
+
41
+ const toVersionItem = (
42
+ name: string,
43
+ config?: PropVersionItem,
44
+ ): VersionItem => {
45
+ const version = versionMap.get(name);
46
+ if (!version) {
47
+ throw new Error(`No docs version exist for name '${name}', please verify your 'docsVersionDropdown' navbar item versions config.
48
+ Available version names:\n- ${versions.map((v) => `${v.name}`).join('\n- ')}`);
49
+ }
50
+ return {version, label: config?.label ?? version.label};
51
+ };
52
+
53
+ if (Array.isArray(configs)) {
54
+ return configs.map((name) => toVersionItem(name, undefined));
55
+ } else {
56
+ return Object.entries(configs).map(([name, config]) =>
57
+ toVersionItem(name, config),
58
+ );
59
+ }
60
+ } else {
61
+ return versions.map((version) => ({version, label: version.label}));
62
+ }
63
+ }
64
+
65
+ function useVersionItems({
66
+ docsPluginId,
67
+ configs,
68
+ }: {
69
+ docsPluginId: Props['docsPluginId'];
70
+ configs: Props['versions'];
71
+ }): VersionItem[] {
72
+ const versions = useVersions(docsPluginId);
73
+ return getVersionItems(versions, configs);
74
+ }
75
+
76
+ function getVersionMainDoc(version: GlobalVersion): GlobalDoc {
77
+ return version.docs.find((doc) => doc.id === version.mainDocId)!;
78
+ }
79
+
80
+ function getVersionTargetDoc(
81
+ version: GlobalVersion,
82
+ activeDocContext: ActiveDocContext,
83
+ ): GlobalDoc {
84
+ // We try to link to the same doc, in another version
85
+ // When not possible, fallback to the "main doc" of the version
86
+ return (
87
+ activeDocContext.alternateDocVersions[version.name] ??
88
+ getVersionMainDoc(version)
89
+ );
90
+ }
91
+
92
+ // The version item to use for the "dropdown button"
93
+ function useDisplayedVersionItem({
94
+ docsPluginId,
95
+ versionItems,
96
+ }: {
97
+ docsPluginId: Props['docsPluginId'];
98
+ versionItems: VersionItem[];
99
+ }): VersionItem {
100
+ // The order of the candidates matters!
101
+ const candidates = useDocsVersionCandidates(docsPluginId);
102
+ const candidateItems = candidates
103
+ .map((candidate) => versionItems.find((vi) => vi.version === candidate))
104
+ .filter((vi) => vi !== undefined);
105
+ return candidateItems[0] ?? versionItems[0]!;
106
+ }
107
+
108
+ export default function DocsVersionDropdownNavbarItem({
109
+ mobile,
110
+ docsPluginId,
111
+ dropdownActiveClassDisabled,
112
+ dropdownItemsBefore,
113
+ dropdownItemsAfter,
114
+ versions: configs,
115
+ ...props
116
+ }: Props): ReactNode {
117
+ const search = useHistorySelector((history) => history.location.search);
118
+ const hash = useHistorySelector((history) => history.location.hash);
119
+ const activeDocContext = useActiveDocContext(docsPluginId);
120
+ const {savePreferredVersionName} = useDocsPreferredVersion(docsPluginId);
121
+ const versionItems = useVersionItems({docsPluginId, configs});
122
+ const displayedVersionItem = useDisplayedVersionItem({
123
+ docsPluginId,
124
+ versionItems,
125
+ });
126
+
127
+ function versionItemToLink({
128
+ version,
129
+ label,
130
+ }: VersionItem): LinkLikeNavbarItemProps {
131
+ const targetDoc = getVersionTargetDoc(version, activeDocContext);
132
+ return {
133
+ label,
134
+ // preserve ?search#hash suffix on version switches
135
+ to: `${targetDoc.path}${search}${hash}`,
136
+ isActive: () => version === activeDocContext.activeVersion,
137
+ onClick: () => savePreferredVersionName(version.name),
138
+ };
139
+ }
140
+
141
+ const items: LinkLikeNavbarItemProps[] = [
142
+ ...dropdownItemsBefore,
143
+ ...versionItems.map(versionItemToLink),
144
+ ...dropdownItemsAfter,
145
+ ];
146
+
147
+ // Mobile dropdown is handled a bit differently
148
+ const dropdownLabel =
149
+ mobile && items.length > 1
150
+ ? translate({
151
+ id: 'theme.navbar.mobileVersionsDropdown.label',
152
+ message: 'Versions',
153
+ description:
154
+ 'The label for the navbar versions dropdown on mobile view',
155
+ })
156
+ : displayedVersionItem.label;
157
+
158
+ const dropdownTo =
159
+ mobile && items.length > 1
160
+ ? undefined
161
+ : getVersionTargetDoc(displayedVersionItem.version, activeDocContext)
162
+ .path;
163
+
164
+ // We don't want to render a version dropdown with 0 or 1 item. If we build
165
+ // the site with a single docs version (onlyIncludeVersions: ['1.0.0']),
166
+ // We'd rather render a button instead of a dropdown
167
+ if (items.length <= 1) {
168
+ return (
169
+ <DefaultNavbarItem
170
+ {...props}
171
+ mobile={mobile}
172
+ label={dropdownLabel}
173
+ to={dropdownTo}
174
+ isActive={dropdownActiveClassDisabled ? () => false : undefined}
175
+ />
176
+ );
177
+ }
178
+
179
+ return (
180
+ <DropdownNavbarItem
181
+ {...props}
182
+ mobile={mobile}
183
+ label={dropdownLabel}
184
+ to={dropdownTo}
185
+ items={items}
186
+ isActive={dropdownActiveClassDisabled ? () => false : undefined}
187
+ />
188
+ );
189
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {useDocsVersionCandidates} from '@docusaurus/plugin-content-docs/client';
5
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
6
+ import type {Props} from '@theme/NavbarItem/DocsVersionNavbarItem';
7
+ import type {GlobalVersion} from '@docusaurus/plugin-content-docs/client';
8
+
9
+ const getVersionMainDoc = (version: GlobalVersion) =>
10
+ version.docs.find((doc) => doc.id === version.mainDocId)!;
11
+
12
+ export default function DocsVersionNavbarItem({
13
+ label: staticLabel,
14
+ to: staticTo,
15
+ docsPluginId,
16
+ ...props
17
+ }: Props): ReactNode {
18
+ const version = useDocsVersionCandidates(docsPluginId)[0];
19
+ const label = staticLabel ?? version.label;
20
+ const path = staticTo ?? getVersionMainDoc(version).path;
21
+ return <DefaultNavbarItem {...props} label={label} to={path} />;
22
+ }
@@ -0,0 +1,81 @@
1
+
2
+
3
+ import React, {useState, useRef, useEffect, type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
6
+ import NavbarItem from '@theme/NavbarItem';
7
+ import type {Props} from '@theme/NavbarItem/DropdownNavbarItem/Desktop';
8
+
9
+ export default function DropdownNavbarItemDesktop({
10
+ items,
11
+ position,
12
+ className,
13
+ onClick,
14
+ ...props
15
+ }: Props): ReactNode {
16
+ const dropdownRef = useRef<HTMLDivElement>(null);
17
+ const [showDropdown, setShowDropdown] = useState(false);
18
+
19
+ useEffect(() => {
20
+ const handleClickOutside = (
21
+ event: MouseEvent | TouchEvent | FocusEvent,
22
+ ) => {
23
+ if (
24
+ !dropdownRef.current ||
25
+ dropdownRef.current.contains(event.target as Node)
26
+ ) {
27
+ return;
28
+ }
29
+ setShowDropdown(false);
30
+ };
31
+
32
+ document.addEventListener('mousedown', handleClickOutside);
33
+ document.addEventListener('touchstart', handleClickOutside);
34
+ document.addEventListener('focusin', handleClickOutside);
35
+
36
+ return () => {
37
+ document.removeEventListener('mousedown', handleClickOutside);
38
+ document.removeEventListener('touchstart', handleClickOutside);
39
+ document.removeEventListener('focusin', handleClickOutside);
40
+ };
41
+ }, [dropdownRef]);
42
+
43
+ return (
44
+ <div
45
+ ref={dropdownRef}
46
+ className={clsx('navbar__item', 'dropdown', 'dropdown--hoverable', {
47
+ 'dropdown--right': position === 'right',
48
+ 'dropdown--show': showDropdown,
49
+ })}>
50
+ <NavbarNavLink
51
+ aria-haspopup="true"
52
+ aria-expanded={showDropdown}
53
+ role="button"
54
+ // # hash permits to make the <a> tag focusable in case no link target
55
+ // See https://github.com/facebook/docusaurus/pull/6003
56
+ // There's probably a better solution though...
57
+ href={props.to ? undefined : '#'}
58
+ className={clsx('navbar__link', className)}
59
+ {...props}
60
+ onClick={props.to ? undefined : (e) => e.preventDefault()}
61
+ onKeyDown={(e) => {
62
+ if (e.key === 'Enter') {
63
+ e.preventDefault();
64
+ setShowDropdown(!showDropdown);
65
+ }
66
+ }}>
67
+ {props.children ?? props.label}
68
+ </NavbarNavLink>
69
+ <ul className="dropdown__menu">
70
+ {items.map((childItemProps, i) => (
71
+ <NavbarItem
72
+ isDropdownItem
73
+ activeClassName="dropdown__link--active"
74
+ {...childItemProps}
75
+ key={i}
76
+ />
77
+ ))}
78
+ </ul>
79
+ </div>
80
+ );
81
+ }
@@ -0,0 +1,161 @@
1
+
2
+
3
+ import React, {useEffect, type ReactNode, type ComponentProps} from 'react';
4
+ import clsx from 'clsx';
5
+ import {
6
+ isRegexpStringMatch,
7
+ useCollapsible,
8
+ Collapsible,
9
+ } from '@docusaurus/theme-common';
10
+ import {isSamePath, useLocalPathname} from '@docusaurus/theme-common/internal';
11
+ import {translate} from '@docusaurus/Translate';
12
+ import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
13
+ import NavbarItem, {type LinkLikeNavbarItemProps} from '@theme/NavbarItem';
14
+ import type {Props} from '@theme/NavbarItem/DropdownNavbarItem/Mobile';
15
+ import styles from './styles.module.css';
16
+
17
+ function isItemActive(
18
+ item: LinkLikeNavbarItemProps,
19
+ localPathname: string,
20
+ ): boolean {
21
+ if (isSamePath(item.to, localPathname)) {
22
+ return true;
23
+ }
24
+ if (isRegexpStringMatch(item.activeBaseRegex, localPathname)) {
25
+ return true;
26
+ }
27
+ if (item.activeBasePath && localPathname.startsWith(item.activeBasePath)) {
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+
33
+ function containsActiveItems(
34
+ items: readonly LinkLikeNavbarItemProps[],
35
+ localPathname: string,
36
+ ): boolean {
37
+ return items.some((item) => isItemActive(item, localPathname));
38
+ }
39
+
40
+ function CollapseButton({
41
+ collapsed,
42
+ onClick,
43
+ }: {
44
+ collapsed: boolean;
45
+ onClick: ComponentProps<'button'>['onClick'];
46
+ }) {
47
+ return (
48
+ <button
49
+ aria-label={
50
+ collapsed
51
+ ? translate({
52
+ id: 'theme.navbar.mobileDropdown.collapseButton.expandAriaLabel',
53
+ message: 'Expand the dropdown',
54
+ description:
55
+ 'The ARIA label of the button to expand the mobile dropdown navbar item',
56
+ })
57
+ : translate({
58
+ id: 'theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel',
59
+ message: 'Collapse the dropdown',
60
+ description:
61
+ 'The ARIA label of the button to collapse the mobile dropdown navbar item',
62
+ })
63
+ }
64
+ aria-expanded={!collapsed}
65
+ type="button"
66
+ className="clean-btn menu__caret"
67
+ onClick={onClick}
68
+ />
69
+ );
70
+ }
71
+
72
+ function useItemCollapsible({active}: {active: boolean}) {
73
+ const {collapsed, toggleCollapsed, setCollapsed} = useCollapsible({
74
+ initialState: () => !active,
75
+ });
76
+
77
+ // Expand if any item active after a navigation
78
+ useEffect(() => {
79
+ if (active) {
80
+ setCollapsed(false);
81
+ }
82
+ }, [active, setCollapsed]);
83
+
84
+ return {
85
+ collapsed,
86
+ toggleCollapsed,
87
+ };
88
+ }
89
+
90
+ export default function DropdownNavbarItemMobile({
91
+ items,
92
+ className,
93
+ position, // Need to destructure position from props so that it doesn't get passed on.
94
+ onClick,
95
+ ...props
96
+ }: Props): ReactNode {
97
+ const localPathname = useLocalPathname();
98
+ const isActive = isSamePath(props.to, localPathname);
99
+ const containsActive = containsActiveItems(items, localPathname);
100
+
101
+ const {collapsed, toggleCollapsed} = useItemCollapsible({
102
+ active: isActive || containsActive,
103
+ });
104
+
105
+ // # hash permits to make the <a> tag focusable in case no link target
106
+ // See https://github.com/facebook/docusaurus/pull/6003
107
+ // There's probably a better solution though...
108
+ const href = props.to ? undefined : '#';
109
+
110
+ return (
111
+ <li
112
+ className={clsx('menu__list-item', {
113
+ 'menu__list-item--collapsed': collapsed,
114
+ })}>
115
+ <div
116
+ className={clsx('menu__list-item-collapsible', {
117
+ 'menu__list-item-collapsible--active': isActive,
118
+ })}>
119
+ <NavbarNavLink
120
+ role="button"
121
+ className={clsx(
122
+ styles.dropdownNavbarItemMobile,
123
+ 'menu__link menu__link--sublist',
124
+ className,
125
+ )}
126
+ href={href}
127
+ {...props}
128
+ onClick={(e) => {
129
+ // Prevent navigation when link is "#"
130
+ if (href === '#') {
131
+ e.preventDefault();
132
+ }
133
+ // Otherwise we let navigation eventually happen, and/or collapse
134
+ toggleCollapsed();
135
+ }}>
136
+ {props.children ?? props.label}
137
+ </NavbarNavLink>
138
+ <CollapseButton
139
+ collapsed={collapsed}
140
+ onClick={(e) => {
141
+ e.preventDefault();
142
+ toggleCollapsed();
143
+ }}
144
+ />
145
+ </div>
146
+
147
+ <Collapsible lazy as="ul" className="menu__list" collapsed={collapsed}>
148
+ {items.map((childItemProps, i) => (
149
+ <NavbarItem
150
+ mobile
151
+ isDropdownItem
152
+ onClick={onClick}
153
+ activeClassName="menu__link--active"
154
+ {...childItemProps}
155
+ key={i}
156
+ />
157
+ ))}
158
+ </Collapsible>
159
+ </li>
160
+ );
161
+ }
@@ -0,0 +1,5 @@
1
+
2
+
3
+ .dropdownNavbarItemMobile {
4
+ cursor: pointer;
5
+ }
@@ -0,0 +1,14 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import DropdownNavbarItemMobile from '@theme/NavbarItem/DropdownNavbarItem/Mobile';
5
+ import DropdownNavbarItemDesktop from '@theme/NavbarItem/DropdownNavbarItem/Desktop';
6
+ import type {Props} from '@theme/NavbarItem/DropdownNavbarItem';
7
+
8
+ export default function DropdownNavbarItem({
9
+ mobile = false,
10
+ ...props
11
+ }: Props): ReactNode {
12
+ const Comp = mobile ? DropdownNavbarItemMobile : DropdownNavbarItemDesktop;
13
+ return <Comp {...props} />;
14
+ }
@@ -0,0 +1,27 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+
6
+ import type {Props} from '@theme/NavbarItem/HtmlNavbarItem';
7
+
8
+ export default function HtmlNavbarItem({
9
+ value,
10
+ className,
11
+ mobile = false,
12
+ isDropdownItem = false,
13
+ }: Props): ReactNode {
14
+ const Comp = isDropdownItem ? 'li' : 'div';
15
+ return (
16
+ <Comp
17
+ className={clsx(
18
+ {
19
+ navbar__item: !mobile && !isDropdownItem,
20
+ 'menu__list-item': mobile,
21
+ },
22
+ className,
23
+ )}
24
+ dangerouslySetInnerHTML={{__html: value}}
25
+ />
26
+ );
27
+ }