@docusaurus/theme-classic 2.0.0-beta.16 → 2.0.0-beta.19

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 (319) hide show
  1. package/lib/admonitions.css +4 -0
  2. package/lib/default.css +3038 -0
  3. package/lib/getSwizzleConfig.js +177 -36
  4. package/lib/index.js +10 -15
  5. package/lib/nprogress.css +41 -0
  6. package/lib/nprogress.js +46 -0
  7. package/lib/theme-classic.d.ts +600 -76
  8. package/lib/translations.js +12 -2
  9. package/lib/validateThemeConfig.js +77 -28
  10. package/lib-next/theme/BackToTopButton/index.js +6 -104
  11. package/lib-next/theme/BlogArchivePage/index.js +14 -10
  12. package/lib-next/theme/BlogLayout/index.js +1 -5
  13. package/lib-next/theme/BlogListPage/index.js +34 -13
  14. package/lib-next/theme/BlogListPaginator/index.js +25 -28
  15. package/lib-next/theme/BlogPostAuthor/index.js +16 -7
  16. package/lib-next/theme/BlogPostItem/index.js +6 -6
  17. package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
  18. package/lib-next/theme/BlogPostPage/index.js +56 -45
  19. package/lib-next/theme/BlogPostPaginator/index.js +25 -28
  20. package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
  21. package/lib-next/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  22. package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
  23. package/lib-next/theme/BlogSidebar/index.js +11 -31
  24. package/lib-next/theme/BlogTagsListPage/index.js +17 -14
  25. package/lib-next/theme/BlogTagsPostsPage/index.js +43 -38
  26. package/lib-next/theme/CodeBlock/Container/index.js +29 -0
  27. package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
  28. package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
  29. package/lib-next/theme/CodeBlock/Content/String.js +104 -0
  30. package/lib-next/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  31. package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
  32. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  33. package/lib-next/theme/CodeBlock/Line/index.js +49 -0
  34. package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
  35. package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
  36. package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  37. package/lib-next/theme/CodeBlock/index.js +26 -164
  38. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  39. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  40. package/lib-next/theme/Details/index.js +1 -1
  41. package/lib-next/theme/DocBreadcrumbs/index.js +63 -19
  42. package/lib-next/theme/DocBreadcrumbs/styles.module.css +8 -15
  43. package/lib-next/theme/DocCard/index.js +17 -15
  44. package/lib-next/theme/DocCard/styles.module.css +8 -17
  45. package/lib-next/theme/DocCardList/index.js +20 -6
  46. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +30 -9
  47. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  48. package/lib-next/theme/DocItem/index.js +85 -67
  49. package/lib-next/theme/DocItem/styles.module.css +6 -0
  50. package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
  51. package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
  52. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  53. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  54. package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
  55. package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  56. package/lib-next/theme/DocPage/Layout/index.js +34 -0
  57. package/lib-next/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  58. package/lib-next/theme/DocPage/index.js +30 -149
  59. package/lib-next/theme/DocPaginator/index.js +25 -28
  60. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  61. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  62. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  63. package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  64. package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
  65. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  66. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  67. package/lib-next/theme/DocSidebar/index.js +6 -113
  68. package/lib-next/theme/DocSidebarItem/Category.js +197 -0
  69. package/lib-next/theme/DocSidebarItem/Html.js +27 -0
  70. package/lib-next/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  71. package/lib-next/theme/DocSidebarItem/Link.js +53 -0
  72. package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
  73. package/lib-next/theme/DocSidebarItem/index.js +4 -245
  74. package/lib-next/theme/DocSidebarItems/index.js +1 -6
  75. package/lib-next/theme/DocTagDocListPage/index.js +40 -33
  76. package/lib-next/theme/DocTagsListPage/index.js +21 -16
  77. package/lib-next/theme/DocVersionBanner/index.js +2 -2
  78. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  79. package/lib-next/theme/Footer/Layout/index.js +26 -0
  80. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  81. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  82. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  83. package/lib-next/theme/Footer/Links/index.js +17 -0
  84. package/lib-next/theme/Footer/Logo/index.js +38 -0
  85. package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  86. package/lib-next/theme/Footer/index.js +11 -163
  87. package/lib-next/theme/Heading/index.js +10 -24
  88. package/lib-next/theme/IconDarkMode/index.js +17 -0
  89. package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
  90. package/lib-next/theme/IconHome/index.js +17 -0
  91. package/lib-next/theme/IconLanguage/index.js +3 -3
  92. package/lib-next/theme/IconLightMode/index.js +17 -0
  93. package/lib-next/theme/LastUpdated/index.js +1 -0
  94. package/lib-next/theme/Layout/index.js +15 -10
  95. package/lib-next/theme/LayoutProviders/index.js +5 -4
  96. package/lib-next/theme/MDXComponents/A.js +11 -0
  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/MDXComponents/Heading.js +11 -0
  101. package/lib-next/theme/MDXComponents/Img.js +24 -0
  102. package/{src/theme/MDXComponents/styles.css → lib-next/theme/MDXComponents/Img.module.css} +1 -6
  103. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  104. package/lib-next/theme/MDXComponents/Ul.js +21 -0
  105. package/lib-next/theme/MDXComponents/index.js +22 -57
  106. package/lib-next/theme/MDXContent/index.js +12 -0
  107. package/lib-next/theme/MDXPage/index.js +33 -28
  108. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  109. package/lib-next/theme/Navbar/Content/index.js +75 -0
  110. package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
  111. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  112. package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -13
  113. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  114. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  115. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  116. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  117. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  118. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  119. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  120. package/lib-next/theme/Navbar/Search/index.js +11 -0
  121. package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
  122. package/lib-next/theme/Navbar/index.js +6 -271
  123. package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
  124. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +2 -6
  125. package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -28
  126. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +10 -42
  127. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +25 -29
  128. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -9
  129. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +14 -3
  130. package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
  131. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +5 -10
  132. package/lib-next/theme/NavbarItem/NavbarNavLink.js +49 -35
  133. package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
  134. package/lib-next/theme/NavbarItem/index.js +4 -23
  135. package/lib-next/theme/NavbarItem/utils.js +2 -1
  136. package/lib-next/theme/NotFound.js +38 -33
  137. package/lib-next/theme/PaginatorNavLink/index.js +8 -2
  138. package/lib-next/theme/SearchMetadata/index.js +9 -0
  139. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +19 -33
  140. package/lib-next/theme/SkipToContent/index.js +3 -29
  141. package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
  142. package/{src/theme/TOCCollapsible/styles.module.css → lib-next/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  143. package/lib-next/theme/TOCCollapsible/index.js +4 -16
  144. package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
  145. package/lib-next/theme/TOCItems/Tree.js +40 -0
  146. package/lib-next/theme/TOCItems/index.js +3 -34
  147. package/lib-next/theme/TabItem/index.js +3 -1
  148. package/lib-next/theme/TabItem/styles.module.css +10 -0
  149. package/lib-next/theme/Tabs/__tests__/index.test.js +8 -8
  150. package/lib-next/theme/Tabs/index.js +5 -5
  151. package/lib-next/theme/Tabs/styles.module.css +4 -0
  152. package/lib-next/theme/Tag/index.js +6 -7
  153. package/lib-next/theme/TagsListInline/index.js +1 -1
  154. package/lib-next/theme/ThemedImage/index.js +3 -3
  155. package/package.json +25 -20
  156. package/src/admonitions.css +4 -0
  157. package/src/getSwizzleConfig.ts +173 -22
  158. package/src/index.ts +14 -15
  159. package/src/nprogress.css +41 -0
  160. package/src/nprogress.ts +31 -0
  161. package/src/theme/BackToTopButton/index.tsx +5 -114
  162. package/src/theme/BlogArchivePage/index.tsx +18 -17
  163. package/src/theme/BlogLayout/index.tsx +1 -5
  164. package/src/theme/BlogListPage/index.tsx +32 -13
  165. package/src/theme/BlogListPaginator/index.tsx +25 -28
  166. package/src/theme/BlogPostAuthor/index.tsx +14 -8
  167. package/src/theme/BlogPostItem/index.tsx +6 -6
  168. package/src/theme/BlogPostItem/styles.module.css +9 -0
  169. package/src/theme/BlogPostPage/index.tsx +55 -48
  170. package/src/theme/BlogPostPaginator/index.tsx +25 -28
  171. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  172. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  173. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  174. package/src/theme/BlogSidebar/index.tsx +10 -31
  175. package/src/theme/BlogTagsListPage/index.tsx +17 -14
  176. package/src/theme/BlogTagsPostsPage/index.tsx +46 -36
  177. package/src/theme/CodeBlock/Container/index.tsx +35 -0
  178. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  179. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  180. package/src/theme/CodeBlock/Content/String.tsx +111 -0
  181. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  182. package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
  183. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  184. package/src/theme/CodeBlock/Line/index.tsx +48 -0
  185. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  186. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  187. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  188. package/src/theme/CodeBlock/index.tsx +29 -165
  189. package/src/theme/ColorModeToggle/index.tsx +67 -0
  190. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  191. package/src/theme/Details/index.tsx +1 -1
  192. package/src/theme/DocBreadcrumbs/index.tsx +65 -16
  193. package/src/theme/DocBreadcrumbs/styles.module.css +8 -15
  194. package/src/theme/DocCard/index.tsx +24 -17
  195. package/src/theme/DocCard/styles.module.css +8 -17
  196. package/src/theme/DocCardList/index.tsx +19 -10
  197. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +34 -7
  198. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  199. package/src/theme/DocItem/index.tsx +72 -56
  200. package/src/theme/DocItem/styles.module.css +6 -0
  201. package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
  202. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  203. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  204. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  205. package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  206. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  207. package/src/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  208. package/src/theme/DocPage/Layout/index.tsx +39 -0
  209. package/src/theme/DocPage/index.tsx +30 -160
  210. package/src/theme/DocPaginator/index.tsx +25 -28
  211. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  212. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  213. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  214. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  215. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  216. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  217. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  218. package/src/theme/DocSidebar/index.tsx +6 -121
  219. package/src/theme/DocSidebarItem/Category.tsx +210 -0
  220. package/src/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  221. package/src/theme/DocSidebarItem/Html.tsx +34 -0
  222. package/src/theme/DocSidebarItem/Link.module.css +10 -0
  223. package/src/theme/DocSidebarItem/Link.tsx +58 -0
  224. package/src/theme/DocSidebarItem/index.tsx +4 -260
  225. package/src/theme/DocSidebarItems/index.tsx +1 -6
  226. package/src/theme/DocTagDocListPage/index.tsx +40 -33
  227. package/src/theme/DocTagsListPage/index.tsx +21 -16
  228. package/src/theme/DocVersionBanner/index.tsx +5 -6
  229. package/src/theme/Footer/Copyright/index.tsx +20 -0
  230. package/src/theme/Footer/Layout/index.tsx +34 -0
  231. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  232. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  233. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  234. package/src/theme/Footer/Links/index.tsx +21 -0
  235. package/src/theme/Footer/Logo/index.tsx +41 -0
  236. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  237. package/src/theme/Footer/index.tsx +12 -186
  238. package/src/theme/Heading/index.tsx +10 -22
  239. package/src/theme/IconDarkMode/index.tsx +20 -0
  240. package/src/theme/IconExternalLink/styles.module.css +0 -2
  241. package/src/theme/IconHome/index.tsx +20 -0
  242. package/src/theme/IconLanguage/index.tsx +3 -3
  243. package/src/theme/IconLightMode/index.tsx +20 -0
  244. package/src/theme/LastUpdated/index.tsx +1 -0
  245. package/src/theme/Layout/index.tsx +15 -10
  246. package/src/theme/LayoutProviders/index.tsx +5 -4
  247. package/src/theme/MDXComponents/A.tsx +14 -0
  248. package/src/theme/MDXComponents/Code.tsx +37 -0
  249. package/src/theme/MDXComponents/Details.tsx +25 -0
  250. package/src/theme/MDXComponents/Head.tsx +29 -0
  251. package/src/theme/MDXComponents/Heading.tsx +14 -0
  252. package/{lib-next/theme/MDXComponents/styles.css → src/theme/MDXComponents/Img.module.css} +1 -6
  253. package/src/theme/MDXComponents/Img.tsx +26 -0
  254. package/src/theme/MDXComponents/Pre.tsx +22 -0
  255. package/src/theme/MDXComponents/Ul.tsx +24 -0
  256. package/src/theme/MDXComponents/index.tsx +23 -66
  257. package/src/theme/MDXContent/index.tsx +15 -0
  258. package/src/theme/MDXPage/index.tsx +33 -28
  259. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  260. package/src/theme/Navbar/Content/index.tsx +86 -0
  261. package/src/theme/Navbar/Content/styles.module.css +15 -0
  262. package/src/theme/Navbar/Layout/index.tsx +57 -0
  263. package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -13
  264. package/src/theme/Navbar/Logo/index.tsx +19 -0
  265. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  266. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  267. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  268. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  269. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  270. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  271. package/src/theme/Navbar/Search/index.tsx +15 -0
  272. package/src/theme/Navbar/Search/styles.module.css +20 -0
  273. package/src/theme/Navbar/index.tsx +6 -286
  274. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  275. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +2 -2
  276. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -32
  277. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +9 -49
  278. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +26 -33
  279. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +3 -10
  280. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +15 -3
  281. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  282. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +5 -9
  283. package/src/theme/NavbarItem/NavbarNavLink.tsx +41 -29
  284. package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
  285. package/src/theme/NavbarItem/index.tsx +9 -39
  286. package/src/theme/NavbarItem/utils.ts +5 -2
  287. package/src/theme/NotFound.tsx +38 -33
  288. package/src/theme/PaginatorNavLink/index.tsx +8 -2
  289. package/src/theme/SearchMetadata/index.tsx +9 -0
  290. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +19 -33
  291. package/src/theme/SkipToContent/index.tsx +3 -29
  292. package/{lib-next/theme/TOCCollapsible/styles.module.css → src/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  293. package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
  294. package/src/theme/TOCCollapsible/index.module.css +31 -0
  295. package/src/theme/TOCCollapsible/index.tsx +4 -17
  296. package/src/theme/TOCItems/Tree.tsx +46 -0
  297. package/src/theme/TOCItems/index.tsx +2 -41
  298. package/src/theme/TabItem/index.tsx +7 -1
  299. package/src/theme/TabItem/styles.module.css +10 -0
  300. package/src/theme/Tabs/index.tsx +8 -9
  301. package/src/theme/Tabs/styles.module.css +4 -0
  302. package/src/theme/Tag/index.tsx +6 -8
  303. package/src/theme/TagsListInline/index.tsx +1 -1
  304. package/src/theme/ThemedImage/index.tsx +4 -3
  305. package/src/theme-classic.d.ts +600 -76
  306. package/src/translations.ts +12 -6
  307. package/src/validateThemeConfig.ts +90 -39
  308. package/lib/types.d.ts +0 -11
  309. package/lib-next/theme/DocPage/styles.module.css +0 -86
  310. package/lib-next/theme/DocSidebar/styles.module.css +0 -107
  311. package/lib-next/theme/Seo/index.js +0 -40
  312. package/lib-next/theme/Toggle/index.js +0 -100
  313. package/lib-next/theme/Toggle/styles.module.css +0 -106
  314. package/src/theme/DocPage/styles.module.css +0 -86
  315. package/src/theme/DocSidebar/styles.module.css +0 -107
  316. package/src/theme/Seo/index.tsx +0 -49
  317. package/src/theme/Toggle/index.tsx +0 -117
  318. package/src/theme/Toggle/styles.module.css +0 -106
  319. package/src/types.d.ts +0 -11
@@ -5,8 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .image {
8
+ .docPage {
9
+ display: flex;
9
10
  width: 100%;
10
- height: 100%;
11
- object-fit: cover;
11
+ }
12
+
13
+ .docsWrapper {
14
+ display: flex;
12
15
  }
@@ -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, {useState} from 'react';
9
+ import Layout from '@theme/Layout';
10
+ import BackToTopButton from '@theme/BackToTopButton';
11
+ import type {Props} from '@theme/DocPage/Layout';
12
+ import DocPageLayoutSidebar from '@theme/DocPage/Layout/Sidebar';
13
+ import DocPageLayoutMain from '@theme/DocPage/Layout/Main';
14
+
15
+ import styles from './index.module.css';
16
+
17
+ import {useDocsSidebar} from '@docusaurus/theme-common';
18
+
19
+ export default function DocPageLayout({children}: Props): JSX.Element {
20
+ const sidebar = useDocsSidebar();
21
+ const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
22
+ return (
23
+ <Layout wrapperClassName={styles.docsWrapper}>
24
+ <BackToTopButton />
25
+ <div className={styles.docPage}>
26
+ {sidebar && (
27
+ <DocPageLayoutSidebar
28
+ sidebar={sidebar.items}
29
+ hiddenSidebarContainer={hiddenSidebarContainer}
30
+ setHiddenSidebarContainer={setHiddenSidebarContainer}
31
+ />
32
+ )}
33
+ <DocPageLayoutMain hiddenSidebarContainer={hiddenSidebarContainer}>
34
+ {children}
35
+ </DocPageLayoutMain>
36
+ </div>
37
+ </Layout>
38
+ );
39
+ }
@@ -5,182 +5,52 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {type ReactNode, useState, useCallback} from 'react';
9
- import {MDXProvider} from '@mdx-js/react';
10
-
11
- import renderRoutes from '@docusaurus/renderRoutes';
12
- import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs';
13
- import Layout from '@theme/Layout';
14
- import DocSidebar from '@theme/DocSidebar';
15
- import MDXComponents from '@theme/MDXComponents';
8
+ import React from 'react';
16
9
  import NotFound from '@theme/NotFound';
17
- import type {DocumentRoute} from '@theme/DocItem';
18
10
  import type {Props} from '@theme/DocPage';
19
- import IconArrow from '@theme/IconArrow';
20
- import BackToTopButton from '@theme/BackToTopButton';
21
- import {matchPath} from '@docusaurus/router';
22
- import {translate} from '@docusaurus/Translate';
11
+ import DocPageLayout from '@theme/DocPage/Layout';
23
12
 
24
13
  import clsx from 'clsx';
25
- import styles from './styles.module.css';
14
+
26
15
  import {
16
+ HtmlClassNameProvider,
27
17
  ThemeClassNames,
28
18
  docVersionSearchTag,
29
19
  DocsSidebarProvider,
30
- useDocsSidebar,
31
20
  DocsVersionProvider,
21
+ useDocRouteMetadata,
32
22
  } from '@docusaurus/theme-common';
33
- import Head from '@docusaurus/Head';
34
-
35
- type DocPageContentProps = {
36
- readonly currentDocRoute: DocumentRoute;
37
- readonly versionMetadata: PropVersionMetadata;
38
- readonly children: ReactNode;
39
- readonly sidebarName: string | undefined;
40
- };
41
-
42
- function DocPageContent({
43
- currentDocRoute,
44
- versionMetadata,
45
- children,
46
- sidebarName,
47
- }: DocPageContentProps): JSX.Element {
48
- const sidebar = useDocsSidebar();
49
- const {pluginId, version} = versionMetadata;
50
- const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
51
- const [hiddenSidebar, setHiddenSidebar] = useState(false);
52
- const toggleSidebar = useCallback(() => {
53
- if (hiddenSidebar) {
54
- setHiddenSidebar(false);
55
- }
56
-
57
- setHiddenSidebarContainer((value) => !value);
58
- }, [hiddenSidebar]);
59
-
60
- return (
61
- <Layout
62
- wrapperClassName={ThemeClassNames.wrapper.docsPages}
63
- pageClassName={ThemeClassNames.page.docsDocPage}
64
- searchMetadata={{
65
- version,
66
- tag: docVersionSearchTag(pluginId, version),
67
- }}>
68
- <div className={styles.docPage}>
69
- <BackToTopButton />
70
-
71
- {sidebar && (
72
- <aside
73
- className={clsx(
74
- ThemeClassNames.docs.docSidebarContainer,
75
- styles.docSidebarContainer,
76
- {
77
- [styles.docSidebarContainerHidden]: hiddenSidebarContainer,
78
- },
79
- )}
80
- onTransitionEnd={(e) => {
81
- if (
82
- !e.currentTarget.classList.contains(styles.docSidebarContainer)
83
- ) {
84
- return;
85
- }
86
-
87
- if (hiddenSidebarContainer) {
88
- setHiddenSidebar(true);
89
- }
90
- }}>
91
- <DocSidebar
92
- key={
93
- // Reset sidebar state on sidebar changes
94
- // See https://github.com/facebook/docusaurus/issues/3414
95
- sidebarName
96
- }
97
- sidebar={sidebar}
98
- path={currentDocRoute.path}
99
- onCollapse={toggleSidebar}
100
- isHidden={hiddenSidebar}
101
- />
102
-
103
- {hiddenSidebar && (
104
- <div
105
- className={styles.collapsedDocSidebar}
106
- title={translate({
107
- id: 'theme.docs.sidebar.expandButtonTitle',
108
- message: 'Expand sidebar',
109
- description:
110
- 'The ARIA label and title attribute for expand button of doc sidebar',
111
- })}
112
- aria-label={translate({
113
- id: 'theme.docs.sidebar.expandButtonAriaLabel',
114
- message: 'Expand sidebar',
115
- description:
116
- 'The ARIA label and title attribute for expand button of doc sidebar',
117
- })}
118
- tabIndex={0}
119
- role="button"
120
- onKeyDown={toggleSidebar}
121
- onClick={toggleSidebar}>
122
- <IconArrow className={styles.expandSidebarButtonIcon} />
123
- </div>
124
- )}
125
- </aside>
126
- )}
127
- <main
128
- className={clsx(styles.docMainContainer, {
129
- [styles.docMainContainerEnhanced]:
130
- hiddenSidebarContainer || !sidebar,
131
- })}>
132
- <div
133
- className={clsx(
134
- 'container padding-top--md padding-bottom--lg',
135
- styles.docItemWrapper,
136
- {
137
- [styles.docItemWrapperEnhanced]: hiddenSidebarContainer,
138
- },
139
- )}>
140
- <MDXProvider components={MDXComponents}>{children}</MDXProvider>
141
- </div>
142
- </main>
143
- </div>
144
- </Layout>
145
- );
146
- }
23
+ import SearchMetadata from '@theme/SearchMetadata';
147
24
 
148
25
  export default function DocPage(props: Props): JSX.Element {
149
- const {
150
- route: {routes: docRoutes},
151
- versionMetadata,
152
- location,
153
- } = props;
154
- const currentDocRoute = docRoutes.find((docRoute) =>
155
- matchPath(location.pathname, docRoute),
156
- );
157
- if (!currentDocRoute) {
26
+ const {versionMetadata} = props;
27
+ const currentDocRouteMetadata = useDocRouteMetadata(props);
28
+ if (!currentDocRouteMetadata) {
158
29
  return <NotFound />;
159
30
  }
160
-
161
- // For now, the sidebarName is added as route config: not ideal!
162
- const sidebarName = currentDocRoute.sidebar;
163
-
164
- const sidebar = sidebarName
165
- ? versionMetadata.docsSidebars[sidebarName]
166
- : null;
167
-
31
+ const {docElement, sidebarName, sidebarItems} = currentDocRouteMetadata;
168
32
  return (
169
33
  <>
170
- <Head>
171
- {/* TODO we should add a core addRoute({htmlClassName}) action */}
172
- <html className={versionMetadata.className} />
173
- </Head>
174
- <DocsVersionProvider version={versionMetadata}>
175
- <DocsSidebarProvider sidebar={sidebar}>
176
- <DocPageContent
177
- currentDocRoute={currentDocRoute}
178
- versionMetadata={versionMetadata}
179
- sidebarName={sidebarName}>
180
- {renderRoutes(docRoutes, {versionMetadata})}
181
- </DocPageContent>
182
- </DocsSidebarProvider>
183
- </DocsVersionProvider>
34
+ <SearchMetadata
35
+ version={versionMetadata.version}
36
+ tag={docVersionSearchTag(
37
+ versionMetadata.pluginId,
38
+ versionMetadata.version,
39
+ )}
40
+ />
41
+ <HtmlClassNameProvider
42
+ className={clsx(
43
+ // TODO: it should be removed from here
44
+ ThemeClassNames.wrapper.docsPages,
45
+ ThemeClassNames.page.docsDocPage,
46
+ props.versionMetadata.className,
47
+ )}>
48
+ <DocsVersionProvider version={versionMetadata}>
49
+ <DocsSidebarProvider name={sidebarName} items={sidebarItems}>
50
+ <DocPageLayout>{docElement}</DocPageLayout>
51
+ </DocsSidebarProvider>
52
+ </DocsVersionProvider>
53
+ </HtmlClassNameProvider>
184
54
  </>
185
55
  );
186
56
  }
@@ -21,34 +21,31 @@ export default function DocPaginator(props: Props): JSX.Element {
21
21
  message: 'Docs pages navigation',
22
22
  description: 'The ARIA label for the docs pagination',
23
23
  })}>
24
- <div className="pagination-nav__item">
25
- {previous && (
26
- <PaginatorNavLink
27
- {...previous}
28
- subLabel={
29
- <Translate
30
- id="theme.docs.paginator.previous"
31
- description="The label used to navigate to the previous doc">
32
- Previous
33
- </Translate>
34
- }
35
- />
36
- )}
37
- </div>
38
- <div className="pagination-nav__item pagination-nav__item--next">
39
- {next && (
40
- <PaginatorNavLink
41
- {...next}
42
- subLabel={
43
- <Translate
44
- id="theme.docs.paginator.next"
45
- description="The label used to navigate to the next doc">
46
- Next
47
- </Translate>
48
- }
49
- />
50
- )}
51
- </div>
24
+ {previous && (
25
+ <PaginatorNavLink
26
+ {...previous}
27
+ subLabel={
28
+ <Translate
29
+ id="theme.docs.paginator.previous"
30
+ description="The label used to navigate to the previous doc">
31
+ Previous
32
+ </Translate>
33
+ }
34
+ />
35
+ )}
36
+ {next && (
37
+ <PaginatorNavLink
38
+ {...next}
39
+ subLabel={
40
+ <Translate
41
+ id="theme.docs.paginator.next"
42
+ description="The label used to navigate to the next doc">
43
+ Next
44
+ </Translate>
45
+ }
46
+ isNext
47
+ />
48
+ )}
52
49
  </nav>
53
50
  );
54
51
  }
