@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,37 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
5
+ import {translate} from '@docusaurus/Translate';
6
+ import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle';
7
+ import IconClose from '@theme/Icon/Close';
8
+ import NavbarLogo from '@theme/Navbar/Logo';
9
+
10
+ function CloseButton() {
11
+ const mobileSidebar = useNavbarMobileSidebar();
12
+ return (
13
+ <button
14
+ type="button"
15
+ aria-label={translate({
16
+ id: 'theme.docs.sidebar.closeSidebarButtonAriaLabel',
17
+ message: 'Close navigation bar',
18
+ description: 'The ARIA label for close button of mobile sidebar',
19
+ })}
20
+ className="clean-btn navbar-sidebar__close"
21
+ onClick={() => mobileSidebar.toggle()}>
22
+ <IconClose color="var(--ifm-color-emphasis-600)" />
23
+ </button>
24
+ );
25
+ }
26
+
27
+ export default function NavbarMobileSidebarHeader(): ReactNode {
28
+ return (
29
+ <div className="navbar-sidebar__brand w-full px-4 flex justify-between">
30
+ <div>
31
+ <NavbarLogo />
32
+ </div>
33
+ {/* <NavbarColorModeToggle className="margin-right--md" /> */}
34
+ <CloseButton />
35
+ </div>
36
+ );
37
+ }
@@ -0,0 +1,72 @@
1
+ import React, {version, type ReactNode} from 'react';
2
+ import clsx from 'clsx';
3
+ import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal';
4
+ import {ThemeClassNames} from '@docusaurus/theme-common';
5
+ import type {Props} from '@theme/Navbar/MobileSidebar/Layout';
6
+ import styles from './styles.module.css';
7
+
8
+ // TODO Docusaurus v4: remove temporary inert workaround
9
+ // See https://github.com/facebook/react/issues/17157
10
+ // See https://github.com/radix-ui/themes/pull/509
11
+ function inertProps(inert: boolean) {
12
+ const isBeforeReact19 = parseInt(version!.split('.')[0]!, 10) < 19;
13
+ if (isBeforeReact19) {
14
+ return {inert: inert ? '' : undefined};
15
+ }
16
+ return {inert};
17
+ }
18
+
19
+ function NavbarMobileSidebarPanel({
20
+ children,
21
+ inert,
22
+ }: {
23
+ children: ReactNode;
24
+ inert: boolean;
25
+ }) {
26
+ return (
27
+ <div
28
+ className={clsx(
29
+ 'relative w-full h-full p-4',
30
+ // ThemeClassNames.layout.navbar.mobileSidebar.panel,
31
+ // 'navbar-sidebar__item menu',
32
+ )}
33
+ {...inertProps(inert)}>
34
+ {children}
35
+ </div>
36
+ );
37
+ }
38
+
39
+ export default function NavbarMobileSidebarLayout({
40
+ header,
41
+ primaryMenu,
42
+ secondaryMenu,
43
+ }: Props): ReactNode {
44
+ const {shown: secondaryMenuShown} = useNavbarSecondaryMenu();
45
+ return (
46
+ <div
47
+ className={clsx(
48
+ ThemeClassNames.layout.navbar.mobileSidebar.container,
49
+ 'navbar-sidebar',
50
+ )}>
51
+ {header}
52
+
53
+ <div
54
+ className={clsx('mobilemenu', {
55
+ hidden: secondaryMenuShown,
56
+ })}>
57
+ <NavbarMobileSidebarPanel inert={secondaryMenuShown}>
58
+ {primaryMenu}
59
+ </NavbarMobileSidebarPanel>
60
+ </div>
61
+ <div
62
+ className={clsx('mobilemenu', {
63
+ 'flex': secondaryMenuShown,
64
+ 'hidden' : !secondaryMenuShown,
65
+ })}>
66
+ <NavbarMobileSidebarPanel inert={!secondaryMenuShown}>
67
+ {secondaryMenu}
68
+ </NavbarMobileSidebarPanel>
69
+ </div>
70
+ </div>
71
+ );
72
+ }
@@ -0,0 +1,11 @@
1
+ .theme-layout-navbar {
2
+
3
+ .mobilemenu {
4
+ display: none;
5
+ }
6
+ &.navbar-sidebar--show {
7
+ .mobilemenu {
8
+ display: block;
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,90 @@
1
+ import React, {type ReactNode} from 'react';
2
+ import {useThemeConfig} from '@docusaurus/theme-common';
3
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
4
+ import NavbarItem, {type Props as NavbarItemConfig} from '@theme/NavbarItem';
5
+ import SubmenuLinks from '../../Submenu/SubmenuLinks';
6
+ import Link from '@docusaurus/Link';
7
+
8
+ function useNavbarItems() {
9
+ // TODO temporary casting until ThemeConfig type is improved
10
+ return useThemeConfig().navbar.items as NavbarItemConfig[];
11
+ }
12
+
13
+ // The primary menu displays the navbar items
14
+ export default function NavbarMobilePrimaryMenu(): ReactNode {
15
+ const mobileSidebar = useNavbarMobileSidebar();
16
+
17
+ // TODO how can the order be defined for mobile?
18
+ // Should we allow providing a different list of items?
19
+ const items = useNavbarItems();
20
+
21
+ return (
22
+ <div>
23
+ <div className="relative flex flex-row justify-center items-stretch w-full max-w-full mb-10">
24
+ <a
25
+ className="btn btn-primary shadow-none border text-white btn-sm px-6 py-1 text-[.9rem] mr-2 flex-1"
26
+ href="https://cloud.seqera.io/oauth/login/auth0">
27
+ Log In
28
+ </a>
29
+ <a
30
+ className="btn btn-outline shadow-none btn-sm border flex-1 px-6 py-1 text-[.9rem] hover:border-black hover:bg-black bg-white text-black dark:text-black hover:text-white"
31
+ href="https://cloud.seqera.io/oauth/login/auth0">
32
+ Sign Up
33
+ </a>
34
+ </div>
35
+ <ul className="menu__list relative w-full">
36
+ <div className="flex flex-row">
37
+ <div>
38
+ <h3 className="font-semibold mb-3 text-[.8rem] text-gray-900 dark:text-gray-100">
39
+ Docs
40
+ </h3>
41
+
42
+ {items.map((item, i) => (
43
+ <NavbarItem
44
+ mobile
45
+ {...item}
46
+ onClick={() => mobileSidebar.toggle()}
47
+ key={i}
48
+ />
49
+ ))}
50
+ </div>
51
+
52
+ <div className="flex flex-col ml-20">
53
+ <h3 className="font-semibold mb-3 text-[.8rem] text-gray-900 dark:text-gray-100">
54
+ Resources
55
+ </h3>
56
+
57
+ <li className="mb-3">
58
+ <li className="mb-3">
59
+ <Link
60
+ className="menu__link"
61
+ to={'/changelog'}
62
+ aria-label="Changelog">
63
+ Changelog
64
+ </Link>
65
+ </li>
66
+ <Link
67
+ className="menu__link"
68
+ to={'/platform-cloud/seqera-ai'}
69
+ aria-label="Seqera AI">
70
+ Seqera AI
71
+ </Link>
72
+ </li>
73
+ <li className="mb-3">
74
+ <Link
75
+ className="menu__link"
76
+ to={'/platform-cloud/seqera-mcp'}
77
+ aria-label="Seqera MCP">
78
+ Seqera MCP
79
+ </Link>
80
+ </li>
81
+ </div>
82
+ </div>
83
+ </ul>
84
+
85
+ <div className="w-full border-t border-gray-600 pt-4 mt-8">
86
+ <SubmenuLinks />
87
+ </div>
88
+ </div>
89
+ );
90
+ }
@@ -0,0 +1,34 @@
1
+
2
+
3
+ import React, {type ComponentProps, type ReactNode} from 'react';
4
+ import {useThemeConfig} from '@docusaurus/theme-common';
5
+ import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal';
6
+ import Translate from '@docusaurus/Translate';
7
+
8
+ function SecondaryMenuBackButton(props: ComponentProps<'button'>) {
9
+ return (
10
+ <button {...props} type="button" className="clean-btn navbar-sidebar__back mb-4 text-[.875rem] text-gray-900 font-semibold mt-4">
11
+ <Translate
12
+ id="theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel"
13
+ description="The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)">
14
+ ← Main Menu
15
+ </Translate>
16
+ </button>
17
+ );
18
+ }
19
+
20
+ // The secondary menu slides from the right and shows contextual information
21
+ // such as the docs sidebar
22
+ export default function NavbarMobileSidebarSecondaryMenu(): ReactNode {
23
+ const isPrimaryMenuEmpty = useThemeConfig().navbar.items.length === 0;
24
+ const secondaryMenu = useNavbarSecondaryMenu();
25
+ return (
26
+ <>
27
+ {/* edge-case: prevent returning to the primaryMenu when it's empty */}
28
+ {!isPrimaryMenuEmpty && (
29
+ <SecondaryMenuBackButton onClick={() => secondaryMenu.hide()} />
30
+ )}
31
+ {secondaryMenu.content}
32
+ </>
33
+ );
34
+ }
@@ -0,0 +1,25 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
5
+ import {translate} from '@docusaurus/Translate';
6
+ import IconMenu from '@theme/Icon/Menu';
7
+
8
+ export default function MobileSidebarToggle(): ReactNode {
9
+ const {toggle, shown} = useNavbarMobileSidebar();
10
+ return (
11
+ <button
12
+ onClick={toggle}
13
+ aria-label={translate({
14
+ id: 'theme.docs.sidebar.toggleSidebarButtonAriaLabel',
15
+ message: 'Toggle navigation bar',
16
+ description:
17
+ 'The ARIA label for hamburger menu button of mobile navigation',
18
+ })}
19
+ aria-expanded={shown}
20
+ className="navbar__toggle clean-btn"
21
+ type="button">
22
+ <IconMenu />
23
+ </button>
24
+ );
25
+ }
@@ -0,0 +1,28 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import {
5
+ useLockBodyScroll,
6
+ useNavbarMobileSidebar,
7
+ } from '@docusaurus/theme-common/internal';
8
+ import NavbarMobileSidebarLayout from '@theme/Navbar/MobileSidebar/Layout';
9
+ import NavbarMobileSidebarHeader from '@theme/Navbar/MobileSidebar/Header';
10
+ import NavbarMobileSidebarPrimaryMenu from '@theme/Navbar/MobileSidebar/PrimaryMenu';
11
+ import NavbarMobileSidebarSecondaryMenu from '@theme/Navbar/MobileSidebar/SecondaryMenu';
12
+
13
+ export default function NavbarMobileSidebar(): ReactNode {
14
+ const mobileSidebar = useNavbarMobileSidebar();
15
+ useLockBodyScroll(mobileSidebar.shown);
16
+
17
+ if (!mobileSidebar.shouldRender) {
18
+ return null;
19
+ }
20
+
21
+ return (
22
+ <NavbarMobileSidebarLayout
23
+ header={<NavbarMobileSidebarHeader />}
24
+ primaryMenu={<NavbarMobileSidebarPrimaryMenu />}
25
+ secondaryMenu={<NavbarMobileSidebarSecondaryMenu />}
26
+ />
27
+ );
28
+ }
@@ -0,0 +1,15 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import clsx from 'clsx';
5
+ import type {Props} from '@theme/Navbar/Search';
6
+
7
+ import styles from './styles.module.css';
8
+
9
+ export default function NavbarSearch({children, className}: Props): ReactNode {
10
+ return (
11
+ <div className={clsx(className, styles.navbarSearchContainer)}>
12
+ {children}
13
+ </div>
14
+ );
15
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+ /*
4
+ Workaround to avoid rendering empty search container
5
+ See https://github.com/facebook/docusaurus/pull/9385
6
+ */
7
+ .navbarSearchContainer:empty {
8
+ display: none;
9
+ }
10
+
11
+ @media (max-width: 996px) {
12
+ .navbarSearchContainer {
13
+ position: absolute;
14
+ right: var(--ifm-navbar-padding-horizontal);
15
+ }
16
+ }
17
+
18
+ @media (min-width: 997px) {
19
+ .navbarSearchContainer {
20
+ padding: 0 var(--ifm-navbar-item-padding-horizontal);
21
+ }
22
+ }
@@ -0,0 +1,136 @@
1
+ import React from 'react';
2
+ import clsx from 'clsx';
3
+ import Link from '@docusaurus/Link';
4
+ import type {ComponentType, ReactNode} from 'react';
5
+ import IconNextflow from '@theme/Icon/Nextflow';
6
+ import IconSeqeraLogo from '@theme/Icon/SeqeraLogo';
7
+ import IconQuestionMark from '@theme/Icon/QuestionMark';
8
+ import IconChatBubble from '@theme/Icon/ChatBubble';
9
+ import IconChatBubbles from '@theme/Icon/ChatBubbles';
10
+ import IconAI from '@theme/Icon/AI';
11
+ import IconEnvelope from '@theme/Icon/Envelope';
12
+
13
+ interface LinkConfig {
14
+ label: string;
15
+ href: string;
16
+ icon: ComponentType<any>;
17
+ }
18
+
19
+ interface LinksConfig {
20
+ [key: string]: LinkConfig[];
21
+ }
22
+
23
+ interface LinkItemProps {
24
+ to: string;
25
+ children: ReactNode;
26
+ }
27
+
28
+ interface ColumnProps {
29
+ title: string;
30
+ links: LinkConfig[];
31
+ }
32
+
33
+ const LINKS_CONFIG: LinksConfig = {
34
+ Help: [
35
+ {label: 'Forum', href: 'https://community.seqera.io', icon: IconChatBubbles},
36
+ {
37
+ label: 'Support Portal',
38
+ href: 'https://support.seqera.io',
39
+ icon: IconQuestionMark,
40
+ },
41
+ {
42
+ label: 'Nextflow Slack',
43
+ href: 'https://www.nextflow.io/slack-invite.html',
44
+ icon: IconNextflow,
45
+ },
46
+ {label: 'Seqera AI', href: '/ask-ai', icon: IconAI},
47
+ ],
48
+ Company: [
49
+ {label: 'Seqera.io', href: '/about/', icon: IconSeqeraLogo},
50
+ {label: 'Contact us', href: '/contact-us/', icon: IconEnvelope},
51
+ {label: 'Submit Feedback', href: '/feedback/', icon: IconChatBubble},
52
+ ],
53
+ };
54
+
55
+ function isActive(path: string): boolean {
56
+ if (typeof window === 'undefined') return false;
57
+ return window.location.pathname === path;
58
+ }
59
+
60
+ function getLinkHref(to: string): string {
61
+ if (to.startsWith('http')) {
62
+ return to;
63
+ }
64
+ return `https://seqera.io${to}`;
65
+ }
66
+
67
+ function isExternalNonSeqera(href: string): boolean {
68
+ return href.startsWith('http') && !href.includes('seqera.io');
69
+ }
70
+
71
+ function LinkItem({to, children}: LinkItemProps): ReactNode {
72
+ const href = getLinkHref(to);
73
+ const isExternal = isExternalNonSeqera(href);
74
+
75
+ const externalProps = isExternal
76
+ ? {target: '_blank', rel: 'noopener noreferrer'}
77
+ : {};
78
+
79
+ return (
80
+ <Link
81
+ to={href}
82
+ {...externalProps}
83
+ className={clsx(
84
+ 'flex items-center gap-2 px-2 rounded-md h-[37px] mb-1',
85
+ 'text-sm text-gray-900 dark:text-gray-100',
86
+ 'transition-all duration-500 ease-in-out',
87
+ 'hover:bg-nextflow-100 dark:hover:bg-gray-800 hover:no-underline',
88
+ isActive(href) && 'bg-blue-50 dark:bg-blue-900/30',
89
+ )}>
90
+ {children}
91
+ </Link>
92
+ );
93
+ }
94
+
95
+ function Column({title, links}: ColumnProps): ReactNode {
96
+ return (
97
+ <div className="flex flex-col items-start">
98
+ <h3 className="text-[0.8rem] font-semibold my-0.5 text-gray-900 dark:text-gray-100">
99
+ {title}
100
+ </h3>
101
+ <ul className="mt-3 -mx-2 p-0 list-none mb-0">
102
+ {links.map(({label, href, icon: Icon}) => (
103
+ <li key={label}>
104
+ <LinkItem to={href}>
105
+ <div
106
+ className={clsx(
107
+ 'flex items-center justify-center',
108
+ 'w-8 h-8 shrink-0 rounded p-2',
109
+ 'border border-gray-300 dark:border-gray-600',
110
+ )}
111
+ style={{
112
+ backgroundColor: 'var(--ifm-navbar-background-color)',
113
+ borderColor: 'var(--ifm-color-emphasis-300)',
114
+ }}>
115
+ <Icon className="text-black dark:text-white" />
116
+ </div>
117
+ <span className="text-black dark:text-white">{label}</span>
118
+ </LinkItem>
119
+ </li>
120
+ ))}
121
+ </ul>
122
+ </div>
123
+ );
124
+ }
125
+
126
+ export default function SubmenuLinks(): ReactNode {
127
+ return (
128
+ <div className="flex p-2">
129
+ <div className="flex-auto flex flex-row gap-8">
130
+ {Object.entries(LINKS_CONFIG).map(([title, links]) => (
131
+ <Column key={title} title={title} links={links} />
132
+ ))}
133
+ </div>
134
+ </div>
135
+ );
136
+ }
@@ -0,0 +1,84 @@
1
+ import React, {useState, useRef, useEffect, type ReactNode} from 'react';
2
+ import {translate} from '@docusaurus/Translate';
3
+ import styles from './styles.module.css';
4
+ import clsx from 'clsx';
5
+ import SubmenuLinks from './SubmenuLinks';
6
+
7
+ export default function Submenu(): ReactNode {
8
+ const [isOpen, setIsOpen] = useState(false);
9
+ const submenuRef = useRef<HTMLDivElement>(null);
10
+ const buttonRef = useRef<HTMLButtonElement>(null);
11
+
12
+ const toggle = () => setIsOpen(!isOpen);
13
+ const close = () => setIsOpen(false);
14
+
15
+ useEffect(() => {
16
+ const handleClickOutside = (event: MouseEvent) => {
17
+ if (
18
+ submenuRef.current &&
19
+ buttonRef.current &&
20
+ !submenuRef.current.contains(event.target as Node) &&
21
+ !buttonRef.current.contains(event.target as Node)
22
+ ) {
23
+ close();
24
+ }
25
+ };
26
+
27
+ const handleEscape = (event: KeyboardEvent) => {
28
+ if (event.key === 'Escape') {
29
+ close();
30
+ }
31
+ };
32
+
33
+ if (isOpen) {
34
+ document.addEventListener('mousedown', handleClickOutside);
35
+ document.addEventListener('keydown', handleEscape);
36
+ }
37
+
38
+ return () => {
39
+ document.removeEventListener('mousedown', handleClickOutside);
40
+ document.removeEventListener('keydown', handleEscape);
41
+ };
42
+ }, [isOpen]);
43
+
44
+ return (
45
+ <>
46
+ <button
47
+ ref={buttonRef}
48
+ onClick={toggle}
49
+ className="hover:opacity-70"
50
+ aria-label={translate({
51
+ id: 'theme.docs.sidebar.toggleSidebarButtonAriaLabel',
52
+ message: 'Toggle navigation bar',
53
+ description: 'The ARIA label for hamburger menu button',
54
+ })}
55
+ aria-expanded={isOpen}
56
+ type="button">
57
+ <div className={clsx(styles.hamburger)}>
58
+ <span />
59
+ <span />
60
+ <span />
61
+ </div>
62
+ </button>
63
+
64
+ <div
65
+ ref={submenuRef}
66
+ style={{
67
+ backgroundColor: 'var(--ifm-navbar-background-color)',
68
+ borderColor: 'var(--ifm-color-emphasis-300)',
69
+ }}
70
+ className={clsx(
71
+ styles.submenu,
72
+ 'border rounded-sm',
73
+ 'border-gray-300 dark:border-gray-700',
74
+ isOpen && styles.open,
75
+ )}>
76
+ <div className="flex p-2 pl-4">
77
+ <div className="flex-auto flex">
78
+ <SubmenuLinks />
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </>
83
+ );
84
+ }
@@ -0,0 +1,82 @@
1
+ .hamburger {
2
+ position: relative;
3
+ transition: all 0.3s ease-in-out;
4
+ outline: none !important;
5
+ border: none;
6
+ background: transparent;
7
+ padding: 0;
8
+ margin: 0;
9
+ border-radius: 0;
10
+ width: 40px;
11
+ &:hover {
12
+ cursor: pointer;
13
+ background: transparent;
14
+ }
15
+ &:focus {
16
+ border: 2px solid blue;
17
+ }
18
+ & span {
19
+ width: 20px;
20
+ height: 2px;
21
+ background-color: black;
22
+ display: block;
23
+ margin: 4.8px auto;
24
+ transition: all 0.3s ease-in-out;
25
+ }
26
+ &:before {
27
+ content: '';
28
+ position: absolute;
29
+ box-sizing: border-box;
30
+ width: 20px;
31
+ height: 42px;
32
+ border: 3px solid transparent;
33
+ top: calc(50% - 21px);
34
+ left: calc(50% - 21px);
35
+ border-radius: 100%;
36
+ transition: all 0.3s ease-in-out;
37
+ background: none;
38
+ }
39
+ &.open {
40
+ @media (max-width: 996px) {
41
+ transform: rotate(45deg) translate(0, 0);
42
+ & span {
43
+ width: 21px;
44
+ }
45
+
46
+ & span:nth-child(2) {
47
+ opacity: 0;
48
+ }
49
+
50
+ & span:nth-child(1) {
51
+ transform: translateY(7px);
52
+ }
53
+
54
+ & span:nth-child(3) {
55
+ transform: translateY(-6.5px) rotate(90deg);
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ html[data-theme='dark'] .hamburger {
62
+ &:focus {
63
+ border: 2px solid #f1f1f1;
64
+ }
65
+ & span {
66
+ background-color: #f1f1f1;
67
+ }
68
+ }
69
+
70
+ .submenu {
71
+ display: none;
72
+ position: fixed;
73
+ top: 3.5rem;
74
+ right: 1.5rem;
75
+ width: auto;
76
+ box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
77
+ z-index: 200;
78
+ }
79
+
80
+ .submenu.open {
81
+ display: flex;
82
+ }
@@ -0,0 +1,13 @@
1
+
2
+
3
+ import React, {type ReactNode} from 'react';
4
+ import NavbarLayout from '@theme/Navbar/Layout';
5
+ import NavbarContent from '@theme/Navbar/Content';
6
+
7
+ export default function Navbar(): ReactNode {
8
+ return (
9
+ <NavbarLayout>
10
+ <NavbarContent />
11
+ </NavbarLayout>
12
+ );
13
+ }
@@ -0,0 +1,27 @@
1
+
2
+
3
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
4
+ import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
5
+ import LocaleDropdownNavbarItem from '@theme/NavbarItem/LocaleDropdownNavbarItem';
6
+ import SearchNavbarItem from '@theme/NavbarItem/SearchNavbarItem';
7
+ import HtmlNavbarItem from '@theme/NavbarItem/HtmlNavbarItem';
8
+ import DocNavbarItem from '@theme/NavbarItem/DocNavbarItem';
9
+ import DocSidebarNavbarItem from '@theme/NavbarItem/DocSidebarNavbarItem';
10
+ import DocsVersionNavbarItem from '@theme/NavbarItem/DocsVersionNavbarItem';
11
+ import DocsVersionDropdownNavbarItem from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
12
+
13
+ import type {ComponentTypesObject} from '@theme/NavbarItem/ComponentTypes';
14
+
15
+ const ComponentTypes: ComponentTypesObject = {
16
+ default: DefaultNavbarItem,
17
+ localeDropdown: LocaleDropdownNavbarItem,
18
+ search: SearchNavbarItem,
19
+ dropdown: DropdownNavbarItem,
20
+ html: HtmlNavbarItem,
21
+ doc: DocNavbarItem,
22
+ docSidebar: DocSidebarNavbarItem,
23
+ docsVersion: DocsVersionNavbarItem,
24
+ docsVersionDropdown: DocsVersionDropdownNavbarItem,
25
+ };
26
+
27
+ export default ComponentTypes;