@docusaurus/theme-classic 2.0.0-beta.15d451942 → 2.0.0-beta.18

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 (488) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +35 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/getSwizzleConfig.js +236 -0
  5. package/lib/index.js +63 -52
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +997 -0
  8. package/lib/translations.js +52 -36
  9. package/lib/types.d.ts +0 -589
  10. package/lib/validateThemeConfig.js +242 -250
  11. package/lib-next/theme/Admonition/index.js +101 -0
  12. package/lib-next/theme/AnnouncementBar/index.js +10 -22
  13. package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
  14. package/lib-next/theme/BackToTopButton/index.js +129 -0
  15. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  16. package/lib-next/theme/BlogArchivePage/index.js +84 -0
  17. package/lib-next/theme/BlogLayout/index.js +37 -0
  18. package/lib-next/theme/BlogListPage/index.js +45 -35
  19. package/lib-next/theme/BlogListPaginator/index.js +13 -16
  20. package/lib-next/theme/BlogPostAuthor/index.js +52 -0
  21. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  22. package/lib-next/theme/BlogPostAuthors/index.js +44 -0
  23. package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
  24. package/lib-next/theme/BlogPostItem/index.js +112 -97
  25. package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
  26. package/lib-next/theme/BlogPostPage/index.js +84 -41
  27. package/lib-next/theme/BlogPostPaginator/index.js +13 -20
  28. package/lib-next/theme/BlogSidebar/index.js +23 -16
  29. package/lib-next/theme/BlogSidebar/styles.module.css +8 -8
  30. package/lib-next/theme/BlogTagsListPage/index.js +24 -70
  31. package/lib-next/theme/BlogTagsPostsPage/index.js +57 -62
  32. package/lib-next/theme/CodeBlock/CopyButton/index.js +60 -0
  33. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +66 -0
  34. package/lib-next/theme/CodeBlock/index.js +74 -195
  35. package/lib-next/theme/CodeBlock/styles.module.css +13 -28
  36. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  37. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  38. package/lib-next/theme/Details/index.js +21 -0
  39. package/lib-next/theme/Details/styles.module.css +13 -0
  40. package/lib-next/theme/DocBreadcrumbs/index.js +93 -0
  41. package/{lib/theme/Heading → lib-next/theme/DocBreadcrumbs}/styles.module.css +3 -2
  42. package/lib-next/theme/DocCard/index.js +93 -0
  43. package/lib-next/theme/DocCard/styles.module.css +34 -0
  44. package/lib-next/theme/DocCardList/index.js +31 -0
  45. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +75 -0
  46. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  47. package/lib-next/theme/DocItem/index.js +99 -86
  48. package/lib-next/theme/DocItem/styles.module.css +7 -13
  49. package/lib-next/theme/DocItemFooter/index.js +79 -0
  50. package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
  51. package/lib-next/theme/DocPage/index.js +124 -99
  52. package/lib-next/theme/DocPage/styles.module.css +14 -30
  53. package/lib-next/theme/DocPaginator/index.js +16 -25
  54. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  55. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +44 -0
  56. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  57. package/{lib/theme/Footer → lib-next/theme/DocSidebar/Desktop/Content}/styles.module.css +8 -6
  58. package/lib-next/theme/DocSidebar/Desktop/index.js +34 -0
  59. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  60. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  61. package/lib-next/theme/DocSidebar/index.js +13 -333
  62. package/lib-next/theme/DocSidebarItem/index.js +265 -0
  63. package/lib-next/theme/DocSidebarItem/styles.module.css +17 -0
  64. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  65. package/lib-next/theme/DocTagDocListPage/index.js +96 -0
  66. package/lib-next/theme/DocTagsListPage/index.js +40 -0
  67. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  68. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
  69. package/lib-next/theme/EditThisPage/index.js +6 -1
  70. package/lib-next/theme/ErrorPageContent.js +35 -0
  71. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  72. package/lib-next/theme/Footer/Layout/index.js +26 -0
  73. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  74. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  75. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  76. package/lib-next/theme/Footer/Links/index.js +17 -0
  77. package/lib-next/theme/Footer/Logo/index.js +38 -0
  78. package/{src/theme/Footer → lib-next/theme/Footer/Logo}/styles.module.css +2 -1
  79. package/lib-next/theme/Footer/index.js +12 -100
  80. package/lib-next/theme/Heading/index.js +42 -33
  81. package/lib-next/theme/Heading/styles.module.css +27 -2
  82. package/lib-next/theme/IconArrow/index.js +3 -6
  83. package/lib-next/theme/IconClose/index.js +23 -0
  84. package/lib-next/theme/IconDarkMode/index.js +17 -0
  85. package/lib-next/theme/IconEdit/index.js +5 -10
  86. package/lib-next/theme/IconExternalLink/index.js +23 -0
  87. package/lib-next/theme/{LastUpdated → IconExternalLink}/styles.module.css +2 -2
  88. package/lib-next/theme/IconLanguage/index.js +5 -8
  89. package/lib-next/theme/IconLightMode/index.js +17 -0
  90. package/lib-next/theme/IconMenu/index.js +8 -9
  91. package/lib-next/theme/LastUpdated/index.js +35 -39
  92. package/lib-next/theme/Layout/index.js +19 -16
  93. package/lib-next/theme/Layout/styles.css +6 -0
  94. package/lib-next/theme/LayoutProviders/index.js +22 -10
  95. package/lib-next/theme/Logo/index.js +21 -16
  96. package/lib-next/theme/{ThemeContext.js → MDXComponents/A.js} +4 -2
  97. package/lib-next/theme/MDXComponents/Code.js +28 -0
  98. package/lib-next/theme/MDXComponents/Details.js +20 -0
  99. package/lib-next/theme/MDXComponents/Head.js +26 -0
  100. package/lib-next/theme/{hooks/styles.css → MDXComponents/Heading.js} +4 -3
  101. package/lib-next/theme/MDXComponents/Img.js +24 -0
  102. package/{lib/theme/LastUpdated/styles.module.css → lib-next/theme/MDXComponents/Img.module.css} +2 -2
  103. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  104. package/lib-next/theme/MDXComponents/Ul.js +23 -0
  105. package/lib-next/theme/MDXComponents/Ul.module.css +11 -0
  106. package/lib-next/theme/MDXComponents/index.js +22 -42
  107. package/lib-next/theme/MDXContent/index.js +12 -0
  108. package/lib-next/theme/MDXPage/index.js +38 -39
  109. package/{lib/theme/IconEdit → lib-next/theme/MDXPage}/styles.module.css +2 -3
  110. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  111. package/lib-next/theme/Navbar/Content/index.js +70 -0
  112. package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
  113. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  114. package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +1 -7
  115. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  116. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  117. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  118. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  119. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  120. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  121. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  122. package/lib-next/theme/Navbar/index.js +7 -137
  123. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +33 -186
  124. package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
  125. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  126. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
  127. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  128. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +164 -0
  129. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
  130. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  131. package/lib-next/theme/NavbarItem/NavbarNavLink.js +66 -0
  132. package/lib-next/theme/NavbarItem/index.js +27 -15
  133. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  134. package/lib-next/theme/NotFound.js +40 -34
  135. package/lib-next/theme/PaginatorNavLink/index.js +17 -0
  136. package/lib-next/theme/SearchBar.js +1 -1
  137. package/lib-next/theme/SearchMetadata/index.js +34 -0
  138. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +25 -45
  139. package/lib-next/theme/SkipToContent/index.js +9 -8
  140. package/lib-next/theme/SkipToContent/styles.module.css +8 -3
  141. package/lib-next/theme/TOC/index.js +12 -39
  142. package/lib-next/theme/TOC/styles.module.css +2 -2
  143. package/lib-next/theme/TOCCollapsible/index.js +52 -0
  144. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  145. package/lib-next/theme/TOCInline/index.js +10 -31
  146. package/lib-next/theme/TOCItems/index.js +85 -0
  147. package/lib-next/theme/TabItem/index.js +1 -4
  148. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  149. package/lib-next/theme/Tabs/index.js +108 -50
  150. package/lib-next/theme/Tabs/styles.module.css +0 -13
  151. package/lib-next/theme/Tag/index.js +24 -0
  152. package/lib-next/theme/Tag/styles.module.css +70 -0
  153. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  154. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  155. package/lib-next/theme/TagsListInline/index.js +31 -0
  156. package/{lib/theme/BlogPostItem → lib-next/theme/TagsListInline}/styles.module.css +5 -4
  157. package/lib-next/theme/ThemedImage/index.js +10 -14
  158. package/lib-next/theme/ThemedImage/styles.module.css +9 -2
  159. package/lib-next/theme/prism-include-languages.js +17 -15
  160. package/package.json +32 -31
  161. package/src/admonitions.css +35 -0
  162. package/src/deps.d.ts +13 -0
  163. package/src/getSwizzleConfig.ts +244 -0
  164. package/src/index.ts +72 -72
  165. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  166. package/src/theme/Admonition/index.tsx +106 -0
  167. package/src/theme/AnnouncementBar/index.tsx +11 -20
  168. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  169. package/src/theme/BackToTopButton/index.tsx +141 -0
  170. package/src/theme/BackToTopButton/styles.module.css +44 -0
  171. package/src/theme/BlogArchivePage/index.tsx +92 -0
  172. package/src/theme/BlogLayout/index.tsx +42 -0
  173. package/src/theme/BlogListPage/index.tsx +45 -35
  174. package/src/theme/BlogListPaginator/index.tsx +13 -15
  175. package/src/theme/BlogPostAuthor/index.tsx +54 -0
  176. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  177. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  178. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  179. package/src/theme/BlogPostItem/index.tsx +103 -93
  180. package/src/theme/BlogPostItem/styles.module.css +5 -1
  181. package/src/theme/BlogPostPage/index.tsx +84 -42
  182. package/src/theme/BlogPostPaginator/index.tsx +13 -19
  183. package/src/theme/BlogSidebar/index.tsx +23 -16
  184. package/src/theme/BlogSidebar/styles.module.css +8 -8
  185. package/src/theme/BlogTagsListPage/index.tsx +24 -70
  186. package/src/theme/BlogTagsPostsPage/index.tsx +54 -65
  187. package/src/theme/CodeBlock/CopyButton/index.tsx +66 -0
  188. package/src/theme/CodeBlock/CopyButton/styles.module.css +66 -0
  189. package/src/theme/CodeBlock/index.tsx +77 -196
  190. package/src/theme/CodeBlock/styles.module.css +13 -28
  191. package/src/theme/ColorModeToggle/index.tsx +67 -0
  192. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  193. package/src/theme/Details/index.tsx +25 -0
  194. package/src/theme/Details/styles.module.css +13 -0
  195. package/src/theme/DocBreadcrumbs/index.tsx +110 -0
  196. package/src/theme/DocBreadcrumbs/styles.module.css +11 -0
  197. package/src/theme/DocCard/index.tsx +116 -0
  198. package/src/theme/DocCard/styles.module.css +34 -0
  199. package/src/theme/DocCardList/index.tsx +38 -0
  200. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
  201. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  202. package/src/theme/DocItem/index.tsx +93 -79
  203. package/src/theme/DocItem/styles.module.css +7 -13
  204. package/src/theme/DocItemFooter/index.tsx +91 -0
  205. package/src/theme/DocItemFooter/styles.module.css +18 -0
  206. package/src/theme/DocPage/index.tsx +124 -101
  207. package/src/theme/DocPage/styles.module.css +14 -30
  208. package/src/theme/DocPaginator/index.tsx +16 -24
  209. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  210. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +44 -0
  211. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  212. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +17 -0
  213. package/src/theme/DocSidebar/Desktop/index.tsx +38 -0
  214. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  215. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  216. package/src/theme/DocSidebar/index.tsx +14 -343
  217. package/src/theme/DocSidebarItem/index.tsx +282 -0
  218. package/src/theme/DocSidebarItem/styles.module.css +17 -0
  219. package/src/theme/DocSidebarItems/index.tsx +32 -0
  220. package/src/theme/DocTagDocListPage/index.tsx +97 -0
  221. package/src/theme/DocTagsListPage/index.tsx +44 -0
  222. package/src/theme/DocVersionBadge/index.tsx +35 -0
  223. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +76 -47
  224. package/src/theme/EditThisPage/index.tsx +6 -1
  225. package/src/theme/ErrorPageContent.tsx +41 -0
  226. package/src/theme/Footer/Copyright/index.tsx +20 -0
  227. package/src/theme/Footer/Layout/index.tsx +34 -0
  228. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  229. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  230. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  231. package/src/theme/Footer/Links/index.tsx +21 -0
  232. package/src/theme/Footer/Logo/index.tsx +41 -0
  233. package/{lib-next/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  234. package/src/theme/Footer/index.tsx +13 -113
  235. package/src/theme/Heading/index.tsx +43 -35
  236. package/src/theme/Heading/styles.module.css +27 -2
  237. package/src/theme/IconArrow/index.tsx +3 -5
  238. package/src/theme/IconClose/index.tsx +26 -0
  239. package/src/theme/IconDarkMode/index.tsx +20 -0
  240. package/src/theme/IconEdit/index.tsx +8 -9
  241. package/src/theme/IconExternalLink/index.tsx +30 -0
  242. package/src/theme/IconExternalLink/styles.module.css +10 -0
  243. package/src/theme/IconLanguage/index.tsx +6 -8
  244. package/src/theme/IconLightMode/index.tsx +20 -0
  245. package/src/theme/IconMenu/index.tsx +4 -9
  246. package/src/theme/LastUpdated/index.tsx +35 -39
  247. package/src/theme/Layout/index.tsx +19 -15
  248. package/src/theme/Layout/styles.css +6 -0
  249. package/src/theme/LayoutProviders/index.tsx +22 -10
  250. package/src/theme/Logo/index.tsx +21 -15
  251. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  252. package/src/theme/MDXComponents/Code.tsx +37 -0
  253. package/src/theme/MDXComponents/Details.tsx +26 -0
  254. package/src/theme/MDXComponents/Head.tsx +29 -0
  255. package/src/theme/MDXComponents/Heading.tsx +14 -0
  256. package/src/theme/{LastUpdated/styles.module.css → MDXComponents/Img.module.css} +2 -2
  257. package/src/theme/MDXComponents/Img.tsx +26 -0
  258. package/src/theme/MDXComponents/Pre.tsx +22 -0
  259. package/src/theme/MDXComponents/Ul.module.css +11 -0
  260. package/src/theme/MDXComponents/Ul.tsx +28 -0
  261. package/src/theme/MDXComponents/index.tsx +23 -42
  262. package/src/theme/MDXContent/index.tsx +15 -0
  263. package/src/theme/MDXPage/index.tsx +39 -39
  264. package/src/theme/MDXPage/styles.module.css +10 -0
  265. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  266. package/src/theme/Navbar/Content/index.tsx +81 -0
  267. package/src/theme/Navbar/Content/styles.module.css +15 -0
  268. package/src/theme/Navbar/Layout/index.tsx +57 -0
  269. package/{lib/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +1 -7
  270. package/src/theme/Navbar/Logo/index.tsx +19 -0
  271. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  272. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  273. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  274. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  275. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  276. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  277. package/src/theme/Navbar/index.tsx +7 -147
  278. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
  279. package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
  280. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  281. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
  282. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  283. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +190 -0
  284. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +17 -11
  285. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  286. package/src/theme/NavbarItem/NavbarNavLink.tsx +64 -0
  287. package/src/theme/NavbarItem/index.tsx +41 -19
  288. package/src/theme/NavbarItem/utils.ts +10 -0
  289. package/src/theme/NotFound.tsx +40 -33
  290. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  291. package/src/theme/SearchBar.tsx +2 -1
  292. package/src/theme/SearchMetadata/index.tsx +43 -0
  293. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +25 -38
  294. package/src/theme/SkipToContent/index.tsx +9 -8
  295. package/src/theme/SkipToContent/styles.module.css +8 -3
  296. package/src/theme/TOC/index.tsx +13 -44
  297. package/src/theme/TOC/styles.module.css +2 -2
  298. package/src/theme/TOCCollapsible/index.tsx +56 -0
  299. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  300. package/src/theme/TOCInline/index.tsx +14 -35
  301. package/src/theme/TOCItems/index.tsx +100 -0
  302. package/src/theme/TabItem/index.tsx +5 -3
  303. package/src/theme/Tabs/index.tsx +117 -59
  304. package/src/theme/Tabs/styles.module.css +0 -13
  305. package/src/theme/Tag/index.tsx +29 -0
  306. package/src/theme/Tag/styles.module.css +70 -0
  307. package/src/theme/TagsListByLetter/index.tsx +43 -0
  308. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  309. package/src/theme/TagsListInline/index.tsx +35 -0
  310. package/src/theme/TagsListInline/styles.module.css +15 -0
  311. package/src/theme/ThemedImage/index.tsx +12 -13
  312. package/src/theme/ThemedImage/styles.module.css +9 -2
  313. package/src/theme/prism-include-languages.ts +20 -15
  314. package/src/theme-classic.d.ts +997 -0
  315. package/src/translations.ts +84 -58
  316. package/src/types.d.ts +0 -589
  317. package/src/validateThemeConfig.ts +381 -0
  318. package/babel.config.js +0 -35
  319. package/codeTranslations/README.md +0 -20
  320. package/codeTranslations/ar.json +0 -55
  321. package/codeTranslations/base.json +0 -108
  322. package/codeTranslations/da.json +0 -55
  323. package/codeTranslations/de.json +0 -55
  324. package/codeTranslations/es.json +0 -55
  325. package/codeTranslations/fa.json +0 -55
  326. package/codeTranslations/fil.json +0 -55
  327. package/codeTranslations/fr.json +0 -55
  328. package/codeTranslations/he.json +0 -55
  329. package/codeTranslations/hi.json +0 -55
  330. package/codeTranslations/ja.json +0 -55
  331. package/codeTranslations/ko.json +0 -55
  332. package/codeTranslations/pl.json +0 -55
  333. package/codeTranslations/pt-BR.json +0 -55
  334. package/codeTranslations/pt-PT.json +0 -55
  335. package/codeTranslations/ru.json +0 -55
  336. package/codeTranslations/tr.json +0 -55
  337. package/codeTranslations/vi.json +0 -55
  338. package/codeTranslations/zh-Hans.json +0 -55
  339. package/codeTranslations/zh-Hant.json +0 -55
  340. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  341. package/lib/__tests__/translations.test.js +0 -112
  342. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  343. package/lib/theme/AnnouncementBar/index.js +0 -74
  344. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  345. package/lib/theme/BlogListPage/index.js +0 -71
  346. package/lib/theme/BlogListPaginator/index.js +0 -63
  347. package/lib/theme/BlogPostItem/index.js +0 -152
  348. package/lib/theme/BlogPostPage/index.js +0 -75
  349. package/lib/theme/BlogPostPaginator/index.js +0 -64
  350. package/lib/theme/BlogSidebar/index.js +0 -43
  351. package/lib/theme/BlogSidebar/styles.module.css +0 -46
  352. package/lib/theme/BlogTagsListPage/index.js +0 -81
  353. package/lib/theme/BlogTagsPostsPage/index.js +0 -104
  354. package/lib/theme/CodeBlock/index.js +0 -253
  355. package/lib/theme/CodeBlock/styles.module.css +0 -71
  356. package/lib/theme/DocItem/index.js +0 -120
  357. package/lib/theme/DocItem/styles.module.css +0 -28
  358. package/lib/theme/DocPage/index.js +0 -141
  359. package/lib/theme/DocPage/styles.module.css +0 -98
  360. package/lib/theme/DocPaginator/index.js +0 -63
  361. package/lib/theme/DocSidebar/index.js +0 -307
  362. package/lib/theme/DocSidebar/styles.module.css +0 -138
  363. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  364. package/lib/theme/EditThisPage/index.js +0 -31
  365. package/lib/theme/Footer/index.js +0 -108
  366. package/lib/theme/Heading/index.js +0 -60
  367. package/lib/theme/Heading/styles.css +0 -23
  368. package/lib/theme/IconArrow/index.js +0 -28
  369. package/lib/theme/IconEdit/index.js +0 -34
  370. package/lib/theme/IconLanguage/index.js +0 -29
  371. package/lib/theme/IconMenu/index.js +0 -31
  372. package/lib/theme/LastUpdated/index.js +0 -65
  373. package/lib/theme/Layout/index.js +0 -64
  374. package/lib/theme/LayoutHead/index.js +0 -144
  375. package/lib/theme/LayoutProviders/index.js +0 -34
  376. package/lib/theme/Logo/index.js +0 -59
  377. package/lib/theme/MDXComponents/index.js +0 -65
  378. package/lib/theme/MDXPage/index.js +0 -68
  379. package/lib/theme/Navbar/index.js +0 -147
  380. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
  381. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
  382. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
  383. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  384. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  385. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  386. package/lib/theme/NavbarItem/index.js +0 -54
  387. package/lib/theme/NotFound.js +0 -50
  388. package/lib/theme/SearchBar.js +0 -15
  389. package/lib/theme/SearchMetadatas/index.js +0 -33
  390. package/lib/theme/Seo/index.js +0 -49
  391. package/lib/theme/SkipToContent/index.js +0 -61
  392. package/lib/theme/SkipToContent/styles.module.css +0 -16
  393. package/lib/theme/TOC/index.js +0 -59
  394. package/lib/theme/TOC/styles.module.css +0 -23
  395. package/lib/theme/TOCInline/index.js +0 -53
  396. package/lib/theme/TOCInline/styles.module.css +0 -12
  397. package/lib/theme/TabItem/index.js +0 -32
  398. package/lib/theme/Tabs/index.js +0 -150
  399. package/lib/theme/Tabs/styles.module.css +0 -23
  400. package/lib/theme/ThemeContext.js +0 -21
  401. package/lib/theme/ThemeProvider/index.js +0 -38
  402. package/lib/theme/ThemedImage/index.js +0 -48
  403. package/lib/theme/ThemedImage/styles.module.css +0 -11
  404. package/lib/theme/Toggle/index.js +0 -106
  405. package/lib/theme/Toggle/styles.module.css +0 -114
  406. package/lib/theme/UserPreferencesContext.js +0 -18
  407. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  408. package/lib/theme/hooks/styles.css +0 -10
  409. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  410. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  411. package/lib/theme/hooks/useDocs.js +0 -18
  412. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  413. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  414. package/lib/theme/hooks/useLocationHash.js +0 -28
  415. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  416. package/lib/theme/hooks/usePrismTheme.js +0 -36
  417. package/lib/theme/hooks/useScrollPosition.js +0 -49
  418. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  419. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  420. package/lib/theme/hooks/useTheme.js +0 -99
  421. package/lib/theme/hooks/useThemeContext.js +0 -31
  422. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  423. package/lib/theme/hooks/useWindowSize.js +0 -55
  424. package/lib/theme/prism-include-languages.js +0 -39
  425. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  426. package/lib-next/__tests__/translations.test.js +0 -128
  427. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  428. package/lib-next/index.js +0 -198
  429. package/lib-next/theme/DocSidebar/styles.module.css +0 -138
  430. package/lib-next/theme/Heading/styles.css +0 -23
  431. package/lib-next/theme/Navbar/styles.module.css +0 -20
  432. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  433. package/lib-next/theme/Seo/index.js +0 -36
  434. package/lib-next/theme/ThemeProvider/index.js +0 -25
  435. package/lib-next/theme/Toggle/index.js +0 -95
  436. package/lib-next/theme/Toggle/styles.module.css +0 -114
  437. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  438. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  439. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  440. package/lib-next/theme/hooks/useDocs.js +0 -10
  441. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  442. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  443. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  444. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  445. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  446. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  447. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  448. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  449. package/lib-next/theme/hooks/useTheme.js +0 -82
  450. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  451. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  452. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  453. package/lib-next/translations.js +0 -145
  454. package/lib-next/types.d.ts +0 -600
  455. package/lib-next/validateThemeConfig.js +0 -317
  456. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  457. package/src/__tests__/translations.test.ts +0 -116
  458. package/src/__tests__/validateThemeConfig.test.js +0 -333
  459. package/src/prism-include-languages.js +0 -11
  460. package/src/theme/DocSidebar/styles.module.css +0 -138
  461. package/src/theme/Heading/styles.css +0 -23
  462. package/src/theme/SearchMetadatas/index.tsx +0 -28
  463. package/src/theme/Seo/index.tsx +0 -46
  464. package/src/theme/ThemeProvider/index.tsx +0 -24
  465. package/src/theme/Toggle/index.tsx +0 -113
  466. package/src/theme/Toggle/styles.module.css +0 -114
  467. package/src/theme/UserPreferencesContext.ts +0 -12
  468. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  469. package/src/theme/hooks/styles.css +0 -10
  470. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  471. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  472. package/src/theme/hooks/useDocs.ts +0 -11
  473. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  474. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  475. package/src/theme/hooks/useLocationHash.ts +0 -25
  476. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  477. package/src/theme/hooks/usePrismTheme.ts +0 -22
  478. package/src/theme/hooks/useScrollPosition.ts +0 -45
  479. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  480. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  481. package/src/theme/hooks/useTheme.ts +0 -92
  482. package/src/theme/hooks/useThemeContext.ts +0 -23
  483. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  484. package/src/theme/hooks/useWindowSize.ts +0 -51
  485. package/src/validateThemeConfig.js +0 -317
  486. package/tsconfig.json +0 -12
  487. package/update-code-translations.js +0 -239
  488. package/update-code-translations.test.js +0 -33
@@ -5,42 +5,47 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {ReactNode, useState, useCallback} from 'react';
9
- import {MDXProvider} from '@mdx-js/react';
10
-
11
- import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
8
+ import React, {type ReactNode, useState, useCallback} from 'react';
12
9
  import renderRoutes from '@docusaurus/renderRoutes';
13
- import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs-types';
10
+ import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs';
14
11
  import Layout from '@theme/Layout';
15
12
  import DocSidebar from '@theme/DocSidebar';
16
- import MDXComponents from '@theme/MDXComponents';
17
13
  import NotFound from '@theme/NotFound';
18
14
  import type {DocumentRoute} from '@theme/DocItem';
19
15
  import type {Props} from '@theme/DocPage';
20
16
  import IconArrow from '@theme/IconArrow';
17
+ import BackToTopButton from '@theme/BackToTopButton';
21
18
  import {matchPath} from '@docusaurus/router';
22
19
  import {translate} from '@docusaurus/Translate';
23
20
 
24
21
  import clsx from 'clsx';
25
22
  import styles from './styles.module.css';
26
- import {ThemeClassNames, docVersionSearchTag} from '@docusaurus/theme-common';
23
+
24
+ import {
25
+ HtmlClassNameProvider,
26
+ ThemeClassNames,
27
+ docVersionSearchTag,
28
+ DocsSidebarProvider,
29
+ useDocsSidebar,
30
+ DocsVersionProvider,
31
+ } from '@docusaurus/theme-common';
32
+ import SearchMetadata from '@theme/SearchMetadata';
27
33
 
28
34
  type DocPageContentProps = {
29
35
  readonly currentDocRoute: DocumentRoute;
30
36
  readonly versionMetadata: PropVersionMetadata;
31
37
  readonly children: ReactNode;
38
+ readonly sidebarName: string | undefined;
32
39
  };
33
40
 
34
41
  function DocPageContent({
35
42
  currentDocRoute,
36
43
  versionMetadata,
37
44
  children,
45
+ sidebarName,
38
46
  }: DocPageContentProps): JSX.Element {
39
- const {siteConfig, isClient} = useDocusaurusContext();
40
- const {pluginId, permalinkToSidebar, docsSidebars, version} = versionMetadata;
41
- const sidebarName = permalinkToSidebar[currentDocRoute.path];
42
- const sidebar = docsSidebars[sidebarName];
43
-
47
+ const sidebar = useDocsSidebar();
48
+ const {pluginId, version} = versionMetadata;
44
49
  const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
45
50
  const [hiddenSidebar, setHiddenSidebar] = useState(false);
46
51
  const toggleSidebar = useCallback(() => {
@@ -48,97 +53,97 @@ function DocPageContent({
48
53
  setHiddenSidebar(false);
49
54
  }
50
55
 
51
- setHiddenSidebarContainer(!hiddenSidebarContainer);
56
+ setHiddenSidebarContainer((value) => !value);
52
57
  }, [hiddenSidebar]);
53
58
 
54
59
  return (
55
- <Layout
56
- key={isClient}
57
- wrapperClassName={ThemeClassNames.wrapper.docPages}
58
- pageClassName={ThemeClassNames.page.docPage}
59
- searchMetadatas={{
60
- version,
61
- tag: docVersionSearchTag(pluginId, version),
62
- }}>
63
- <div className={styles.docPage}>
64
- {sidebar && (
65
- <div
66
- className={clsx(styles.docSidebarContainer, {
67
- [styles.docSidebarContainerHidden]: hiddenSidebarContainer,
68
- })}
69
- onTransitionEnd={(e) => {
70
- if (
71
- !e.currentTarget.classList.contains(styles.docSidebarContainer)
72
- ) {
73
- return;
74
- }
60
+ <>
61
+ <SearchMetadata
62
+ version={version}
63
+ tag={docVersionSearchTag(pluginId, version)}
64
+ />
65
+ <Layout>
66
+ <div className={styles.docPage}>
67
+ <BackToTopButton />
68
+
69
+ {sidebar && (
70
+ <aside
71
+ className={clsx(
72
+ ThemeClassNames.docs.docSidebarContainer,
73
+ styles.docSidebarContainer,
74
+ hiddenSidebarContainer && styles.docSidebarContainerHidden,
75
+ )}
76
+ onTransitionEnd={(e) => {
77
+ if (
78
+ !e.currentTarget.classList.contains(
79
+ styles.docSidebarContainer!,
80
+ )
81
+ ) {
82
+ return;
83
+ }
75
84
 
76
- if (hiddenSidebarContainer) {
77
- setHiddenSidebar(true);
78
- }
79
- }}
80
- role="complementary">
81
- <DocSidebar
82
- key={
83
- // Reset sidebar state on sidebar changes
84
- // See https://github.com/facebook/docusaurus/issues/3414
85
- sidebarName
86
- }
87
- sidebar={sidebar}
88
- path={currentDocRoute.path}
89
- sidebarCollapsible={
90
- siteConfig.themeConfig?.sidebarCollapsible ?? true
91
- }
92
- onCollapse={toggleSidebar}
93
- isHidden={hiddenSidebar}
94
- />
85
+ if (hiddenSidebarContainer) {
86
+ setHiddenSidebar(true);
87
+ }
88
+ }}>
89
+ <DocSidebar
90
+ key={
91
+ // Reset sidebar state on sidebar changes
92
+ // See https://github.com/facebook/docusaurus/issues/3414
93
+ sidebarName
94
+ }
95
+ sidebar={sidebar}
96
+ path={currentDocRoute.path}
97
+ onCollapse={toggleSidebar}
98
+ isHidden={hiddenSidebar}
99
+ />
95
100
 
96
- {hiddenSidebar && (
97
- <div
98
- className={styles.collapsedDocSidebar}
99
- title={translate({
100
- id: 'theme.docs.sidebar.expandButtonTitle',
101
- message: 'Expand sidebar',
102
- description:
103
- 'The ARIA label and title attribute for expand button of doc sidebar',
104
- })}
105
- aria-label={translate({
106
- id: 'theme.docs.sidebar.expandButtonAriaLabel',
107
- message: 'Expand sidebar',
108
- description:
109
- 'The ARIA label and title attribute for expand button of doc sidebar',
110
- })}
111
- tabIndex={0}
112
- role="button"
113
- onKeyDown={toggleSidebar}
114
- onClick={toggleSidebar}>
115
- <IconArrow className={styles.expandSidebarButtonIcon} />
116
- </div>
117
- )}
118
- </div>
119
- )}
120
- <main
121
- className={clsx(styles.docMainContainer, {
122
- [styles.docMainContainerEnhanced]:
123
- hiddenSidebarContainer || !sidebar,
124
- })}>
125
- <div
101
+ {hiddenSidebar && (
102
+ <div
103
+ className={styles.collapsedDocSidebar}
104
+ title={translate({
105
+ id: 'theme.docs.sidebar.expandButtonTitle',
106
+ message: 'Expand sidebar',
107
+ description:
108
+ 'The ARIA label and title attribute for expand button of doc sidebar',
109
+ })}
110
+ aria-label={translate({
111
+ id: 'theme.docs.sidebar.expandButtonAriaLabel',
112
+ message: 'Expand sidebar',
113
+ description:
114
+ 'The ARIA label and title attribute for expand button of doc sidebar',
115
+ })}
116
+ tabIndex={0}
117
+ role="button"
118
+ onKeyDown={toggleSidebar}
119
+ onClick={toggleSidebar}>
120
+ <IconArrow className={styles.expandSidebarButtonIcon} />
121
+ </div>
122
+ )}
123
+ </aside>
124
+ )}
125
+ <main
126
126
  className={clsx(
127
- 'container padding-vert--lg',
128
- styles.docItemWrapper,
129
- {
130
- [styles.docItemWrapperEnhanced]: hiddenSidebarContainer,
131
- },
127
+ styles.docMainContainer,
128
+ (hiddenSidebarContainer || !sidebar) &&
129
+ styles.docMainContainerEnhanced,
132
130
  )}>
133
- <MDXProvider components={MDXComponents}>{children}</MDXProvider>
134
- </div>
135
- </main>
136
- </div>
137
- </Layout>
131
+ <div
132
+ className={clsx(
133
+ 'container padding-top--md padding-bottom--lg',
134
+ styles.docItemWrapper,
135
+ hiddenSidebarContainer && styles.docItemWrapperEnhanced,
136
+ )}>
137
+ {children}
138
+ </div>
139
+ </main>
140
+ </div>
141
+ </Layout>
142
+ </>
138
143
  );
139
144
  }
140
145
 
141
- function DocPage(props: Props): JSX.Element {
146
+ export default function DocPage(props: Props): JSX.Element {
142
147
  const {
143
148
  route: {routes: docRoutes},
144
149
  versionMetadata,
@@ -148,15 +153,33 @@ function DocPage(props: Props): JSX.Element {
148
153
  matchPath(location.pathname, docRoute),
149
154
  );
150
155
  if (!currentDocRoute) {
151
- return <NotFound {...props} />;
156
+ return <NotFound />;
152
157
  }
158
+
159
+ // For now, the sidebarName is added as route config: not ideal!
160
+ const sidebarName = currentDocRoute.sidebar;
161
+
162
+ const sidebar = sidebarName
163
+ ? versionMetadata.docsSidebars[sidebarName]
164
+ : null;
165
+
153
166
  return (
154
- <DocPageContent
155
- currentDocRoute={currentDocRoute}
156
- versionMetadata={versionMetadata}>
157
- {renderRoutes(docRoutes)}
158
- </DocPageContent>
167
+ <HtmlClassNameProvider
168
+ className={clsx(
169
+ ThemeClassNames.wrapper.docsPages,
170
+ ThemeClassNames.page.docsDocPage,
171
+ versionMetadata.className,
172
+ )}>
173
+ <DocsVersionProvider version={versionMetadata}>
174
+ <DocsSidebarProvider sidebar={sidebar ?? null}>
175
+ <DocPageContent
176
+ currentDocRoute={currentDocRoute}
177
+ versionMetadata={versionMetadata}
178
+ sidebarName={sidebarName}>
179
+ {renderRoutes(docRoutes, {versionMetadata})}
180
+ </DocPageContent>
181
+ </DocsSidebarProvider>
182
+ </DocsVersionProvider>
183
+ </HtmlClassNameProvider>
159
184
  );
160
185
  }
161
-
162
- export default DocPage;
@@ -7,10 +7,7 @@
7
7
 
8
8
  :root {
9
9
  --doc-sidebar-width: 300px;
10
- }
11
-
12
- :global(.docs-wrapper) {
13
- display: flex;
10
+ --doc-sidebar-hidden-width: 30px;
14
11
  }
15
12
 
16
13
  .docPage,
@@ -19,6 +16,10 @@
19
16
  width: 100%;
20
17
  }
21
18
 
19
+ .docSidebarContainer {
20
+ display: none;
21
+ }
22
+
22
23
  @media (min-width: 997px) {
23
24
  .docMainContainer {
24
25
  flex-grow: 1;
@@ -26,10 +27,11 @@
26
27
  }
27
28
 
28
29
  .docMainContainerEnhanced {
29
- max-width: none;
30
+ max-width: calc(100% - var(--doc-sidebar-hidden-width));
30
31
  }
31
32
 
32
33
  .docSidebarContainer {
34
+ display: block;
33
35
  width: var(--doc-sidebar-width);
34
36
  margin-top: calc(-1 * var(--ifm-navbar-height));
35
37
  border-right: 1px solid var(--ifm-toc-border-color);
@@ -39,7 +41,7 @@
39
41
  }
40
42
 
41
43
  .docSidebarContainerHidden {
42
- width: 30px;
44
+ width: var(--doc-sidebar-hidden-width);
43
45
  cursor: pointer;
44
46
  }
45
47
 
@@ -62,37 +64,19 @@
62
64
  .expandSidebarButtonIcon {
63
65
  transform: rotate(0);
64
66
  }
65
- html[dir='rtl'] .expandSidebarButtonIcon {
67
+
68
+ [dir='rtl'] .expandSidebarButtonIcon {
66
69
  transform: rotate(180deg);
67
70
  }
68
71
 
69
- html[data-theme='dark'] .collapsedDocSidebar:hover,
70
- html[data-theme='dark'] .collapsedDocSidebar:focus {
72
+ [data-theme='dark'] .collapsedDocSidebar:hover,
73
+ [data-theme='dark'] .collapsedDocSidebar:focus {
71
74
  background-color: var(--collapse-button-bg-color-dark);
72
75
  }
73
76
 
74
- .docItemWrapperEnhanced {
75
- max-width: calc(var(--ifm-container-width) + var(--doc-sidebar-width)) !important;
76
- }
77
- }
78
-
79
- @media (max-width: 996px) {
80
- .docSidebarContainer {
81
- margin-top: 0;
82
- }
83
- }
84
-
85
- @media (min-width: 997px) and (max-width: 1320px) {
86
- .docItemWrapper {
87
- max-width: calc(
88
- var(--ifm-container-width) - var(--doc-sidebar-width) -
89
- var(--ifm-spacing-horizontal) * 2
90
- );
91
- }
92
-
93
77
  .docItemWrapperEnhanced {
94
78
  max-width: calc(
95
- var(--ifm-container-width) - var(--ifm-spacing-horizontal) * 2
96
- );
79
+ var(--ifm-container-width) + var(--doc-sidebar-width)
80
+ ) !important;
97
81
  }
98
82
  }
@@ -6,57 +6,49 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import Link from '@docusaurus/Link';
10
9
  import Translate, {translate} from '@docusaurus/Translate';
10
+ import PaginatorNavLink from '@theme/PaginatorNavLink';
11
11
  import type {Props} from '@theme/DocPaginator';
12
12
 
13
- function DocPaginator(props: Props): JSX.Element {
14
- const {metadata} = props;
13
+ export default function DocPaginator(props: Props): JSX.Element {
14
+ const {previous, next} = props;
15
15
 
16
16
  return (
17
17
  <nav
18
- className="pagination-nav"
18
+ className="pagination-nav docusaurus-mt-lg"
19
19
  aria-label={translate({
20
20
  id: 'theme.docs.paginator.navAriaLabel',
21
21
  message: 'Docs pages navigation',
22
22
  description: 'The ARIA label for the docs pagination',
23
23
  })}>
24
24
  <div className="pagination-nav__item">
25
- {metadata.previous && (
26
- <Link
27
- className="pagination-nav__link"
28
- to={metadata.previous.permalink}>
29
- <div className="pagination-nav__sublabel">
25
+ {previous && (
26
+ <PaginatorNavLink
27
+ {...previous}
28
+ subLabel={
30
29
  <Translate
31
30
  id="theme.docs.paginator.previous"
32
31
  description="The label used to navigate to the previous doc">
33
32
  Previous
34
33
  </Translate>
35
- </div>
36
- <div className="pagination-nav__label">
37
- &laquo; {metadata.previous.title}
38
- </div>
39
- </Link>
34
+ }
35
+ />
40
36
  )}
41
37
  </div>
42
38
  <div className="pagination-nav__item pagination-nav__item--next">
43
- {metadata.next && (
44
- <Link className="pagination-nav__link" to={metadata.next.permalink}>
45
- <div className="pagination-nav__sublabel">
39
+ {next && (
40
+ <PaginatorNavLink
41
+ {...next}
42
+ subLabel={
46
43
  <Translate
47
44
  id="theme.docs.paginator.next"
48
45
  description="The label used to navigate to the next doc">
49
46
  Next
50
47
  </Translate>
51
- </div>
52
- <div className="pagination-nav__label">
53
- {metadata.next.title} &raquo;
54
- </div>
55
- </Link>
48
+ }
49
+ />
56
50
  )}
57
51
  </div>
58
52
  </nav>
59
53
  );
60
54
  }
61
-
62
- export default DocPaginator;
@@ -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 clsx from 'clsx';
10
+ import IconArrow from '@theme/IconArrow';
11
+ import {translate} from '@docusaurus/Translate';
12
+ import type {Props} from '@theme/DocSidebar/Desktop/CollapseButton';
13
+
14
+ import styles from './styles.module.css';
15
+
16
+ export default function CollapseButton({onClick}: Props): JSX.Element {
17
+ return (
18
+ <button
19
+ type="button"
20
+ title={translate({
21
+ id: 'theme.docs.sidebar.collapseButtonTitle',
22
+ message: 'Collapse sidebar',
23
+ description: 'The title attribute for collapse button of doc sidebar',
24
+ })}
25
+ aria-label={translate({
26
+ id: 'theme.docs.sidebar.collapseButtonAriaLabel',
27
+ message: 'Collapse sidebar',
28
+ description: 'The title attribute for collapse button of doc sidebar',
29
+ })}
30
+ className={clsx(
31
+ 'button button--secondary button--outline',
32
+ styles.collapseSidebarButton,
33
+ )}
34
+ onClick={onClick}>
35
+ <IconArrow className={styles.collapseSidebarButtonIcon} />
36
+ </button>
37
+ );
38
+ }
@@ -0,0 +1,44 @@
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
+ :root {
9
+ --collapse-button-bg-color-dark: #2e333a;
10
+ }
11
+
12
+ @media (min-width: 997px) {
13
+ .collapseSidebarButton {
14
+ display: block !important;
15
+ background-color: var(--ifm-button-background-color);
16
+ height: 40px;
17
+ position: sticky;
18
+ bottom: 0;
19
+ border-radius: 0;
20
+ border: 1px solid var(--ifm-toc-border-color);
21
+ }
22
+
23
+ .collapseSidebarButtonIcon {
24
+ transform: rotate(180deg);
25
+ margin-top: 4px;
26
+ }
27
+
28
+ [dir='rtl'] .collapseSidebarButtonIcon {
29
+ transform: rotate(0);
30
+ }
31
+
32
+ [data-theme='dark'] .collapseSidebarButton {
33
+ background-color: var(--collapse-button-bg-color-dark);
34
+ }
35
+
36
+ [data-theme='dark'] .collapseSidebarButton:hover,
37
+ [data-theme='dark'] .collapseSidebarButton:focus {
38
+ background-color: var(--ifm-color-emphasis-200);
39
+ }
40
+ }
41
+
42
+ .collapseSidebarButton {
43
+ display: none;
44
+ }
@@ -0,0 +1,55 @@
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, {useState} from 'react';
9
+ import clsx from 'clsx';
10
+ import {
11
+ ThemeClassNames,
12
+ useAnnouncementBar,
13
+ useScrollPosition,
14
+ } from '@docusaurus/theme-common';
15
+ import DocSidebarItems from '@theme/DocSidebarItems';
16
+ import type {Props} from '@theme/DocSidebar/Desktop/Content';
17
+
18
+ import styles from './styles.module.css';
19
+
20
+ function useShowAnnouncementBar() {
21
+ const {isActive} = useAnnouncementBar();
22
+ const [showAnnouncementBar, setShowAnnouncementBar] = useState(isActive);
23
+
24
+ useScrollPosition(
25
+ ({scrollY}) => {
26
+ if (isActive) {
27
+ setShowAnnouncementBar(scrollY === 0);
28
+ }
29
+ },
30
+ [isActive],
31
+ );
32
+ return isActive && showAnnouncementBar;
33
+ }
34
+
35
+ export default function DocSidebarDesktopContent({
36
+ path,
37
+ sidebar,
38
+ className,
39
+ }: Props): JSX.Element {
40
+ const showAnnouncementBar = useShowAnnouncementBar();
41
+
42
+ return (
43
+ <nav
44
+ className={clsx(
45
+ 'menu thin-scrollbar',
46
+ styles.menu,
47
+ showAnnouncementBar && styles.menuWithAnnouncementBar,
48
+ className,
49
+ )}>
50
+ <ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
51
+ <DocSidebarItems items={sidebar} activePath={path} level={1} />
52
+ </ul>
53
+ </nav>
54
+ );
55
+ }
@@ -0,0 +1,17 @@
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 (min-width: 997px) {
9
+ .menu {
10
+ flex-grow: 1;
11
+ padding: 0.5rem;
12
+ }
13
+
14
+ .menuWithAnnouncementBar {
15
+ margin-bottom: var(--docusaurus-announcement-bar-height);
16
+ }
17
+ }
@@ -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 clsx from 'clsx';
10
+ import {useThemeConfig} from '@docusaurus/theme-common';
11
+ import Logo from '@theme/Logo';
12
+ import CollapseButton from '@theme/DocSidebar/Desktop/CollapseButton';
13
+ import Content from '@theme/DocSidebar/Desktop/Content';
14
+ import type {Props} from '@theme/DocSidebar/Desktop';
15
+
16
+ import styles from './styles.module.css';
17
+
18
+ function DocSidebarDesktop({path, sidebar, onCollapse, isHidden}: Props) {
19
+ const {
20
+ navbar: {hideOnScroll},
21
+ hideableSidebar,
22
+ } = useThemeConfig();
23
+
24
+ return (
25
+ <div
26
+ className={clsx(
27
+ styles.sidebar,
28
+ hideOnScroll && styles.sidebarWithHideableNavbar,
29
+ isHidden && styles.sidebarHidden,
30
+ )}>
31
+ {hideOnScroll && <Logo tabIndex={-1} className={styles.sidebarLogo} />}
32
+ <Content path={path} sidebar={sidebar} />
33
+ {hideableSidebar && <CollapseButton onClick={onCollapse} />}
34
+ </div>
35
+ );
36
+ }
37
+
38
+ export default React.memo(DocSidebarDesktop);