@@ -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,46 @@
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
+ --docusaurus-collapse-button-bg: transparent;
10
+ --docusaurus-collapse-button-bg-hover: rgb(0 0 0 / 10%);
11
+ }
12
+
13
+ [data-theme='dark']:root {
14
+ --docusaurus-collapse-button-bg: rgb(255 255 255 / 5%);
15
+ --docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%);
16
+ }
17
+
18
+ @media (min-width: 997px) {
19
+ .collapseSidebarButton {
20
+ display: block !important;
21
+ background-color: var(--docusaurus-collapse-button-bg);
22
+ height: 40px;
23
+ position: sticky;
24
+ bottom: 0;
25
+ border-radius: 0;
26
+ border: 1px solid var(--ifm-toc-border-color);
27
+ }
28
+
29
+ .collapseSidebarButtonIcon {
30
+ transform: rotate(180deg);
31
+ margin-top: 4px;
32
+ }
33
+
34
+ [dir='rtl'] .collapseSidebarButtonIcon {
35
+ transform: rotate(0);
36
+ }
37
+
38
+ .collapseSidebarButton:hover,
39
+ .collapseSidebarButton:focus {
40
+ background-color: var(--docusaurus-collapse-button-bg-hover);
41
+ }
42
+ }
43
+
44
+ .collapseSidebarButton {
45
+ display: none;
46
+ }
@@ -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,23 @@
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
+ @supports (scrollbar-gutter: stable) {
14
+ .menu {
15
+ padding: 0.5rem 0 0.5rem 0.5rem;
16
+ scrollbar-gutter: stable;
17
+ }
18
+ }
19
+
20
+ .menuWithAnnouncementBar {
21
+ margin-bottom: var(--docusaurus-announcement-bar-height);
22
+ }
23
+ }
@@ -0,0 +1,40 @@
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
+ docs: {
22
+ sidebar: {hideable},
23
+ },
24
+ } = useThemeConfig();
25
+
26
+ return (
27
+ <div
28
+ className={clsx(
29
+ styles.sidebar,
30
+ hideOnScroll && styles.sidebarWithHideableNavbar,
31
+ isHidden && styles.sidebarHidden,
32
+ )}>
33
+ {hideOnScroll && <Logo tabIndex={-1} className={styles.sidebarLogo} />}
34
+ <Content path={path} sidebar={sidebar} />
35
+ {hideable && <CollapseButton onClick={onCollapse} />}
36
+ </div>
37
+ );
38
+ }
39
+
40
+ export default React.memo(DocSidebarDesktop);
@@ -0,0 +1,50 @@
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
+ .sidebar {
10
+ display: flex;
11
+ flex-direction: column;
12
+ max-height: 100vh;
13
+ height: 100%;
14
+ position: sticky;
15
+ top: 0;
16
+ padding-top: var(--ifm-navbar-height);
17
+ width: var(--doc-sidebar-width);
18
+ transition: opacity 50ms ease;
19
+ }
20
+
21
+ .sidebarWithHideableNavbar {
22
+ padding-top: 0;
23
+ }
24
+
25
+ .sidebarHidden {
26
+ opacity: 0;
27
+ height: 0;
28
+ overflow: hidden;
29
+ visibility: hidden;
30
+ }
31
+
32
+ .sidebarLogo {
33
+ display: flex !important;
34
+ align-items: center;
35
+ margin: 0 var(--ifm-navbar-padding-horizontal);
36
+ min-height: var(--ifm-navbar-height);
37
+ max-height: var(--ifm-navbar-height);
38
+ color: inherit !important;
39
+ text-decoration: none !important;
40
+ }
41
+
42
+ .sidebarLogo img {
43
+ margin-right: 0.5rem;
44
+ height: 2rem;
45
+ }
46
+ }
47
+
48
+ .sidebarLogo {
49
+ display: none;
50
+ }
@@ -0,0 +1,54 @@
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 {
11
+ NavbarSecondaryMenuFiller,
12
+ type NavbarSecondaryMenuComponent,
13
+ ThemeClassNames,
14
+ useNavbarMobileSidebar,
15
+ } from '@docusaurus/theme-common';
16
+ import DocSidebarItems from '@theme/DocSidebarItems';
17
+ import type {Props} from '@theme/DocSidebar/Mobile';
18
+
19
+ // eslint-disable-next-line react/function-component-definition
20
+ const DocSidebarMobileSecondaryMenu: NavbarSecondaryMenuComponent<Props> = ({
21
+ sidebar,
22
+ path,
23
+ }) => {
24
+ const mobileSidebar = useNavbarMobileSidebar();
25
+ return (
26
+ <ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
27
+ <DocSidebarItems
28
+ items={sidebar}
29
+ activePath={path}
30
+ onItemClick={(item) => {
31
+ // Mobile sidebar should only be closed if the category has a link
32
+ if (item.type === 'category' && item.href) {
33
+ mobileSidebar.toggle();
34
+ }
35
+ if (item.type === 'link') {
36
+ mobileSidebar.toggle();
37
+ }
38
+ }}
39
+ level={1}
40
+ />
41
+ </ul>
42
+ );
43
+ };
44
+
45
+ function DocSidebarMobile(props: Props) {
46
+ return (
47
+ <NavbarSecondaryMenuFiller
48
+ component={DocSidebarMobileSecondaryMenu}
49
+ props={props}
50
+ />
51
+ );
52
+ }
53
+
54
+ export default React.memo(DocSidebarMobile);