@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,42 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {useCollapsible, Collapsible} from '@docusaurus/theme-common';
6
+ import TOCItems from '@theme/TOCItems';
7
+ import CollapseButton from '@theme/TOCCollapsible/CollapseButton';
8
+ import type {Props} from '@theme/TOCCollapsible';
9
+
10
+ import styles from './styles.module.css';
11
+
12
+ export default function TOCCollapsible({
13
+ toc,
14
+ className,
15
+ minHeadingLevel,
16
+ maxHeadingLevel,
17
+ }: Props): ReactNode {
18
+ const {collapsed, toggleCollapsed} = useCollapsible({
19
+ initialState: true,
20
+ });
21
+ return (
22
+ <div
23
+ className={clsx(
24
+ styles.tocCollapsible,
25
+ !collapsed && styles.tocCollapsibleExpanded,
26
+ className,
27
+ 'rounded-none!',
28
+ )}>
29
+ <CollapseButton collapsed={collapsed} onClick={toggleCollapsed} />
30
+ <Collapsible
31
+ lazy
32
+ className={styles.tocCollapsibleContent}
33
+ collapsed={collapsed}>
34
+ <TOCItems
35
+ toc={toc}
36
+ minHeadingLevel={minHeadingLevel}
37
+ maxHeadingLevel={maxHeadingLevel}
38
+ />
39
+ </Collapsible>
40
+ </div>
41
+ );
42
+ }
@@ -0,0 +1,26 @@
1
+
2
+
3
+ .tocCollapsible {
4
+ background-color: var(--ifm-menu-color-background-active);
5
+ border-radius: var(--ifm-global-radius);
6
+ margin: 1rem 0;
7
+ }
8
+
9
+ .tocCollapsibleContent > ul {
10
+ border-left: none;
11
+ border-top: 1px solid var(--ifm-color-emphasis-300);
12
+ padding: 0.2rem 0;
13
+ font-size: 15px;
14
+ }
15
+
16
+ .tocCollapsibleContent ul li {
17
+ margin: 0.4rem 0.8rem;
18
+ }
19
+
20
+ .tocCollapsibleContent a {
21
+ display: block;
22
+ }
23
+
24
+ .tocCollapsibleExpanded {
25
+ transform: none;
26
+ }
@@ -0,0 +1,25 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import TOCItems from '@theme/TOCItems';
5
+ import type {Props} from '@theme/TOCInline';
6
+
7
+ import styles from './styles.module.css';
8
+
9
+ export default function TOCInline({
10
+ toc,
11
+ minHeadingLevel,
12
+ maxHeadingLevel,
13
+ }: Props): ReactNode {
14
+ return (
15
+ <div className={styles.tableOfContentsInline}>
16
+ <TOCItems
17
+ toc={toc}
18
+ minHeadingLevel={minHeadingLevel}
19
+ maxHeadingLevel={maxHeadingLevel}
20
+ className="table-of-contents"
21
+ linkClassName={null}
22
+ />
23
+ </div>
24
+ );
25
+ }
@@ -0,0 +1,7 @@
1
+
2
+
3
+ .tableOfContentsInline ul {
4
+ list-style-type: disc;
5
+ font-size: initial;
6
+ padding-top: 0;
7
+ }
@@ -0,0 +1,40 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import Link from '@docusaurus/Link';
5
+ import type {Props} from '@theme/TOCItems/Tree';
6
+
7
+ // Recursive component rendering the toc tree
8
+ function TOCItemTree({
9
+ toc,
10
+ className,
11
+ linkClassName,
12
+ isChild,
13
+ }: Props): ReactNode {
14
+ if (!toc.length) {
15
+ return null;
16
+ }
17
+ return (
18
+ <ul className={`${isChild ? undefined : className}`}>
19
+ {toc.map((heading) => (
20
+ <li key={heading.id} className="pl-3">
21
+ <Link
22
+ to={`#${heading.id}`}
23
+ className={linkClassName ?? undefined}
24
+ // Developer provided the HTML, so assume it's safe.
25
+ dangerouslySetInnerHTML={{__html: heading.value}}
26
+ />
27
+ <TOCItemTree
28
+ isChild
29
+ toc={heading.children}
30
+ className={className}
31
+ linkClassName={linkClassName}
32
+ />
33
+ </li>
34
+ ))}
35
+ </ul>
36
+ );
37
+ }
38
+
39
+ // Memo only the tree root is enough
40
+ export default React.memo(TOCItemTree);
@@ -0,0 +1,56 @@
1
+
2
+
3
+ import React, {type ReactNode, useMemo} from 'react';
4
+ import {useThemeConfig} from '@docusaurus/theme-common';
5
+ import {
6
+ useTOCHighlight,
7
+ useFilteredAndTreeifiedTOC,
8
+ type TOCHighlightConfig,
9
+ } from '@docusaurus/theme-common/internal';
10
+ import TOCItemTree from '@theme/TOCItems/Tree';
11
+ import type {Props} from '@theme/TOCItems';
12
+
13
+ export default function TOCItems({
14
+ toc,
15
+ className = 'table-of-contents table-of-contents__left-border border-l border-base-content/20 leading-7',
16
+ linkClassName = 'table-of-contents__link',
17
+ linkActiveClassName = undefined,
18
+ minHeadingLevel: minHeadingLevelOption,
19
+ maxHeadingLevel: maxHeadingLevelOption,
20
+ ...props
21
+ }: Props): ReactNode {
22
+ const themeConfig = useThemeConfig();
23
+
24
+ const minHeadingLevel =
25
+ minHeadingLevelOption ?? themeConfig.tableOfContents.minHeadingLevel;
26
+ const maxHeadingLevel =
27
+ maxHeadingLevelOption ?? themeConfig.tableOfContents.maxHeadingLevel;
28
+
29
+ const tocTree = useFilteredAndTreeifiedTOC({
30
+ toc,
31
+ minHeadingLevel,
32
+ maxHeadingLevel,
33
+ });
34
+
35
+ const tocHighlightConfig: TOCHighlightConfig | undefined = useMemo(() => {
36
+ if (linkClassName && linkActiveClassName) {
37
+ return {
38
+ linkClassName,
39
+ linkActiveClassName,
40
+ minHeadingLevel,
41
+ maxHeadingLevel,
42
+ };
43
+ }
44
+ return undefined;
45
+ }, [linkClassName, linkActiveClassName, minHeadingLevel, maxHeadingLevel]);
46
+ useTOCHighlight(tocHighlightConfig);
47
+
48
+ return (
49
+ <TOCItemTree
50
+ toc={tocTree}
51
+ className={className}
52
+ linkClassName={linkClassName}
53
+ {...props}
54
+ />
55
+ );
56
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import type {Props} from '@theme/TabItem';
6
+
7
+ import styles from './styles.module.css';
8
+
9
+ export default function TabItem({
10
+ children,
11
+ hidden,
12
+ className,
13
+ }: Props): ReactNode {
14
+ return (
15
+ <div
16
+ role="tabpanel"
17
+ className={clsx(styles.tabItem, className)}
18
+ {...{hidden}}>
19
+ {children}
20
+ </div>
21
+ );
22
+ }
@@ -0,0 +1,5 @@
1
+
2
+
3
+ .tabItem > *:last-child {
4
+ margin-bottom: 0;
5
+ }
@@ -0,0 +1,167 @@
1
+
2
+
3
+ import React, {cloneElement, type ReactElement, type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {ThemeClassNames} from '@docusaurus/theme-common';
6
+ import {
7
+ useScrollPositionBlocker,
8
+ useTabs,
9
+ sanitizeTabsChildren,
10
+ type TabItemProps,
11
+ } from '@docusaurus/theme-common/internal';
12
+ import useIsBrowser from '@docusaurus/useIsBrowser';
13
+ import type {Props} from '@theme/Tabs';
14
+ import styles from './styles.module.css';
15
+
16
+ function TabList({
17
+ className,
18
+ block,
19
+ selectedValue,
20
+ selectValue,
21
+ tabValues,
22
+ }: Props & ReturnType<typeof useTabs>) {
23
+ const tabRefs: (HTMLLIElement | null)[] = [];
24
+ const {blockElementScrollPositionUntilNextRender} =
25
+ useScrollPositionBlocker();
26
+
27
+ const handleTabChange = (
28
+ event:
29
+ | React.FocusEvent<HTMLLIElement>
30
+ | React.MouseEvent<HTMLLIElement>
31
+ | React.KeyboardEvent<HTMLLIElement>,
32
+ ) => {
33
+ const newTab = event.currentTarget;
34
+ const newTabIndex = tabRefs.indexOf(newTab);
35
+ const newTabValue = tabValues[newTabIndex]!.value;
36
+
37
+ if (newTabValue !== selectedValue) {
38
+ blockElementScrollPositionUntilNextRender(newTab);
39
+ selectValue(newTabValue);
40
+ }
41
+ };
42
+
43
+ const handleKeydown = (event: React.KeyboardEvent<HTMLLIElement>) => {
44
+ let focusElement: HTMLLIElement | null = null;
45
+
46
+ switch (event.key) {
47
+ case 'Enter': {
48
+ handleTabChange(event);
49
+ break;
50
+ }
51
+ case 'ArrowRight': {
52
+ const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
53
+ focusElement = tabRefs[nextTab] ?? tabRefs[0]!;
54
+ break;
55
+ }
56
+ case 'ArrowLeft': {
57
+ const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
58
+ focusElement = tabRefs[prevTab] ?? tabRefs[tabRefs.length - 1]!;
59
+ break;
60
+ }
61
+ default:
62
+ break;
63
+ }
64
+
65
+ focusElement?.focus();
66
+ };
67
+
68
+ return (
69
+ <ul
70
+ role="tablist"
71
+ aria-orientation="horizontal"
72
+ className={clsx(
73
+ 'tabs',
74
+ {
75
+ 'tabs--block': block,
76
+ },
77
+ className,
78
+ )}>
79
+ {tabValues.map(({value, label, attributes}) => (
80
+ <li
81
+ // TODO extract TabListItem
82
+ role="tab"
83
+ tabIndex={selectedValue === value ? 0 : -1}
84
+ aria-selected={selectedValue === value}
85
+ key={value}
86
+ ref={(tabControl) => {
87
+ tabRefs.push(tabControl);
88
+ }}
89
+ onKeyDown={handleKeydown}
90
+ onClick={handleTabChange}
91
+ {...attributes}
92
+ className={clsx(
93
+ 'tabs__item',
94
+ styles.tabItem,
95
+ attributes?.className as string,
96
+ {
97
+ 'tabs__item--active': selectedValue === value,
98
+ },
99
+ )}>
100
+ {label ?? value}
101
+ </li>
102
+ ))}
103
+ </ul>
104
+ );
105
+ }
106
+
107
+ function TabContent({
108
+ lazy,
109
+ children,
110
+ selectedValue,
111
+ }: Props & ReturnType<typeof useTabs>) {
112
+ const childTabs = (Array.isArray(children) ? children : [children]).filter(
113
+ Boolean,
114
+ ) as ReactElement<TabItemProps>[];
115
+ if (lazy) {
116
+ const selectedTabItem = childTabs.find(
117
+ (tabItem) => tabItem.props.value === selectedValue,
118
+ );
119
+ if (!selectedTabItem) {
120
+ // fail-safe or fail-fast? not sure what's best here
121
+ return null;
122
+ }
123
+ return cloneElement(selectedTabItem, {
124
+ className: clsx('margin-top--md', selectedTabItem.props.className),
125
+ });
126
+ }
127
+ return (
128
+ <div className="margin-top--md">
129
+ {childTabs.map((tabItem, i) =>
130
+ cloneElement(tabItem, {
131
+ key: i,
132
+ hidden: tabItem.props.value !== selectedValue,
133
+ }),
134
+ )}
135
+ </div>
136
+ );
137
+ }
138
+
139
+ function TabsComponent(props: Props): ReactNode {
140
+ const tabs = useTabs(props);
141
+ return (
142
+ <div
143
+ className={clsx(
144
+ ThemeClassNames.tabs.container,
145
+ // former name kept for backward compatibility
146
+ // see https://github.com/facebook/docusaurus/pull/4086
147
+ 'tabs-container',
148
+ styles.tabList,
149
+ )}>
150
+ <TabList {...tabs} {...props} />
151
+ <TabContent {...tabs} {...props} />
152
+ </div>
153
+ );
154
+ }
155
+
156
+ export default function Tabs(props: Props): ReactNode {
157
+ const isBrowser = useIsBrowser();
158
+ return (
159
+ <TabsComponent
160
+ // Remount tabs after hydration
161
+ // Temporary fix for https://github.com/facebook/docusaurus/issues/5653
162
+ key={String(isBrowser)}
163
+ {...props}>
164
+ {sanitizeTabsChildren(props.children)}
165
+ </TabsComponent>
166
+ );
167
+ }
@@ -0,0 +1,9 @@
1
+
2
+
3
+ .tabList {
4
+ margin-bottom: var(--ifm-leading);
5
+ }
6
+
7
+ .tabItem {
8
+ margin-top: 0 !important;
9
+ }
@@ -0,0 +1,30 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import Link from '@docusaurus/Link';
6
+ import type {Props} from '@theme/Tag';
7
+
8
+ import styles from './styles.module.css';
9
+
10
+ export default function Tag({
11
+ permalink,
12
+ label,
13
+ count,
14
+ description,
15
+ }: Props): ReactNode {
16
+ return (
17
+ <Link
18
+ rel="tag"
19
+ href={permalink}
20
+ title={description}
21
+ className={clsx(
22
+ styles.tag,
23
+ count ? styles.tagWithCount : styles.tagRegular,
24
+ ' text-black dark:text-gray-800'
25
+ )}>
26
+ {label}
27
+ {count && <span>{count}</span>}
28
+ </Link>
29
+ );
30
+ }
@@ -0,0 +1,65 @@
1
+
2
+
3
+ :root {
4
+ --docusaurus-tag-list-border: var(--ifm-color-emphasis-300);
5
+ }
6
+
7
+ .tag {
8
+ border: 1px solid var(--docusaurus-tag-list-border);
9
+ transition: border var(--ifm-transition-fast);
10
+ }
11
+
12
+ .tag:hover {
13
+ --docusaurus-tag-list-border:var(--ifm-color-emphasis-600);
14
+ text-decoration: none;
15
+ }
16
+
17
+ .tagRegular {
18
+ border-radius: var(--ifm-global-radius);
19
+ padding: 0.2rem 0.5rem 0.3rem;
20
+ font-size: 80%;
21
+ }
22
+
23
+ .tagWithCount {
24
+ display: flex;
25
+ align-items: center;
26
+ position: relative;
27
+ padding: 0 0.5rem 0 1rem;
28
+ border-left: 0;
29
+ }
30
+
31
+ .tagWithCount::before,
32
+ .tagWithCount::after {
33
+ content: '';
34
+ position: absolute;
35
+ top: 50%;
36
+ border: 1px solid var(--docusaurus-tag-list-border);
37
+ transition: inherit;
38
+ }
39
+
40
+ .tagWithCount::before {
41
+ right: 100%;
42
+ transform: translate(50%, -50%) rotate(-45deg);
43
+ width: 1.18rem;
44
+ height: 1.18rem;
45
+ border-right: 0;
46
+ border-bottom: 0;
47
+ }
48
+
49
+ .tagWithCount::after {
50
+ left: 0;
51
+ transform: translateY(-50%);
52
+ width: 0.5rem;
53
+ height: 0.5rem;
54
+ border-radius: 50%;
55
+ }
56
+
57
+ .tagWithCount span {
58
+ background: var(--ifm-color-secondary);
59
+ color: var(--ifm-color-black);
60
+ font-size: 0.7rem;
61
+ line-height: 1.2;
62
+ border-radius: var(--ifm-global-radius);
63
+ padding: 0.1rem 0.4rem;
64
+ margin-left: 0.3rem;
65
+ }
@@ -0,0 +1,40 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {listTagsByLetters, type TagLetterEntry} from '@docusaurus/theme-common';
5
+ import Tag from '@theme/Tag';
6
+ import type {Props} from '@theme/TagsListByLetter';
7
+ import Heading from '@theme/Heading';
8
+ import styles from './styles.module.css';
9
+
10
+ function TagLetterEntryItem({letterEntry}: {letterEntry: TagLetterEntry}) {
11
+ return (
12
+ <article>
13
+ <Heading as="h2" id={letterEntry.letter}>
14
+ {letterEntry.letter}
15
+ </Heading>
16
+ <ul className="padding--none">
17
+ {letterEntry.tags.map((tag) => (
18
+ <li key={tag.permalink} className={styles.tag}>
19
+ <Tag {...tag} />
20
+ </li>
21
+ ))}
22
+ </ul>
23
+ <hr />
24
+ </article>
25
+ );
26
+ }
27
+
28
+ export default function TagsListByLetter({tags}: Props): ReactNode {
29
+ const letterList = listTagsByLetters(tags);
30
+ return (
31
+ <section className="margin-vert--lg">
32
+ {letterList.map((letterEntry) => (
33
+ <TagLetterEntryItem
34
+ key={letterEntry.letter}
35
+ letterEntry={letterEntry}
36
+ />
37
+ ))}
38
+ </section>
39
+ );
40
+ }
@@ -0,0 +1,6 @@
1
+
2
+
3
+ .tag {
4
+ display: inline-block;
5
+ margin: 0.5rem 0.5rem 0 1rem;
6
+ }
@@ -0,0 +1,30 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import Translate from '@docusaurus/Translate';
6
+ import Tag from '@theme/Tag';
7
+ import type {Props} from '@theme/TagsListInline';
8
+
9
+ import styles from './styles.module.css';
10
+
11
+ export default function TagsListInline({tags}: Props): ReactNode {
12
+ return (
13
+ <>
14
+ <b className="text-[.8rem]">
15
+ <Translate
16
+ id="theme.tags.tagsListLabel"
17
+ description="The label alongside a tag list">
18
+ Tags:
19
+ </Translate>
20
+ </b>
21
+ <ul className={clsx(styles.tags, 'padding--none', 'ml-1')}>
22
+ {tags.map((tag) => (
23
+ <li key={tag.permalink} className={styles.tag}>
24
+ <Tag {...tag} />
25
+ </li>
26
+ ))}
27
+ </ul>
28
+ </>
29
+ );
30
+ }
@@ -0,0 +1,10 @@
1
+
2
+
3
+ .tags {
4
+ display: inline;
5
+ }
6
+
7
+ .tag {
8
+ margin: 0 0.24rem 0.5rem 0;
9
+ display: inline-block;
10
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+ import React, {type ComponentProps, type ReactNode} from 'react';
4
+ import {TitleFormatterProvider} from '@docusaurus/theme-common/internal';
5
+ import type {Props} from '@theme/ThemeProvider/TitleFormatter';
6
+
7
+ type FormatterProp = ComponentProps<typeof TitleFormatterProvider>['formatter'];
8
+
9
+ const formatter: FormatterProp = (params) => {
10
+ // Add your own title formatting logic here!
11
+ return params.defaultFormatter(params);
12
+ };
13
+
14
+ export default function ThemeProviderTitleFormatter({
15
+ children,
16
+ }: Props): ReactNode {
17
+ return (
18
+ <TitleFormatterProvider formatter={formatter}>
19
+ {children}
20
+ </TitleFormatterProvider>
21
+ );
22
+ }
@@ -0,0 +1,9 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import TitleFormatterProvider from '@theme/ThemeProvider/TitleFormatter';
5
+ import type {Props} from '@theme/ThemeProvider';
6
+
7
+ export default function ThemeProvider({children}: Props): ReactNode {
8
+ return <TitleFormatterProvider>{children}</TitleFormatterProvider>;
9
+ }
@@ -0,0 +1,21 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {ThemedComponent} from '@docusaurus/theme-common';
5
+ import type {Props} from '@theme/ThemedImage';
6
+
7
+ export default function ThemedImage(props: Props): ReactNode {
8
+ const {sources, className: parentClassName, alt, ...propsRest} = props;
9
+ return (
10
+ <ThemedComponent className={parentClassName}>
11
+ {({theme, className}) => (
12
+ <img
13
+ src={sources[theme]}
14
+ alt={alt}
15
+ className={className}
16
+ {...propsRest}
17
+ />
18
+ )}
19
+ </ThemedComponent>
20
+ );
21
+ }
@@ -0,0 +1,13 @@
1
+
2
+
3
+ .themedImage {
4
+ display: none;
5
+ }
6
+
7
+ [data-theme='light'] .themedImage--light {
8
+ display: initial;
9
+ }
10
+
11
+ [data-theme='dark'] .themedImage--dark {
12
+ display: initial;
13
+ }
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import type {ReactNode} from 'react';
3
+ import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
4
+ import Layout from '@theme/Layout';
5
+ import Homepage from '@theme/Homepage';
6
+
7
+ export default function Home(): ReactNode {
8
+ const {siteConfig} = useDocusaurusContext();
9
+
10
+ return (
11
+ <Layout
12
+ title={siteConfig.title}
13
+ description={siteConfig.tagline}>
14
+ <main>
15
+ <Homepage />
16
+ </main>
17
+ </Layout>
18
+ );
19
+ }