@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,22 @@
1
+
2
+
3
+ .codeBlockContent {
4
+ position: relative;
5
+ /* rtl:ignore */
6
+ direction: ltr;
7
+ border-radius: inherit;
8
+ }
9
+
10
+ .codeBlockTitle {
11
+ border-bottom: 1px solid var(--ifm-color-emphasis-300);
12
+ font-size: var(--ifm-code-font-size);
13
+ font-weight: 500;
14
+ padding: 0.75rem var(--ifm-pre-padding);
15
+ border-top-left-radius: inherit;
16
+ border-top-right-radius: inherit;
17
+ }
18
+
19
+ .codeBlockTitle + .codeBlockContent .codeBlock {
20
+ border-top-left-radius: 0;
21
+ border-top-right-radius: 0;
22
+ }
@@ -0,0 +1,13 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import type {Props} from '@theme/CodeBlock/Line/Token';
5
+
6
+ // Pass-through components that users can swizzle and customize
7
+ export default function CodeBlockLineToken({
8
+ line,
9
+ token,
10
+ ...props
11
+ }: Props): ReactNode {
12
+ return <span {...props} />;
13
+ }
@@ -0,0 +1,61 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import LineToken from '@theme/CodeBlock/Line/Token';
6
+ import type {Props} from '@theme/CodeBlock/Line';
7
+
8
+ import styles from './styles.module.css';
9
+
10
+ type Token = Props['line'][number];
11
+
12
+ // Replaces '\n' by ''
13
+ // Historical code, not sure why we even need this :/
14
+ function fixLineBreak(line: Token[]) {
15
+ const singleLineBreakToken =
16
+ line.length === 1 && line[0]!.content === '\n' ? line[0] : undefined;
17
+
18
+ if (singleLineBreakToken) {
19
+ return [{...singleLineBreakToken, content: ''}];
20
+ }
21
+
22
+ return line;
23
+ }
24
+
25
+ export default function CodeBlockLine({
26
+ line: lineProp,
27
+ classNames,
28
+ showLineNumbers,
29
+ getLineProps,
30
+ getTokenProps,
31
+ }: Props): ReactNode {
32
+ const line = fixLineBreak(lineProp);
33
+
34
+ const lineProps = getLineProps({
35
+ line,
36
+ className: clsx(classNames, showLineNumbers && styles.codeLine),
37
+ });
38
+
39
+ const lineTokens = line.map((token, key) => {
40
+ const tokenProps = getTokenProps({token});
41
+ return (
42
+ <LineToken key={key} {...tokenProps} line={line} token={token}>
43
+ {tokenProps.children}
44
+ </LineToken>
45
+ );
46
+ });
47
+
48
+ return (
49
+ <span {...lineProps}>
50
+ {showLineNumbers ? (
51
+ <>
52
+ <span className={styles.codeLineNumber} />
53
+ <span className={styles.codeLineContent}>{lineTokens}</span>
54
+ </>
55
+ ) : (
56
+ lineTokens
57
+ )}
58
+ <br />
59
+ </span>
60
+ );
61
+ }
@@ -0,0 +1,47 @@
1
+
2
+
3
+ /* Intentionally has zero specificity, so that to be able to override
4
+ the background in custom CSS file due bug https://github.com/facebook/docusaurus/issues/3678 */
5
+ :where(:root) {
6
+ --docusaurus-highlighted-code-line-bg: rgb(72 77 91);
7
+ }
8
+
9
+ :where([data-theme='dark']) {
10
+ --docusaurus-highlighted-code-line-bg: rgb(100 100 100);
11
+ }
12
+
13
+ :global(.theme-code-block-highlighted-line) {
14
+ background-color: var(--docusaurus-highlighted-code-line-bg);
15
+ display: block;
16
+ margin: 0 calc(-1 * var(--ifm-pre-padding));
17
+ padding: 0 var(--ifm-pre-padding);
18
+ }
19
+
20
+ .codeLine {
21
+ display: table-row;
22
+ counter-increment: line-count;
23
+ }
24
+
25
+ .codeLineNumber {
26
+ display: table-cell;
27
+ text-align: right;
28
+ width: 1%;
29
+ position: sticky;
30
+ left: 0;
31
+ padding: 0 var(--ifm-pre-padding);
32
+ background: var(--ifm-pre-background);
33
+ overflow-wrap: normal;
34
+ }
35
+
36
+ .codeLineNumber::before {
37
+ content: counter(line-count);
38
+ opacity: 0.4;
39
+ }
40
+
41
+ :global(.theme-code-block-highlighted-line) .codeLineNumber::before {
42
+ opacity: 0.8;
43
+ }
44
+
45
+ .codeLineContent {
46
+ padding-right: var(--ifm-pre-padding);
47
+ }
@@ -0,0 +1,10 @@
1
+
2
+
3
+ import type {ReactNode} from 'react';
4
+
5
+ import type {Props} from '@theme/CodeBlock/Title';
6
+
7
+ // Just a pass-through component that users can swizzle and customize
8
+ export default function CodeBlockTitle({children}: Props): ReactNode {
9
+ return children;
10
+ }
@@ -0,0 +1,40 @@
1
+
2
+
3
+ import React, {isValidElement, type ReactNode} from 'react';
4
+ import useIsBrowser from '@docusaurus/useIsBrowser';
5
+ import ElementContent from '@theme/CodeBlock/Content/Element';
6
+ import StringContent from '@theme/CodeBlock/Content/String';
7
+ import type {Props} from '@theme/CodeBlock';
8
+
9
+ /**
10
+ * Best attempt to make the children a plain string so it is copyable. If there
11
+ * are react elements, we will not be able to copy the content, and it will
12
+ * return `children` as-is; otherwise, it concatenates the string children
13
+ * together.
14
+ */
15
+ function maybeStringifyChildren(children: ReactNode): ReactNode {
16
+ if (React.Children.toArray(children).some((el) => isValidElement(el))) {
17
+ return children;
18
+ }
19
+ // The children is now guaranteed to be one/more plain strings
20
+ return Array.isArray(children) ? children.join('') : (children as string);
21
+ }
22
+
23
+ export default function CodeBlock({
24
+ children: rawChildren,
25
+ ...props
26
+ }: Props): ReactNode {
27
+ // The Prism theme on SSR is always the default theme but the site theme can
28
+ // be in a different mode. React hydration doesn't update DOM styles that come
29
+ // from SSR. Hence force a re-render after mounting to apply the current
30
+ // relevant styles.
31
+ const isBrowser = useIsBrowser();
32
+ const children = maybeStringifyChildren(rawChildren);
33
+ const CodeBlockComp =
34
+ typeof children === 'string' ? StringContent : ElementContent;
35
+ return (
36
+ <CodeBlockComp key={String(isBrowser)} {...props}>
37
+ {children as string}
38
+ </CodeBlockComp>
39
+ );
40
+ }
@@ -0,0 +1,11 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import type {Props} from '@theme/CodeInline';
5
+
6
+ // Simple component used to render inline code blocks
7
+ // its purpose is to be swizzled and customized
8
+ // MDX 1 used to have a inlineCode comp, see https://mdxjs.com/migrating/v2/
9
+ export default function CodeInline(props: Props): ReactNode {
10
+ return <code {...props} />;
11
+ }
@@ -0,0 +1,140 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import useIsBrowser from '@docusaurus/useIsBrowser';
6
+ import {translate} from '@docusaurus/Translate';
7
+ import IconLightMode from '@theme/Icon/LightMode';
8
+ import IconDarkMode from '@theme/Icon/DarkMode';
9
+ import IconSystemColorMode from '@theme/Icon/SystemColorMode';
10
+ import type {Props} from '@theme/ColorModeToggle';
11
+ import type {ColorMode} from '@docusaurus/theme-common';
12
+
13
+ import styles from './styles.module.css';
14
+
15
+ // The order of color modes is defined here, and can be customized with swizzle
16
+ function getNextColorMode(
17
+ colorMode: ColorMode | null,
18
+ respectPrefersColorScheme: boolean,
19
+ ) {
20
+ // 2-value transition
21
+ if (!respectPrefersColorScheme) {
22
+ return colorMode === 'dark' ? 'light' : 'dark';
23
+ }
24
+
25
+ // 3-value transition
26
+ switch (colorMode) {
27
+ case null:
28
+ return 'light';
29
+ case 'light':
30
+ return 'dark';
31
+ case 'dark':
32
+ return null;
33
+ default:
34
+ throw new Error(`unexpected color mode ${colorMode}`);
35
+ }
36
+ }
37
+
38
+ function getColorModeLabel(colorMode: ColorMode | null): string {
39
+ switch (colorMode) {
40
+ case null:
41
+ return translate({
42
+ message: 'system mode',
43
+ id: 'theme.colorToggle.ariaLabel.mode.system',
44
+ description: 'The name for the system color mode',
45
+ });
46
+ case 'light':
47
+ return translate({
48
+ message: 'light mode',
49
+ id: 'theme.colorToggle.ariaLabel.mode.light',
50
+ description: 'The name for the light color mode',
51
+ });
52
+ case 'dark':
53
+ return translate({
54
+ message: 'dark mode',
55
+ id: 'theme.colorToggle.ariaLabel.mode.dark',
56
+ description: 'The name for the dark color mode',
57
+ });
58
+ default:
59
+ throw new Error(`unexpected color mode ${colorMode}`);
60
+ }
61
+ }
62
+
63
+ function getColorModeAriaLabel(colorMode: ColorMode | null) {
64
+ return translate(
65
+ {
66
+ message: 'Switch between dark and light mode (currently {mode})',
67
+ id: 'theme.colorToggle.ariaLabel',
68
+ description: 'The ARIA label for the color mode toggle',
69
+ },
70
+ {
71
+ mode: getColorModeLabel(colorMode),
72
+ },
73
+ );
74
+ }
75
+
76
+ function CurrentColorModeIcon(): ReactNode {
77
+ // 3 icons are always rendered for technical reasons
78
+ // We use "data-theme-choice" to render the correct one
79
+ // This must work even before React hydrates
80
+ return (
81
+ <>
82
+ <IconLightMode
83
+ // a18y is handled at the button level,
84
+ // not relying on button content (svg icons)
85
+ aria-hidden
86
+ className={clsx(styles.toggleIcon, styles.lightToggleIcon)}
87
+ />
88
+ <IconDarkMode
89
+ aria-hidden
90
+ className={clsx(styles.toggleIcon, styles.darkToggleIcon)}
91
+ />
92
+ <IconSystemColorMode
93
+ aria-hidden
94
+ className={clsx(styles.toggleIcon, styles.systemToggleIcon)}
95
+ />
96
+ </>
97
+ );
98
+ }
99
+
100
+ function ColorModeToggle({
101
+ className,
102
+ buttonClassName,
103
+ respectPrefersColorScheme,
104
+ value,
105
+ onChange,
106
+ }: Props): ReactNode {
107
+ const isBrowser = useIsBrowser();
108
+ return (
109
+ <div className={clsx(styles.toggle, className)}>
110
+ <button
111
+ className={clsx(
112
+ 'clean-btn',
113
+ styles.toggleButton,
114
+ !isBrowser && styles.toggleButtonDisabled,
115
+ buttonClassName,
116
+ )}
117
+ type="button"
118
+ onClick={() =>
119
+ onChange(getNextColorMode(value, respectPrefersColorScheme))
120
+ }
121
+ disabled={!isBrowser}
122
+ title={getColorModeLabel(value)}
123
+ aria-label={getColorModeAriaLabel(value)}
124
+
125
+ // For accessibility decisions
126
+ // See https://github.com/facebook/docusaurus/issues/7667#issuecomment-2724401796
127
+
128
+ // aria-live disabled on purpose - This is annoying because:
129
+ // - without this attribute, VoiceOver doesn't announce on button enter
130
+ // - with this attribute, VoiceOver announces twice on ctrl+opt+space
131
+ // - with this attribute, NVDA announces many times
132
+ // aria-live="polite"
133
+ >
134
+ <CurrentColorModeIcon />
135
+ </button>
136
+ </div>
137
+ );
138
+ }
139
+
140
+ export default React.memo(ColorModeToggle);
@@ -0,0 +1,35 @@
1
+
2
+
3
+ .toggle {
4
+ width: 2rem;
5
+ height: 2rem;
6
+ }
7
+
8
+ .toggleButton {
9
+ -webkit-tap-highlight-color: transparent;
10
+ align-items: center;
11
+ display: flex;
12
+ justify-content: center;
13
+ width: 100%;
14
+ height: 100%;
15
+ border-radius: 50%;
16
+ transition: background var(--ifm-transition-fast);
17
+ }
18
+
19
+ .toggleButton:hover {
20
+ background: var(--ifm-color-emphasis-200);
21
+ }
22
+
23
+ .toggleIcon {
24
+ display: none;
25
+ }
26
+
27
+ [data-theme-choice='system'] .systemToggleIcon,
28
+ [data-theme-choice='light'] .lightToggleIcon,
29
+ [data-theme-choice='dark'] .darkToggleIcon {
30
+ display: initial;
31
+ }
32
+
33
+ .toggleButtonDisabled {
34
+ cursor: not-allowed;
35
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {
6
+ ThemeClassNames,
7
+ DraftBannerTitle,
8
+ DraftBannerMessage,
9
+ } from '@docusaurus/theme-common';
10
+ import Admonition from '@theme/Admonition';
11
+ import type {Props} from '@theme/ContentVisibility/Draft';
12
+
13
+ export default function Draft({className}: Props): ReactNode {
14
+ return (
15
+ <Admonition
16
+ type="caution"
17
+ title={<DraftBannerTitle />}
18
+ className={clsx(className, ThemeClassNames.common.draftBanner)}>
19
+ <DraftBannerMessage />
20
+ </Admonition>
21
+ );
22
+ }
@@ -0,0 +1,37 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {
6
+ ThemeClassNames,
7
+ UnlistedBannerTitle,
8
+ UnlistedBannerMessage,
9
+ UnlistedMetadata,
10
+ } from '@docusaurus/theme-common';
11
+ import Admonition from '@theme/Admonition';
12
+ import type {Props} from '@theme/ContentVisibility/Unlisted';
13
+
14
+ function UnlistedBanner({className}: Props) {
15
+ return (
16
+ <Admonition
17
+ type="caution"
18
+ title={<UnlistedBannerTitle />}
19
+ className={clsx(className, ThemeClassNames.common.unlistedBanner)}>
20
+ <UnlistedBannerMessage />
21
+ </Admonition>
22
+ );
23
+ }
24
+
25
+ export default function Unlisted(props: Props): ReactNode {
26
+ return (
27
+ <>
28
+ {/*
29
+ Unlisted metadata declared here for simplicity.
30
+ Ensures we never forget to add the correct noindex metadata.
31
+ Also gives a central place for user to swizzle override default metadata.
32
+ */}
33
+ <UnlistedMetadata />
34
+ <UnlistedBanner {...props} />
35
+ </>
36
+ );
37
+ }
@@ -0,0 +1,20 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+
5
+ import type {Props} from '@theme/ContentVisibility';
6
+ import Draft from '@theme/ContentVisibility/Draft';
7
+ import Unlisted from '@theme/ContentVisibility/Unlisted';
8
+
9
+ export default function ContentVisibility({metadata}: Props): ReactNode {
10
+ const {unlisted, frontMatter} = metadata;
11
+ // Reading draft/unlisted status from frontMatter is useful to display
12
+ // the banners in dev mode (in dev, metadata.unlisted is always false)
13
+ // See https://github.com/facebook/docusaurus/issues/8285
14
+ return (
15
+ <>
16
+ {(unlisted || frontMatter.unlisted) && <Unlisted />}
17
+ {frontMatter.draft && <Draft />}
18
+ </>
19
+ );
20
+ }
@@ -0,0 +1,21 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {Details as DetailsGeneric} from '@docusaurus/theme-common/Details';
6
+ import type {Props} from '@theme/Details';
7
+
8
+ import styles from './styles.module.css';
9
+
10
+ // Should we have a custom details/summary comp in Infima instead of reusing
11
+ // alert classes?
12
+ const InfimaClasses = 'alert alert--info';
13
+
14
+ export default function Details({...props}: Props): ReactNode {
15
+ return (
16
+ <DetailsGeneric
17
+ {...props}
18
+ className={clsx(InfimaClasses, styles.details, props.className)}
19
+ />
20
+ );
21
+ }
@@ -0,0 +1,8 @@
1
+
2
+
3
+ .details {
4
+ --docusaurus-details-decoration-color: var(--ifm-alert-border-color);
5
+ --docusaurus-details-transition: transform var(--ifm-transition-fast) ease;
6
+ margin: 0 0 var(--ifm-spacing-vertical);
7
+ border: 1px solid var(--ifm-alert-border-color);
8
+ }
@@ -0,0 +1,29 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import Link from '@docusaurus/Link';
5
+ import useBaseUrl from '@docusaurus/useBaseUrl';
6
+ import {translate} from '@docusaurus/Translate';
7
+ import IconHome from '@theme/Icon/Home';
8
+
9
+ import styles from './styles.module.css';
10
+
11
+ export default function HomeBreadcrumbItem(): ReactNode {
12
+ const homeHref = useBaseUrl('/');
13
+
14
+ return (
15
+ <li className="breadcrumbs__item">
16
+ <Link
17
+ aria-label={translate({
18
+ id: 'theme.docs.breadcrumbs.home',
19
+ message: 'Home page',
20
+ description: 'The ARIA label for the home page in the breadcrumbs',
21
+ })}
22
+ className="breadcrumbs__link no-underline pr-1"
23
+ href={homeHref}>
24
+ Home
25
+ {/* <IconHome className={styles.breadcrumbHomeIcon} /> */}
26
+ </Link>
27
+ </li>
28
+ );
29
+ }
@@ -0,0 +1,9 @@
1
+
2
+
3
+ .breadcrumbHomeIcon {
4
+ position: relative;
5
+ top: 1px;
6
+ vertical-align: top;
7
+ height: 1.1rem;
8
+ width: 1.1rem;
9
+ }
@@ -0,0 +1,19 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import Head from '@docusaurus/Head';
5
+ import {useBreadcrumbsStructuredData} from '@docusaurus/plugin-content-docs/client';
6
+ import type {Props} from '@theme/DocBreadcrumbs/StructuredData';
7
+
8
+ export default function DocBreadcrumbsStructuredData(props: Props): ReactNode {
9
+ const structuredData = useBreadcrumbsStructuredData({
10
+ breadcrumbs: props.breadcrumbs,
11
+ });
12
+ return (
13
+ <Head>
14
+ <script type="application/ld+json">
15
+ {JSON.stringify(structuredData)}
16
+ </script>
17
+ </Head>
18
+ );
19
+ }
@@ -0,0 +1,98 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import {ThemeClassNames} from '@docusaurus/theme-common';
6
+ import {useSidebarBreadcrumbs} from '@docusaurus/plugin-content-docs/client';
7
+ import {useHomePageRoute} from '@docusaurus/theme-common/internal';
8
+ import Link from '@docusaurus/Link';
9
+ import {translate} from '@docusaurus/Translate';
10
+ import HomeBreadcrumbItem from '@theme/DocBreadcrumbs/Items/Home';
11
+ import DocBreadcrumbsStructuredData from '@theme/DocBreadcrumbs/StructuredData';
12
+
13
+ import styles from './styles.module.css';
14
+
15
+ // TODO move to design system folder
16
+ function BreadcrumbsItemLink({
17
+ children,
18
+ href,
19
+ isLast,
20
+ }: {
21
+ children: ReactNode;
22
+ href: string | undefined;
23
+ isLast: boolean;
24
+ }): ReactNode {
25
+ const className = 'breadcrumbs__link pr-1';
26
+ if (isLast) {
27
+ return <span className={className}>{children}</span>;
28
+ }
29
+ return href ? (
30
+ <Link className={className} href={href}>
31
+ <span>{children}</span>
32
+ </Link>
33
+ ) : (
34
+ <span className={className}>{children}</span>
35
+ );
36
+ }
37
+
38
+ // TODO move to design system folder
39
+ function BreadcrumbsItem({
40
+ children,
41
+ active,
42
+ }: {
43
+ children: ReactNode;
44
+ active?: boolean;
45
+ }): ReactNode {
46
+ return (
47
+ <li
48
+ className={clsx('breadcrumbs__item', {
49
+ 'breadcrumbs__item--active': active,
50
+ })}>
51
+ {children}
52
+ </li>
53
+ );
54
+ }
55
+
56
+ export default function DocBreadcrumbs(): ReactNode {
57
+ const breadcrumbs = useSidebarBreadcrumbs();
58
+ const homePageRoute = useHomePageRoute();
59
+
60
+ if (!breadcrumbs) {
61
+ return null;
62
+ }
63
+
64
+ return (
65
+ <>
66
+ <DocBreadcrumbsStructuredData breadcrumbs={breadcrumbs} />
67
+ <nav
68
+ className={clsx(
69
+ ThemeClassNames.docs.docBreadcrumbs,
70
+ styles.breadcrumbsContainer,
71
+ ''
72
+ )}
73
+ aria-label={translate({
74
+ id: 'theme.docs.breadcrumbs.navAriaLabel',
75
+ message: 'Breadcrumbs',
76
+ description: 'The ARIA label for the breadcrumbs',
77
+ })}>
78
+ <ul className="breadcrumbs">
79
+ {homePageRoute && <HomeBreadcrumbItem />}
80
+ {breadcrumbs.map((item, idx) => {
81
+ const isLast = idx === breadcrumbs.length - 1;
82
+ const href =
83
+ item.type === 'category' && item.linkUnlisted
84
+ ? undefined
85
+ : item.href;
86
+ return (
87
+ <BreadcrumbsItem key={idx}>
88
+ <BreadcrumbsItemLink href={href} isLast={isLast}>
89
+ {item.label}
90
+ </BreadcrumbsItemLink>
91
+ </BreadcrumbsItem>
92
+ );
93
+ })}
94
+ </ul>
95
+ </nav>
96
+ </>
97
+ );
98
+ }
@@ -0,0 +1,14 @@
1
+
2
+
3
+ .breadcrumbsContainer {
4
+ --ifm-breadcrumb-size-multiplier: 0.8;
5
+ margin-bottom: 0.8rem;
6
+
7
+ a, li, span {
8
+ transition: opacity .25s;
9
+ }
10
+ a:hover {
11
+ opacity: .8;
12
+ transition: opacity .25s;
13
+ }
14
+ }