@docusaurus/theme-classic 2.0.0-beta.2 → 2.0.0-beta.22

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