@docusaurus/theme-classic 2.0.0-beta.fc64c12e4 → 2.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 (748) hide show
  1. package/README.md +2 -2
  2. package/lib/getSwizzleConfig.d.ts +8 -0
  3. package/lib/getSwizzleConfig.js +228 -0
  4. package/lib/index.d.ts +12 -0
  5. package/lib/index.js +107 -170
  6. package/lib/nprogress.css +41 -0
  7. package/lib/nprogress.d.ts +10 -0
  8. package/lib/nprogress.js +25 -0
  9. package/lib/options.d.ts +14 -0
  10. package/lib/options.js +409 -0
  11. package/lib/prism-include-languages.d.ts +7 -0
  12. package/lib/prism-include-languages.js +0 -2
  13. package/lib/theme/Admonition/index.d.ts +9 -0
  14. package/lib/theme/Admonition/index.js +183 -0
  15. package/lib/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  16. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  17. package/lib/theme/AnnouncementBar/index.js +39 -63
  18. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  19. package/lib/theme/BackToTopButton/index.d.ts +8 -0
  20. package/lib/theme/BackToTopButton/index.js +25 -121
  21. package/lib/theme/BackToTopButton/styles.module.css +20 -15
  22. package/lib/theme/BlogArchivePage/index.d.ts +10 -0
  23. package/lib/theme/BlogArchivePage/index.js +80 -0
  24. package/lib/theme/BlogLayout/index.d.ts +9 -0
  25. package/lib/theme/BlogLayout/index.js +19 -41
  26. package/lib/theme/BlogListPage/index.d.ts +10 -0
  27. package/lib/theme/BlogListPage/index.js +44 -50
  28. package/lib/theme/BlogListPaginator/index.d.ts +9 -0
  29. package/lib/theme/BlogListPaginator/index.js +41 -56
  30. package/lib/theme/BlogPostItem/Container/index.d.ts +9 -0
  31. package/lib/theme/BlogPostItem/Container/index.js +26 -0
  32. package/lib/theme/BlogPostItem/Content/index.d.ts +9 -0
  33. package/lib/theme/BlogPostItem/Content/index.js +23 -0
  34. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +9 -0
  35. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js +38 -0
  36. package/lib/theme/BlogPostItem/Footer/index.d.ts +8 -0
  37. package/lib/theme/BlogPostItem/Footer/index.js +52 -0
  38. package/{src/theme/IconEdit → lib/theme/BlogPostItem/Footer}/styles.module.css +2 -3
  39. package/lib/theme/BlogPostItem/Header/Author/index.d.ts +9 -0
  40. package/lib/theme/BlogPostItem/Header/Author/index.js +47 -0
  41. package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +9 -0
  42. package/lib/theme/BlogPostItem/Header/Authors/index.js +48 -0
  43. package/{lib-next/theme/Toggle → lib/theme/BlogPostItem/Header/Authors}/styles.module.css +11 -7
  44. package/lib/theme/BlogPostItem/Header/Info/index.d.ts +9 -0
  45. package/lib/theme/BlogPostItem/Header/Info/index.js +60 -0
  46. package/{lib-next/theme/MDXPage → lib/theme/BlogPostItem/Header/Info}/styles.module.css +2 -2
  47. package/lib/theme/BlogPostItem/Header/Title/index.d.ts +9 -0
  48. package/lib/theme/BlogPostItem/Header/Title/index.js +27 -0
  49. package/{src/theme/BlogPostItem → lib/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  50. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  51. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  52. package/{lib-next/theme/Footer/styles.module.css → lib/theme/BlogPostItem/index.d.ts} +3 -9
  53. package/lib/theme/BlogPostItem/index.js +20 -153
  54. package/lib/theme/BlogPostItems/index.d.ts +9 -0
  55. package/lib/theme/BlogPostItems/index.js +27 -0
  56. package/lib/theme/BlogPostPage/Metadata/index.d.ts +8 -0
  57. package/lib/theme/BlogPostPage/Metadata/index.js +41 -0
  58. package/lib/theme/BlogPostPage/index.d.ts +10 -0
  59. package/lib/theme/BlogPostPage/index.js +51 -44
  60. package/lib/theme/BlogPostPaginator/index.d.ts +9 -0
  61. package/lib/theme/BlogPostPaginator/index.js +40 -57
  62. package/lib/theme/BlogSidebar/Desktop/index.d.ts +9 -0
  63. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/index.js +19 -23
  64. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  65. package/lib/theme/BlogSidebar/Mobile/index.d.ts +9 -0
  66. package/lib/theme/BlogSidebar/Mobile/index.js +34 -0
  67. package/lib/theme/BlogSidebar/index.d.ts +9 -0
  68. package/lib/theme/BlogSidebar/index.js +13 -43
  69. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  70. package/lib/theme/BlogTagsListPage/index.js +27 -58
  71. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  72. package/lib/theme/BlogTagsPostsPage/index.js +73 -73
  73. package/lib/theme/CodeBlock/Container/index.d.ts +10 -0
  74. package/lib/theme/CodeBlock/Container/index.js +27 -0
  75. package/lib/theme/CodeBlock/Container/styles.module.css +14 -0
  76. package/lib/theme/CodeBlock/Content/Element.d.ts +9 -0
  77. package/lib/theme/CodeBlock/Content/Element.js +23 -0
  78. package/lib/theme/CodeBlock/Content/String.d.ts +9 -0
  79. package/lib/theme/CodeBlock/Content/String.js +103 -0
  80. package/lib/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +46 -26
  81. package/lib/theme/CodeBlock/CopyButton/index.d.ts +9 -0
  82. package/lib/theme/CodeBlock/CopyButton/index.js +62 -0
  83. package/lib/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  84. package/lib/theme/CodeBlock/Line/index.d.ts +9 -0
  85. package/lib/theme/CodeBlock/Line/index.js +42 -0
  86. package/lib/theme/CodeBlock/Line/styles.module.css +51 -0
  87. package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +9 -0
  88. package/lib/theme/CodeBlock/WordWrapButton/index.js +40 -0
  89. package/lib/theme/{BlogPostItem → CodeBlock/WordWrapButton}/styles.module.css +5 -8
  90. package/lib/theme/CodeBlock/index.d.ts +9 -0
  91. package/lib/theme/CodeBlock/index.js +31 -244
  92. package/lib/theme/ColorModeToggle/index.d.ts +11 -0
  93. package/lib/theme/ColorModeToggle/index.js +60 -0
  94. package/lib/theme/ColorModeToggle/styles.module.css +35 -0
  95. package/lib/theme/Details/index.d.ts +9 -0
  96. package/lib/theme/Details/index.js +14 -23
  97. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  98. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  99. package/{src/theme/IconExternalLink → lib/theme/DocBreadcrumbs}/styles.module.css +9 -2
  100. package/lib/theme/DocCard/index.d.ts +9 -0
  101. package/lib/theme/DocCard/index.js +86 -0
  102. package/lib/theme/DocCard/styles.module.css +34 -0
  103. package/lib/theme/DocCardList/index.d.ts +9 -0
  104. package/lib/theme/DocCardList/index.js +30 -0
  105. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  106. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +65 -0
  107. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  108. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  109. package/lib/theme/DocItem/Content/index.js +44 -0
  110. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  111. package/lib/theme/DocItem/Footer/index.js +74 -0
  112. package/{src/theme/DocSidebarItem → lib/theme/DocItem/Footer}/styles.module.css +8 -5
  113. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  114. package/lib/theme/DocItem/Layout/index.js +59 -0
  115. package/lib/theme/DocItem/Layout/styles.module.css +17 -0
  116. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  117. package/lib/theme/DocItem/Metadata/index.js +20 -0
  118. package/lib/theme/DocItem/Paginator/index.d.ts +12 -0
  119. package/lib/theme/DocItem/Paginator/index.js +17 -0
  120. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  121. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  122. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  123. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  124. package/lib/theme/DocItem/{styles.module.css → TOC/Mobile/styles.module.css} +6 -19
  125. package/lib/theme/DocItem/index.d.ts +10 -0
  126. package/lib/theme/DocItem/index.js +18 -131
  127. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  128. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  129. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  130. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  131. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  132. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  133. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  134. package/lib/theme/DocPage/Layout/Sidebar/index.js +66 -0
  135. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  136. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  137. package/lib/theme/DocPage/Layout/index.js +34 -0
  138. package/lib/theme/DocPage/Layout/styles.module.css +15 -0
  139. package/lib/theme/DocPage/index.d.ts +10 -0
  140. package/lib/theme/DocPage/index.js +42 -134
  141. package/lib/theme/DocPaginator/index.d.ts +9 -0
  142. package/lib/theme/DocPaginator/index.js +40 -56
  143. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  144. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  145. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  146. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  147. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  148. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  149. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  150. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  151. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  152. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  153. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  154. package/lib/theme/DocSidebar/index.d.ts +9 -0
  155. package/lib/theme/DocSidebar/index.js +17 -124
  156. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  157. package/lib/theme/DocSidebarItem/Category/index.js +185 -0
  158. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  159. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  160. package/{lib-next/theme/DocSidebarItem → lib/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  161. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  162. package/lib/theme/DocSidebarItem/Link/index.js +54 -0
  163. package/lib/theme/DocSidebarItem/Link/styles.module.css +10 -0
  164. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  165. package/lib/theme/DocSidebarItem/index.js +7 -161
  166. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  167. package/lib/theme/DocSidebarItems/index.js +22 -0
  168. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  169. package/lib/theme/DocTagDocListPage/index.js +89 -0
  170. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  171. package/lib/theme/DocTagsListPage/index.js +40 -0
  172. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  173. package/lib/theme/DocVersionBadge/index.js +31 -0
  174. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  175. package/lib/theme/DocVersionBanner/index.js +105 -102
  176. package/lib/theme/EditThisPage/index.d.ts +9 -0
  177. package/lib/theme/EditThisPage/index.js +19 -24
  178. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  179. package/lib/theme/ErrorPageContent.js +35 -0
  180. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  181. package/lib/theme/Footer/Copyright/index.js +17 -0
  182. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  183. package/lib/theme/Footer/Layout/index.js +26 -0
  184. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  185. package/lib/theme/Footer/LinkItem/index.js +31 -0
  186. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  187. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  188. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  189. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  190. package/lib/theme/Footer/Links/index.d.ts +9 -0
  191. package/lib/theme/Footer/Links/index.js +17 -0
  192. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  193. package/lib/theme/Footer/Logo/index.js +41 -0
  194. package/{src/theme/Footer → lib/theme/Footer/Logo}/styles.module.css +2 -1
  195. package/lib/theme/Footer/index.d.ts +10 -0
  196. package/lib/theme/Footer/index.js +17 -104
  197. package/lib/theme/Heading/index.d.ts +9 -0
  198. package/lib/theme/Heading/index.js +35 -68
  199. package/lib/theme/Heading/styles.module.css +25 -5
  200. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  201. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +2 -5
  202. package/lib/theme/Icon/Close/index.d.ts +9 -0
  203. package/lib/theme/Icon/Close/index.js +23 -0
  204. package/lib/theme/Icon/DarkMode/index.d.ts +9 -0
  205. package/lib/theme/Icon/DarkMode/index.js +17 -0
  206. package/lib/theme/Icon/Edit/index.d.ts +9 -0
  207. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/index.js +2 -5
  208. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/styles.module.css +0 -0
  209. package/lib/theme/Icon/ExternalLink/index.d.ts +9 -0
  210. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/index.js +2 -5
  211. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/styles.module.css +0 -2
  212. package/lib/theme/Icon/Home/index.d.ts +9 -0
  213. package/lib/theme/Icon/Home/index.js +17 -0
  214. package/lib/theme/Icon/Language/index.d.ts +9 -0
  215. package/lib/theme/Icon/Language/index.js +22 -0
  216. package/lib/theme/Icon/LightMode/index.d.ts +9 -0
  217. package/lib/theme/Icon/LightMode/index.js +17 -0
  218. package/lib/theme/Icon/Menu/index.d.ts +9 -0
  219. package/{lib-next/theme/IconMenu → lib/theme/Icon/Menu}/index.js +7 -5
  220. package/lib/theme/LastUpdated/index.d.ts +9 -0
  221. package/lib/theme/LastUpdated/index.js +57 -42
  222. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  223. package/lib/theme/Layout/Provider/index.js +29 -0
  224. package/lib/theme/Layout/index.d.ts +9 -0
  225. package/lib/theme/Layout/index.js +39 -50
  226. package/{lib-next/theme/Layout/styles.css → lib/theme/Layout/styles.module.css} +9 -10
  227. package/lib/theme/Logo/index.d.ts +9 -0
  228. package/lib/theme/Logo/index.js +57 -51
  229. package/lib/theme/MDXComponents/A.d.ts +9 -0
  230. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  231. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  232. package/lib/theme/MDXComponents/Code.js +28 -0
  233. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  234. package/lib/theme/MDXComponents/Details.js +22 -0
  235. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  236. package/lib/theme/MDXComponents/Head.js +23 -0
  237. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  238. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  239. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  240. package/lib/theme/MDXComponents/Img/index.js +22 -0
  241. package/lib/theme/MDXComponents/Img/styles.module.css +10 -0
  242. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  243. package/lib/theme/MDXComponents/Pre.js +19 -0
  244. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  245. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  246. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  247. package/lib/theme/MDXComponents/index.d.ts +9 -0
  248. package/lib/theme/MDXComponents/index.js +25 -72
  249. package/lib/theme/MDXContent/index.d.ts +9 -0
  250. package/lib/theme/MDXContent/index.js +12 -0
  251. package/lib/theme/MDXPage/index.d.ts +10 -0
  252. package/lib/theme/MDXPage/index.js +46 -56
  253. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  254. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  255. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  256. package/lib/theme/Navbar/Content/index.js +71 -0
  257. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  258. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  259. package/lib/theme/Navbar/Layout/index.js +52 -0
  260. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -9
  261. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  262. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  263. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  264. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  265. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  266. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  267. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  268. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  269. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  270. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  271. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  272. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  273. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  274. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  275. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  276. package/lib/theme/Navbar/Search/index.js +12 -0
  277. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  278. package/{lib-next/theme/hooks/styles.css → lib/theme/Navbar/index.d.ts} +2 -4
  279. package/lib/theme/Navbar/index.js +9 -242
  280. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  281. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  282. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  283. package/lib/theme/NavbarItem/DefaultNavbarItem.js +30 -83
  284. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  285. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -51
  286. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  287. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  288. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  289. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +71 -61
  290. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  291. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  292. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  293. package/lib/theme/NavbarItem/DropdownNavbarItem.js +109 -103
  294. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  295. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  296. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  297. package/{src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx → lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js} +28 -27
  298. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  299. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  300. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  301. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  302. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  303. package/lib/theme/NavbarItem/index.d.ts +9 -0
  304. package/lib/theme/NavbarItem/index.js +11 -56
  305. package/lib/theme/NotFound.d.ts +8 -0
  306. package/lib/theme/NotFound.js +44 -49
  307. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  308. package/lib/theme/PaginatorNavLink/index.js +23 -0
  309. package/lib/theme/SearchBar.d.ts +7 -0
  310. package/lib/theme/SearchBar.js +11 -15
  311. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  312. package/lib/theme/SearchMetadata/index.js +34 -0
  313. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  314. package/lib/theme/SiteMetadata/index.js +116 -0
  315. package/lib/theme/SkipToContent/index.d.ts +8 -0
  316. package/lib/theme/SkipToContent/index.js +16 -62
  317. package/lib/theme/SkipToContent/styles.module.css +7 -0
  318. package/lib/theme/TOC/index.d.ts +9 -0
  319. package/lib/theme/TOC/index.js +18 -53
  320. package/lib/theme/TOC/styles.module.css +1 -1
  321. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  322. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  323. package/{lib-next/theme/TOCCollapsible → lib/theme/TOCCollapsible/CollapseButton}/styles.module.css +2 -23
  324. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  325. package/lib/theme/TOCCollapsible/index.js +33 -42
  326. package/lib/theme/TOCCollapsible/styles.module.css +1 -20
  327. package/lib/theme/TOCInline/index.d.ts +9 -0
  328. package/lib/theme/TOCInline/index.js +15 -46
  329. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  330. package/lib/theme/TOCItems/Tree.js +37 -0
  331. package/lib/theme/TOCItems/index.d.ts +9 -0
  332. package/lib/theme/TOCItems/index.js +53 -0
  333. package/lib/theme/TabItem/index.d.ts +9 -0
  334. package/lib/theme/TabItem/index.js +11 -24
  335. package/lib/theme/TabItem/styles.module.css +10 -0
  336. package/lib/theme/Tabs/index.d.ts +9 -0
  337. package/lib/theme/Tabs/index.js +159 -123
  338. package/lib/theme/Tabs/styles.module.css +4 -13
  339. package/lib/theme/Tag/index.d.ts +9 -0
  340. package/lib/theme/Tag/index.js +23 -0
  341. package/lib/theme/Tag/styles.module.css +70 -0
  342. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  343. package/lib/theme/TagsListByLetter/index.js +38 -0
  344. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  345. package/lib/theme/TagsListInline/index.d.ts +9 -0
  346. package/lib/theme/TagsListInline/index.js +31 -0
  347. package/lib/theme/TagsListInline/styles.module.css +15 -0
  348. package/lib/theme/ThemedImage/index.d.ts +9 -0
  349. package/lib/theme/ThemedImage/index.js +33 -43
  350. package/lib/theme/ThemedImage/styles.module.css +2 -2
  351. package/lib/theme/prism-include-languages.d.ts +8 -0
  352. package/lib/theme/prism-include-languages.js +19 -33
  353. package/lib/translations.d.ts +15 -0
  354. package/lib/translations.js +122 -122
  355. package/package.json +41 -36
  356. package/src/deps.d.ts +13 -0
  357. package/src/getSwizzleConfig.ts +245 -0
  358. package/src/index.ts +53 -79
  359. package/src/nprogress.css +41 -0
  360. package/src/nprogress.ts +31 -0
  361. package/{lib/validateThemeConfig.js → src/options.ts} +204 -72
  362. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  363. package/src/theme/Admonition/index.tsx +209 -0
  364. package/src/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  365. package/src/theme/AnnouncementBar/index.tsx +11 -16
  366. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  367. package/src/theme/BackToTopButton/index.tsx +18 -105
  368. package/src/theme/BackToTopButton/styles.module.css +20 -15
  369. package/src/theme/BlogArchivePage/index.tsx +92 -0
  370. package/src/theme/BlogLayout/index.tsx +6 -16
  371. package/src/theme/BlogListPage/index.tsx +33 -24
  372. package/src/theme/BlogListPaginator/index.tsx +27 -32
  373. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  374. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  375. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  376. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  377. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  378. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  379. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  380. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  381. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  382. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  383. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  384. package/{lib-next/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  385. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  386. package/src/theme/BlogPostItem/index.tsx +19 -151
  387. package/src/theme/BlogPostItems/index.tsx +30 -0
  388. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  389. package/src/theme/BlogPostPage/index.tsx +47 -22
  390. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  391. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  392. package/{lib/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  393. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  394. package/src/theme/BlogSidebar/index.tsx +10 -33
  395. package/src/theme/BlogTagsListPage/index.tsx +23 -57
  396. package/src/theme/BlogTagsPostsPage/index.tsx +48 -31
  397. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  398. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  399. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  400. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  401. package/{lib-next/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +46 -26
  402. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  403. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  404. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  405. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  406. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  407. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  408. package/src/theme/CodeBlock/index.tsx +29 -251
  409. package/src/theme/ColorModeToggle/index.tsx +67 -0
  410. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  411. package/src/theme/Details/index.tsx +4 -2
  412. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  413. package/{lib-next/theme/Heading/styles.css → src/theme/DocBreadcrumbs/styles.module.css} +9 -13
  414. package/src/theme/DocCard/index.tsx +120 -0
  415. package/src/theme/DocCard/styles.module.css +34 -0
  416. package/src/theme/DocCardList/index.tsx +35 -0
  417. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +77 -0
  418. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  419. package/src/theme/DocItem/Content/index.tsx +48 -0
  420. package/src/theme/DocItem/Footer/index.tsx +89 -0
  421. package/src/theme/DocItem/Footer/styles.module.css +18 -0
  422. package/src/theme/DocItem/Layout/index.tsx +68 -0
  423. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  424. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  425. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  426. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  427. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  428. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  429. package/src/theme/DocItem/index.tsx +15 -120
  430. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  431. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  432. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  433. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  434. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  435. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  436. package/src/theme/DocPage/Layout/index.tsx +38 -0
  437. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  438. package/src/theme/DocPage/index.tsx +39 -150
  439. package/src/theme/DocPaginator/index.tsx +28 -40
  440. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  441. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  442. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  443. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  444. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  445. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  446. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  447. package/src/theme/DocSidebar/index.tsx +6 -110
  448. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  449. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  450. package/{lib/theme/DocSidebarItem → src/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  451. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  452. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  453. package/src/theme/DocSidebarItem/index.tsx +7 -167
  454. package/src/theme/DocSidebarItems/index.tsx +27 -0
  455. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  456. package/src/theme/DocTagsListPage/index.tsx +43 -0
  457. package/src/theme/DocVersionBadge/index.tsx +36 -0
  458. package/src/theme/DocVersionBanner/index.tsx +53 -28
  459. package/src/theme/EditThisPage/index.tsx +7 -3
  460. package/src/theme/ErrorPageContent.tsx +41 -0
  461. package/src/theme/Footer/Copyright/index.tsx +20 -0
  462. package/src/theme/Footer/Layout/index.tsx +34 -0
  463. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  464. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  465. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  466. package/src/theme/Footer/Links/index.tsx +21 -0
  467. package/src/theme/Footer/Logo/index.tsx +46 -0
  468. package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  469. package/src/theme/Footer/index.tsx +13 -122
  470. package/src/theme/Heading/index.tsx +31 -58
  471. package/src/theme/Heading/styles.module.css +25 -5
  472. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +3 -5
  473. package/src/theme/Icon/Close/index.tsx +26 -0
  474. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  475. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +6 -6
  476. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  477. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +4 -6
  478. package/{lib/theme/IconExternalLink → src/theme/Icon/ExternalLink}/styles.module.css +0 -2
  479. package/src/theme/Icon/Home/index.tsx +20 -0
  480. package/src/theme/Icon/Language/index.tsx +29 -0
  481. package/src/theme/Icon/LightMode/index.tsx +20 -0
  482. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +4 -6
  483. package/src/theme/LastUpdated/index.tsx +4 -2
  484. package/src/theme/Layout/Provider/index.tsx +33 -0
  485. package/src/theme/Layout/index.tsx +23 -15
  486. package/src/theme/Layout/{styles.css → styles.module.css} +9 -10
  487. package/src/theme/Logo/index.tsx +57 -26
  488. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  489. package/src/theme/MDXComponents/Code.tsx +40 -0
  490. package/src/theme/MDXComponents/Details.tsx +28 -0
  491. package/src/theme/MDXComponents/Head.tsx +29 -0
  492. package/src/theme/MDXComponents/Heading.tsx +14 -0
  493. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  494. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  495. package/src/theme/MDXComponents/Pre.tsx +23 -0
  496. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  497. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  498. package/src/theme/MDXComponents/index.tsx +25 -57
  499. package/src/theme/MDXContent/index.tsx +15 -0
  500. package/src/theme/MDXPage/index.tsx +40 -35
  501. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  502. package/src/theme/Navbar/Content/index.tsx +86 -0
  503. package/src/theme/Navbar/Content/styles.module.css +15 -0
  504. package/src/theme/Navbar/Layout/index.tsx +57 -0
  505. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -9
  506. package/src/theme/Navbar/Logo/index.tsx +19 -0
  507. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  508. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  509. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  510. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  511. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  512. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  513. package/src/theme/Navbar/Search/index.tsx +19 -0
  514. package/src/theme/Navbar/Search/styles.module.css +20 -0
  515. package/src/theme/Navbar/index.tsx +7 -261
  516. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  517. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +16 -65
  518. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -34
  519. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  520. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +43 -41
  521. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  522. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +36 -28
  523. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  524. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  525. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  526. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  527. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  528. package/src/theme/NavbarItem/index.tsx +11 -48
  529. package/src/theme/NotFound.tsx +40 -37
  530. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  531. package/src/theme/SearchBar.tsx +2 -1
  532. package/src/theme/SearchMetadata/index.tsx +43 -0
  533. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -45
  534. package/src/theme/SkipToContent/index.tsx +5 -33
  535. package/src/theme/SkipToContent/styles.module.css +7 -0
  536. package/src/theme/TOC/index.tsx +14 -37
  537. package/src/theme/TOC/styles.module.css +1 -1
  538. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  539. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  540. package/src/theme/TOCCollapsible/index.tsx +17 -20
  541. package/src/theme/TOCCollapsible/styles.module.css +1 -20
  542. package/src/theme/TOCInline/index.tsx +15 -35
  543. package/src/theme/TOCItems/Tree.tsx +46 -0
  544. package/src/theme/TOCItems/index.tsx +61 -0
  545. package/src/theme/TabItem/index.tsx +12 -4
  546. package/src/theme/TabItem/styles.module.css +10 -0
  547. package/src/theme/Tabs/index.tsx +121 -62
  548. package/src/theme/Tabs/styles.module.css +4 -13
  549. package/src/theme/Tag/index.tsx +27 -0
  550. package/src/theme/Tag/styles.module.css +70 -0
  551. package/src/theme/TagsListByLetter/index.tsx +43 -0
  552. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  553. package/src/theme/TagsListInline/index.tsx +35 -0
  554. package/src/theme/TagsListInline/styles.module.css +15 -0
  555. package/src/theme/ThemedImage/index.tsx +10 -12
  556. package/src/theme/ThemedImage/styles.module.css +2 -2
  557. package/src/theme/prism-include-languages.ts +20 -15
  558. package/src/theme-classic.d.ts +1368 -0
  559. package/src/translations.ts +85 -60
  560. package/babel.config.js +0 -35
  561. package/codeTranslations/README.md +0 -20
  562. package/codeTranslations/ar.json +0 -56
  563. package/codeTranslations/base.json +0 -110
  564. package/codeTranslations/bn.json +0 -56
  565. package/codeTranslations/da.json +0 -56
  566. package/codeTranslations/de.json +0 -56
  567. package/codeTranslations/es.json +0 -56
  568. package/codeTranslations/fa.json +0 -56
  569. package/codeTranslations/fil.json +0 -56
  570. package/codeTranslations/fr.json +0 -56
  571. package/codeTranslations/he.json +0 -56
  572. package/codeTranslations/hi.json +0 -56
  573. package/codeTranslations/ja.json +0 -56
  574. package/codeTranslations/ko.json +0 -56
  575. package/codeTranslations/pl.json +0 -56
  576. package/codeTranslations/pt-BR.json +0 -56
  577. package/codeTranslations/pt-PT.json +0 -56
  578. package/codeTranslations/ru.json +0 -56
  579. package/codeTranslations/tr.json +0 -56
  580. package/codeTranslations/vi.json +0 -56
  581. package/codeTranslations/zh-Hans.json +0 -56
  582. package/codeTranslations/zh-Hant.json +0 -56
  583. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  584. package/lib/__tests__/translations.test.js +0 -112
  585. package/lib/__tests__/validateThemeConfig.test.js +0 -457
  586. package/lib/theme/DocPage/styles.module.css +0 -85
  587. package/lib/theme/DocSidebar/styles.module.css +0 -106
  588. package/lib/theme/Heading/styles.css +0 -23
  589. package/lib/theme/IconArrow/index.js +0 -28
  590. package/lib/theme/IconEdit/index.js +0 -34
  591. package/lib/theme/IconExternalLink/index.js +0 -30
  592. package/lib/theme/IconLanguage/index.js +0 -29
  593. package/lib/theme/IconMenu/index.js +0 -30
  594. package/lib/theme/Layout/styles.css +0 -27
  595. package/lib/theme/LayoutHead/index.js +0 -144
  596. package/lib/theme/LayoutProviders/index.js +0 -38
  597. package/lib/theme/Navbar/styles.module.css +0 -23
  598. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  599. package/lib/theme/SearchMetadatas/index.js +0 -33
  600. package/lib/theme/Seo/index.js +0 -49
  601. package/lib/theme/ThemeContext.js +0 -21
  602. package/lib/theme/ThemeProvider/index.js +0 -38
  603. package/lib/theme/Toggle/index.js +0 -94
  604. package/lib/theme/Toggle/styles.css +0 -103
  605. package/lib/theme/Toggle/styles.module.css +0 -17
  606. package/lib/theme/UserPreferencesContext.js +0 -18
  607. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  608. package/lib/theme/hooks/styles.css +0 -10
  609. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  610. package/lib/theme/hooks/useDocs.js +0 -18
  611. package/lib/theme/hooks/useHideableNavbar.js +0 -91
  612. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  613. package/lib/theme/hooks/useLocationHash.js +0 -28
  614. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  615. package/lib/theme/hooks/usePrismTheme.js +0 -36
  616. package/lib/theme/hooks/useScrollPosition.js +0 -51
  617. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  618. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  619. package/lib/theme/hooks/useTheme.js +0 -99
  620. package/lib/theme/hooks/useThemeContext.js +0 -31
  621. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  622. package/lib/theme/hooks/useWindowSize.js +0 -73
  623. package/lib/types.d.ts +0 -696
  624. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  625. package/lib-next/__tests__/translations.test.js +0 -128
  626. package/lib-next/__tests__/validateThemeConfig.test.js +0 -457
  627. package/lib-next/admonitions.css +0 -35
  628. package/lib-next/index.js +0 -222
  629. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  630. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  631. package/lib-next/theme/BackToTopButton/index.js +0 -113
  632. package/lib-next/theme/BackToTopButton/styles.module.css +0 -39
  633. package/lib-next/theme/BlogLayout/index.js +0 -43
  634. package/lib-next/theme/BlogListPage/index.js +0 -47
  635. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  636. package/lib-next/theme/BlogPostItem/index.js +0 -168
  637. package/lib-next/theme/BlogPostPage/index.js +0 -43
  638. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  639. package/lib-next/theme/BlogTagsListPage/index.js +0 -66
  640. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -83
  641. package/lib-next/theme/CodeBlock/index.js +0 -266
  642. package/lib-next/theme/Details/index.js +0 -20
  643. package/lib-next/theme/Details/styles.module.css +0 -13
  644. package/lib-next/theme/DocItem/index.js +0 -131
  645. package/lib-next/theme/DocItem/styles.module.css +0 -32
  646. package/lib-next/theme/DocPage/index.js +0 -149
  647. package/lib-next/theme/DocPage/styles.module.css +0 -85
  648. package/lib-next/theme/DocPaginator/index.js +0 -59
  649. package/lib-next/theme/DocSidebar/index.js +0 -121
  650. package/lib-next/theme/DocSidebar/styles.module.css +0 -106
  651. package/lib-next/theme/DocSidebarItem/index.js +0 -161
  652. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  653. package/lib-next/theme/EditThisPage/index.js +0 -21
  654. package/lib-next/theme/Footer/index.js +0 -129
  655. package/lib-next/theme/Heading/index.js +0 -67
  656. package/lib-next/theme/Heading/styles.module.css +0 -15
  657. package/lib-next/theme/IconLanguage/index.js +0 -25
  658. package/lib-next/theme/LastUpdated/index.js +0 -77
  659. package/lib-next/theme/Layout/index.js +0 -46
  660. package/lib-next/theme/LayoutHead/index.js +0 -137
  661. package/lib-next/theme/LayoutProviders/index.js +0 -29
  662. package/lib-next/theme/Logo/index.js +0 -54
  663. package/lib-next/theme/MDXComponents/index.js +0 -59
  664. package/lib-next/theme/MDXPage/index.js +0 -51
  665. package/lib-next/theme/Navbar/index.js +0 -254
  666. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -114
  667. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -56
  668. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -87
  669. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  670. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +0 -160
  671. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  672. package/lib-next/theme/NavbarItem/index.js +0 -52
  673. package/lib-next/theme/NotFound.js +0 -50
  674. package/lib-next/theme/SearchBar.js +0 -11
  675. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  676. package/lib-next/theme/Seo/index.js +0 -36
  677. package/lib-next/theme/SkipToContent/index.js +0 -53
  678. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  679. package/lib-next/theme/TOC/index.js +0 -52
  680. package/lib-next/theme/TOC/styles.module.css +0 -23
  681. package/lib-next/theme/TOCCollapsible/index.js +0 -45
  682. package/lib-next/theme/TOCInline/index.js +0 -43
  683. package/lib-next/theme/Tabs/index.js +0 -144
  684. package/lib-next/theme/Tabs/styles.module.css +0 -23
  685. package/lib-next/theme/ThemeProvider/index.js +0 -25
  686. package/lib-next/theme/ThemedImage/index.js +0 -41
  687. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  688. package/lib-next/theme/Toggle/index.js +0 -80
  689. package/lib-next/theme/Toggle/styles.css +0 -103
  690. package/lib-next/theme/UserPreferencesContext.js +0 -9
  691. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  692. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  693. package/lib-next/theme/hooks/useDocs.js +0 -10
  694. package/lib-next/theme/hooks/useHideableNavbar.js +0 -82
  695. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  696. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  697. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  698. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  699. package/lib-next/theme/hooks/useScrollPosition.js +0 -42
  700. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  701. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  702. package/lib-next/theme/hooks/useTheme.js +0 -82
  703. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  704. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  705. package/lib-next/theme/hooks/useWindowSize.js +0 -63
  706. package/lib-next/theme/prism-include-languages.js +0 -23
  707. package/lib-next/translations.js +0 -145
  708. package/lib-next/types.d.ts +0 -696
  709. package/lib-next/validateThemeConfig.js +0 -337
  710. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  711. package/src/__tests__/translations.test.ts +0 -116
  712. package/src/__tests__/validateThemeConfig.test.js +0 -457
  713. package/src/prism-include-languages.js +0 -11
  714. package/src/theme/BlogSidebar/styles.module.css +0 -44
  715. package/src/theme/CodeBlock/styles.module.css +0 -66
  716. package/src/theme/DocItem/styles.module.css +0 -32
  717. package/src/theme/DocPage/styles.module.css +0 -85
  718. package/src/theme/DocSidebar/styles.module.css +0 -106
  719. package/src/theme/Heading/styles.css +0 -23
  720. package/src/theme/IconLanguage/index.tsx +0 -31
  721. package/src/theme/LayoutProviders/index.tsx +0 -32
  722. package/src/theme/SearchMetadatas/index.tsx +0 -28
  723. package/src/theme/Seo/index.tsx +0 -46
  724. package/src/theme/ThemeProvider/index.tsx +0 -24
  725. package/src/theme/Toggle/index.tsx +0 -100
  726. package/src/theme/Toggle/styles.css +0 -103
  727. package/src/theme/Toggle/styles.module.css +0 -17
  728. package/src/theme/UserPreferencesContext.ts +0 -12
  729. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  730. package/src/theme/hooks/styles.css +0 -10
  731. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  732. package/src/theme/hooks/useDocs.ts +0 -11
  733. package/src/theme/hooks/useHideableNavbar.ts +0 -87
  734. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  735. package/src/theme/hooks/useLocationHash.ts +0 -25
  736. package/src/theme/hooks/usePrismTheme.ts +0 -22
  737. package/src/theme/hooks/useScrollPosition.ts +0 -52
  738. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  739. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  740. package/src/theme/hooks/useTheme.ts +0 -92
  741. package/src/theme/hooks/useThemeContext.ts +0 -23
  742. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  743. package/src/theme/hooks/useWindowSize.ts +0 -74
  744. package/src/types.d.ts +0 -696
  745. package/src/validateThemeConfig.js +0 -337
  746. package/tsconfig.json +0 -12
  747. package/update-code-translations.js +0 -242
  748. package/update-code-translations.test.js +0 -33
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
10
+ import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle';
11
+ import IconClose from '@theme/Icon/Close';
12
+ import NavbarLogo from '@theme/Navbar/Logo';
13
+
14
+ function CloseButton() {
15
+ const mobileSidebar = useNavbarMobileSidebar();
16
+ return (
17
+ <button
18
+ type="button"
19
+ className="clean-btn navbar-sidebar__close"
20
+ onClick={() => mobileSidebar.toggle()}>
21
+ <IconClose color="var(--ifm-color-emphasis-600)" />
22
+ </button>
23
+ );
24
+ }
25
+
26
+ export default function NavbarMobileSidebarHeader(): JSX.Element {
27
+ return (
28
+ <div className="navbar-sidebar__brand">
29
+ <NavbarLogo />
30
+ <NavbarColorModeToggle className="margin-right--md" />
31
+ <CloseButton />
32
+ </div>
33
+ );
34
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import clsx from 'clsx';
10
+ import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal';
11
+ import type {Props} from '@theme/Navbar/MobileSidebar/Layout';
12
+
13
+ export default function NavbarMobileSidebarLayout({
14
+ header,
15
+ primaryMenu,
16
+ secondaryMenu,
17
+ }: Props): JSX.Element {
18
+ const {shown: secondaryMenuShown} = useNavbarSecondaryMenu();
19
+ return (
20
+ <div className="navbar-sidebar">
21
+ {header}
22
+ <div
23
+ className={clsx('navbar-sidebar__items', {
24
+ 'navbar-sidebar__items--show-secondary': secondaryMenuShown,
25
+ })}>
26
+ <div className="navbar-sidebar__item menu">{primaryMenu}</div>
27
+ <div className="navbar-sidebar__item menu">{secondaryMenu}</div>
28
+ </div>
29
+ </div>
30
+ );
31
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import {useThemeConfig} from '@docusaurus/theme-common';
10
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
11
+ import NavbarItem, {type Props as NavbarItemConfig} from '@theme/NavbarItem';
12
+
13
+ function useNavbarItems() {
14
+ // TODO temporary casting until ThemeConfig type is improved
15
+ return useThemeConfig().navbar.items as NavbarItemConfig[];
16
+ }
17
+
18
+ // The primary menu displays the navbar items
19
+ export default function NavbarMobilePrimaryMenu(): JSX.Element {
20
+ const mobileSidebar = useNavbarMobileSidebar();
21
+
22
+ // TODO how can the order be defined for mobile?
23
+ // Should we allow providing a different list of items?
24
+ const items = useNavbarItems();
25
+
26
+ return (
27
+ <ul className="menu__list">
28
+ {items.map((item, i) => (
29
+ <NavbarItem
30
+ mobile
31
+ {...item}
32
+ onClick={() => mobileSidebar.toggle()}
33
+ key={i}
34
+ />
35
+ ))}
36
+ </ul>
37
+ );
38
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React, {type ComponentProps} from 'react';
9
+ import {useThemeConfig} from '@docusaurus/theme-common';
10
+ import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal';
11
+ import Translate from '@docusaurus/Translate';
12
+
13
+ function SecondaryMenuBackButton(props: ComponentProps<'button'>) {
14
+ return (
15
+ <button {...props} type="button" className="clean-btn navbar-sidebar__back">
16
+ <Translate
17
+ id="theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel"
18
+ 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)">
19
+ ← Back to main menu
20
+ </Translate>
21
+ </button>
22
+ );
23
+ }
24
+
25
+ // The secondary menu slides from the right and shows contextual information
26
+ // such as the docs sidebar
27
+ export default function NavbarMobileSidebarSecondaryMenu(): JSX.Element | null {
28
+ const isPrimaryMenuEmpty = useThemeConfig().navbar.items.length === 0;
29
+ const secondaryMenu = useNavbarSecondaryMenu();
30
+ return (
31
+ <>
32
+ {/* edge-case: prevent returning to the primaryMenu when it's empty */}
33
+ {!isPrimaryMenuEmpty && (
34
+ <SecondaryMenuBackButton onClick={() => secondaryMenu.hide()} />
35
+ )}
36
+ {secondaryMenu.content}
37
+ </>
38
+ );
39
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal';
10
+ import IconMenu from '@theme/Icon/Menu';
11
+
12
+ export default function MobileSidebarToggle(): JSX.Element {
13
+ const mobileSidebar = useNavbarMobileSidebar();
14
+ return (
15
+ <button
16
+ onClick={mobileSidebar.toggle}
17
+ onKeyDown={mobileSidebar.toggle}
18
+ aria-label="Navigation bar toggle"
19
+ className="navbar__toggle clean-btn"
20
+ type="button"
21
+ tabIndex={0}>
22
+ <IconMenu />
23
+ </button>
24
+ );
25
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import {
10
+ useLockBodyScroll,
11
+ useNavbarMobileSidebar,
12
+ } from '@docusaurus/theme-common/internal';
13
+ import NavbarMobileSidebarLayout from '@theme/Navbar/MobileSidebar/Layout';
14
+ import NavbarMobileSidebarHeader from '@theme/Navbar/MobileSidebar/Header';
15
+ import NavbarMobileSidebarPrimaryMenu from '@theme/Navbar/MobileSidebar/PrimaryMenu';
16
+ import NavbarMobileSidebarSecondaryMenu from '@theme/Navbar/MobileSidebar/SecondaryMenu';
17
+
18
+ export default function NavbarMobileSidebar(): JSX.Element | null {
19
+ const mobileSidebar = useNavbarMobileSidebar();
20
+ useLockBodyScroll(mobileSidebar.shown);
21
+
22
+ if (!mobileSidebar.shouldRender) {
23
+ return null;
24
+ }
25
+
26
+ return (
27
+ <NavbarMobileSidebarLayout
28
+ header={<NavbarMobileSidebarHeader />}
29
+ primaryMenu={<NavbarMobileSidebarPrimaryMenu />}
30
+ secondaryMenu={<NavbarMobileSidebarSecondaryMenu />}
31
+ />
32
+ );
33
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import clsx from 'clsx';
10
+ import type {Props} from '@theme/Navbar/Search';
11
+
12
+ import styles from './styles.module.css';
13
+
14
+ export default function NavbarSearch({
15
+ children,
16
+ className,
17
+ }: Props): JSX.Element {
18
+ return <div className={clsx(className, styles.searchBox)}>{children}</div>;
19
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @media (max-width: 996px) {
9
+ .searchBox {
10
+ position: absolute;
11
+ right: var(--ifm-navbar-padding-horizontal);
12
+ }
13
+ }
14
+
15
+ @media (min-width: 997px) {
16
+ .searchBox {
17
+ padding: var(--ifm-navbar-item-padding-vertical)
18
+ var(--ifm-navbar-item-padding-horizontal);
19
+ }
20
+ }
@@ -5,268 +5,14 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {useCallback, useState, useEffect} from 'react';
9
- import clsx from 'clsx';
10
- import Translate from '@docusaurus/Translate';
11
- import SearchBar from '@theme/SearchBar';
12
- import Toggle from '@theme/Toggle';
13
- import useThemeContext from '@theme/hooks/useThemeContext';
14
- import {
15
- useThemeConfig,
16
- useMobileSecondaryMenuRenderer,
17
- usePrevious,
18
- } from '@docusaurus/theme-common';
19
- import useHideableNavbar from '@theme/hooks/useHideableNavbar';
20
- import useLockBodyScroll from '@theme/hooks/useLockBodyScroll';
21
- import useWindowSize from '@theme/hooks/useWindowSize';
22
- import NavbarItem, {Props as NavbarItemConfig} from '@theme/NavbarItem';
23
- import Logo from '@theme/Logo';
24
- import IconMenu from '@theme/IconMenu';
25
-
26
- import styles from './styles.module.css';
27
-
28
- // retrocompatible with v1
29
- const DefaultNavItemPosition = 'right';
30
-
31
- function useNavbarItems() {
32
- // TODO temporary casting until ThemeConfig type is improved
33
- return useThemeConfig().navbar.items as NavbarItemConfig[];
34
- }
35
-
36
- // If split links by left/right
37
- // if position is unspecified, fallback to right (as v1)
38
- function splitNavItemsByPosition(items: NavbarItemConfig[]) {
39
- const leftItems = items.filter(
40
- (item) => (item.position ?? DefaultNavItemPosition) === 'left',
41
- );
42
- const rightItems = items.filter(
43
- (item) => (item.position ?? DefaultNavItemPosition) === 'right',
44
- );
45
- return {
46
- leftItems,
47
- rightItems,
48
- };
49
- }
50
-
51
- function useMobileSidebar() {
52
- const windowSize = useWindowSize();
53
-
54
- // Mobile sidebar not visible on hydration: can avoid SSR rendering
55
- const shouldRender = windowSize === 'mobile'; // || windowSize === 'ssr';
56
-
57
- const [shown, setShown] = useState(false);
58
-
59
- const toggle = useCallback(() => {
60
- setShown((s) => !s);
61
- }, []);
62
-
63
- useEffect(() => {
64
- if (windowSize === 'desktop') {
65
- setShown(false);
66
- }
67
- }, [windowSize]);
68
-
69
- return {shouldRender, toggle, shown};
70
- }
71
-
72
- function useColorModeToggle() {
73
- const {
74
- colorMode: {disableSwitch},
75
- } = useThemeConfig();
76
- const {isDarkTheme, setLightTheme, setDarkTheme} = useThemeContext();
77
- const toggle = useCallback(
78
- (e) => (e.target.checked ? setDarkTheme() : setLightTheme()),
79
- [setLightTheme, setDarkTheme],
80
- );
81
- return {isDarkTheme, toggle, disabled: disableSwitch};
82
- }
83
-
84
- function useSecondaryMenu({
85
- sidebarShown,
86
- toggleSidebar,
87
- }: NavbarMobileSidebarProps) {
88
- const content = useMobileSecondaryMenuRenderer()?.({
89
- toggleSidebar,
90
- });
91
- const previousContent = usePrevious(content);
92
-
93
- const [shown, setShown] = useState<boolean>(() => {
94
- // /!\ content is set with useEffect,
95
- // so it's not available on mount anyway
96
- // "return !!content" => always returns false
97
- return false;
98
- });
99
-
100
- // When content is become available for the first time (set in useEffect)
101
- // we set this content to be shown!
102
- useEffect(() => {
103
- const contentBecameAvailable = content && !previousContent;
104
- if (contentBecameAvailable) {
105
- setShown(true);
106
- }
107
- }, [content, previousContent]);
108
-
109
- const hasContent = !!content;
110
-
111
- // On sidebar close, secondary menu is set to be shown on next re-opening
112
- // (if any secondary menu content available)
113
- useEffect(() => {
114
- if (!hasContent) {
115
- setShown(false);
116
- return;
117
- }
118
- if (!sidebarShown) {
119
- setShown(true);
120
- }
121
- }, [sidebarShown, hasContent]);
122
-
123
- const hide = useCallback(() => {
124
- setShown(false);
125
- }, []);
126
-
127
- return {shown, hide, content};
128
- }
129
-
130
- type NavbarMobileSidebarProps = {
131
- sidebarShown: boolean;
132
- toggleSidebar: () => void;
133
- };
134
-
135
- function NavbarMobileSidebar({
136
- sidebarShown,
137
- toggleSidebar,
138
- }: NavbarMobileSidebarProps) {
139
- useLockBodyScroll(sidebarShown);
140
- const items = useNavbarItems();
141
-
142
- const colorModeToggle = useColorModeToggle();
143
-
144
- const secondaryMenu = useSecondaryMenu({
145
- sidebarShown,
146
- toggleSidebar,
147
- });
8
+ import React from 'react';
9
+ import NavbarLayout from '@theme/Navbar/Layout';
10
+ import NavbarContent from '@theme/Navbar/Content';
148
11
 
12
+ export default function Navbar(): JSX.Element {
149
13
  return (
150
- <div className="navbar-sidebar">
151
- <div className="navbar-sidebar__brand">
152
- <Logo
153
- className="navbar__brand"
154
- imageClassName="navbar__logo"
155
- titleClassName="navbar__title"
156
- />
157
- {!colorModeToggle.disabled && sidebarShown && (
158
- <Toggle
159
- checked={colorModeToggle.isDarkTheme}
160
- onChange={colorModeToggle.toggle}
161
- />
162
- )}
163
- </div>
164
-
165
- <div
166
- className={clsx('navbar-sidebar__items', {
167
- 'navbar-sidebar__items--show-secondary': secondaryMenu.shown,
168
- })}>
169
- <div className="navbar-sidebar__item menu">
170
- <ul className="menu__list">
171
- {items.map((item, i) => (
172
- <NavbarItem mobile {...item} onClick={toggleSidebar} key={i} />
173
- ))}
174
- </ul>
175
- </div>
176
-
177
- <div className="navbar-sidebar__item navbar-sidebar__item--secondary menu">
178
- <button
179
- type="button"
180
- className="clean-btn navbar-sidebar__back"
181
- onClick={secondaryMenu.hide}>
182
- <Translate
183
- id="theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel"
184
- 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)">
185
- ← Back to main menu
186
- </Translate>
187
- </button>
188
- {secondaryMenu.content}
189
- </div>
190
- </div>
191
- </div>
14
+ <NavbarLayout>
15
+ <NavbarContent />
16
+ </NavbarLayout>
192
17
  );
193
18
  }
194
-
195
- function Navbar(): JSX.Element {
196
- const {
197
- navbar: {hideOnScroll, style},
198
- } = useThemeConfig();
199
-
200
- const mobileSidebar = useMobileSidebar();
201
- const colorModeToggle = useColorModeToggle();
202
-
203
- const {navbarRef, isNavbarVisible} = useHideableNavbar(hideOnScroll);
204
-
205
- const items = useNavbarItems();
206
- const hasSearchNavbarItem = items.some((item) => item.type === 'search');
207
- const {leftItems, rightItems} = splitNavItemsByPosition(items);
208
-
209
- return (
210
- <nav
211
- ref={navbarRef}
212
- className={clsx('navbar', 'navbar--fixed-top', {
213
- 'navbar--dark': style === 'dark',
214
- 'navbar--primary': style === 'primary',
215
- 'navbar-sidebar--show': mobileSidebar.shown,
216
- [styles.navbarHideable]: hideOnScroll,
217
- [styles.navbarHidden]: hideOnScroll && !isNavbarVisible,
218
- })}>
219
- <div className="navbar__inner">
220
- <div className="navbar__items">
221
- {items?.length > 0 && (
222
- <button
223
- aria-label="Navigation bar toggle"
224
- className="navbar__toggle clean-btn"
225
- type="button"
226
- tabIndex={0}
227
- onClick={mobileSidebar.toggle}
228
- onKeyDown={mobileSidebar.toggle}>
229
- <IconMenu />
230
- </button>
231
- )}
232
- <Logo
233
- className="navbar__brand"
234
- imageClassName="navbar__logo"
235
- titleClassName="navbar__title"
236
- />
237
- {leftItems.map((item, i) => (
238
- <NavbarItem {...item} key={i} />
239
- ))}
240
- </div>
241
- <div className="navbar__items navbar__items--right">
242
- {rightItems.map((item, i) => (
243
- <NavbarItem {...item} key={i} />
244
- ))}
245
- {!colorModeToggle.disabled && (
246
- <Toggle
247
- className={styles.toggle}
248
- checked={colorModeToggle.isDarkTheme}
249
- onChange={colorModeToggle.toggle}
250
- />
251
- )}
252
- {!hasSearchNavbarItem && <SearchBar />}
253
- </div>
254
- </div>
255
-
256
- <div
257
- role="presentation"
258
- className="navbar-sidebar__backdrop"
259
- onClick={mobileSidebar.toggle}
260
- />
261
-
262
- {mobileSidebar.shouldRender && (
263
- <NavbarMobileSidebar
264
- sidebarShown={mobileSidebar.shown}
265
- toggleSidebar={mobileSidebar.toggle}
266
- />
267
- )}
268
- </nav>
269
- );
270
- }
271
-
272
- export default Navbar;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
9
+ import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
10
+ import LocaleDropdownNavbarItem from '@theme/NavbarItem/LocaleDropdownNavbarItem';
11
+ import SearchNavbarItem from '@theme/NavbarItem/SearchNavbarItem';
12
+ import HtmlNavbarItem from '@theme/NavbarItem/HtmlNavbarItem';
13
+ import DocNavbarItem from '@theme/NavbarItem/DocNavbarItem';
14
+ import DocSidebarNavbarItem from '@theme/NavbarItem/DocSidebarNavbarItem';
15
+ import DocsVersionNavbarItem from '@theme/NavbarItem/DocsVersionNavbarItem';
16
+ import DocsVersionDropdownNavbarItem from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
17
+
18
+ import type {ComponentTypesObject} from '@theme/NavbarItem/ComponentTypes';
19
+
20
+ const ComponentTypes: ComponentTypesObject = {
21
+ default: DefaultNavbarItem,
22
+ localeDropdown: LocaleDropdownNavbarItem,
23
+ search: SearchNavbarItem,
24
+ dropdown: DropdownNavbarItem,
25
+ html: HtmlNavbarItem,
26
+ doc: DocNavbarItem,
27
+ docSidebar: DocSidebarNavbarItem,
28
+ docsVersion: DocsVersionNavbarItem,
29
+ docsVersionDropdown: DocsVersionDropdownNavbarItem,
30
+ };
31
+
32
+ export default ComponentTypes;
@@ -7,67 +7,11 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
- import Link from '@docusaurus/Link';
11
- import useBaseUrl from '@docusaurus/useBaseUrl';
10
+ import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
12
11
  import type {
13
- NavLinkProps,
14
12
  DesktopOrMobileNavBarItemProps,
15
13
  Props,
16
14
  } from '@theme/NavbarItem/DefaultNavbarItem';
17
- import IconExternalLink from '@theme/IconExternalLink';
18
- import isInternalUrl from '@docusaurus/isInternalUrl';
19
-
20
- const dropdownLinkActiveClass = 'dropdown__link--active';
21
-
22
- export function NavLink({
23
- activeBasePath,
24
- activeBaseRegex,
25
- to,
26
- href,
27
- label,
28
- activeClassName = 'navbar__link--active',
29
- prependBaseUrlToHref,
30
- ...props
31
- }: NavLinkProps): JSX.Element {
32
- // TODO all this seems hacky
33
- // {to: 'version'} should probably be forbidden, in favor of {to: '/version'}
34
- const toUrl = useBaseUrl(to);
35
- const activeBaseUrl = useBaseUrl(activeBasePath);
36
- const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
37
- const isExternalLink = label && href && !isInternalUrl(href);
38
- const isDropdownLink = activeClassName === dropdownLinkActiveClass;
39
-
40
- return (
41
- <Link
42
- {...(href
43
- ? {
44
- href: prependBaseUrlToHref ? normalizedHref : href,
45
- }
46
- : {
47
- isNavLink: true,
48
- activeClassName,
49
- to: toUrl,
50
- ...(activeBasePath || activeBaseRegex
51
- ? {
52
- isActive: (_match, location) =>
53
- activeBaseRegex
54
- ? new RegExp(activeBaseRegex).test(location.pathname)
55
- : location.pathname.startsWith(activeBaseUrl),
56
- }
57
- : null),
58
- })}
59
- {...props}>
60
- {isExternalLink ? (
61
- <span>
62
- {label}
63
- <IconExternalLink {...(isDropdownLink && {width: 12, height: 12})} />
64
- </span>
65
- ) : (
66
- label
67
- )}
68
- </Link>
69
- );
70
- }
71
15
 
72
16
  function DefaultNavbarItemDesktop({
73
17
  className,
@@ -75,11 +19,12 @@ function DefaultNavbarItemDesktop({
75
19
  ...props
76
20
  }: DesktopOrMobileNavBarItemProps) {
77
21
  const element = (
78
- <NavLink
22
+ <NavbarNavLink
79
23
  className={clsx(
80
24
  isDropdownItem ? 'dropdown__link' : 'navbar__item navbar__link',
81
25
  className,
82
26
  )}
27
+ isDropdownLink={isDropdownItem}
83
28
  {...props}
84
29
  />
85
30
  );
@@ -93,23 +38,29 @@ function DefaultNavbarItemDesktop({
93
38
 
94
39
  function DefaultNavbarItemMobile({
95
40
  className,
96
- isDropdownItem: _isDropdownItem,
41
+ isDropdownItem,
97
42
  ...props
98
43
  }: DesktopOrMobileNavBarItemProps) {
99
44
  return (
100
45
  <li className="menu__list-item">
101
- <NavLink className={clsx('menu__link', className)} {...props} />
46
+ <NavbarNavLink className={clsx('menu__link', className)} {...props} />
102
47
  </li>
103
48
  );
104
49
  }
105
50
 
106
- function DefaultNavbarItem({
51
+ export default function DefaultNavbarItem({
107
52
  mobile = false,
108
- position: _position, // Need to destructure position from props so that it doesn't get passed on.
53
+ position, // Need to destructure position from props so that it doesn't get passed on.
109
54
  ...props
110
55
  }: Props): JSX.Element {
111
56
  const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
112
- return <Comp {...props} />;
57
+ return (
58
+ <Comp
59
+ {...props}
60
+ activeClassName={
61
+ props.activeClassName ??
62
+ (mobile ? 'menu__link--active' : 'navbar__link--active')
63
+ }
64
+ />
65
+ );
113
66
  }
114
-
115
- export default DefaultNavbarItem;