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

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 (407) 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 +102 -0
  5. package/lib/index.js +59 -43
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +755 -0
  8. package/lib/translations.js +40 -34
  9. package/lib/types.d.ts +0 -589
  10. package/lib/validateThemeConfig.js +247 -246
  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 +131 -0
  15. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  16. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  17. package/lib-next/theme/BlogLayout/index.js +37 -0
  18. package/lib-next/theme/BlogListPage/index.js +18 -29
  19. package/lib-next/theme/BlogListPaginator/index.js +13 -16
  20. package/lib-next/theme/BlogPostAuthor/index.js +40 -0
  21. package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
  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 +110 -95
  25. package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
  26. package/lib-next/theme/BlogPostPage/index.js +75 -43
  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 +16 -66
  31. package/lib-next/theme/BlogTagsPostsPage/index.js +47 -59
  32. package/lib-next/theme/CodeBlock/index.js +73 -162
  33. package/lib-next/theme/CodeBlock/styles.module.css +18 -13
  34. package/lib-next/theme/Details/index.js +21 -0
  35. package/lib-next/theme/Details/styles.module.css +13 -0
  36. package/lib-next/theme/DocBreadcrumbs/index.js +76 -0
  37. package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
  38. package/lib-next/theme/DocCard/index.js +91 -0
  39. package/lib-next/theme/DocCard/styles.module.css +43 -0
  40. package/lib-next/theme/DocCardList/index.js +19 -0
  41. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +54 -0
  42. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  43. package/lib-next/theme/DocItem/index.js +64 -69
  44. package/lib-next/theme/DocItem/styles.module.css +7 -13
  45. package/lib-next/theme/DocItemFooter/index.js +79 -0
  46. package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
  47. package/lib-next/theme/DocPage/index.js +59 -33
  48. package/lib-next/theme/DocPage/styles.module.css +14 -26
  49. package/lib-next/theme/DocPaginator/index.js +16 -25
  50. package/lib-next/theme/DocSidebar/index.js +72 -285
  51. package/lib-next/theme/DocSidebar/styles.module.css +5 -36
  52. package/lib-next/theme/DocSidebarItem/index.js +264 -0
  53. package/lib-next/theme/DocSidebarItem/styles.module.css +13 -0
  54. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  55. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  56. package/lib-next/theme/DocTagsListPage/index.js +35 -0
  57. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  58. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
  59. package/lib-next/theme/EditThisPage/index.js +6 -1
  60. package/lib-next/theme/ErrorPageContent.js +35 -0
  61. package/lib-next/theme/Footer/index.js +105 -41
  62. package/lib-next/theme/Footer/styles.module.css +2 -1
  63. package/lib-next/theme/Heading/index.js +40 -33
  64. package/lib-next/theme/Heading/styles.module.css +27 -2
  65. package/lib-next/theme/IconArrow/index.js +3 -6
  66. package/lib-next/theme/IconClose/index.js +23 -0
  67. package/lib-next/theme/IconEdit/index.js +5 -10
  68. package/lib-next/theme/IconExternalLink/index.js +23 -0
  69. package/{lib/theme/BlogPostItem → lib-next/theme/IconExternalLink}/styles.module.css +4 -6
  70. package/lib-next/theme/IconLanguage/index.js +3 -6
  71. package/lib-next/theme/IconMenu/index.js +8 -9
  72. package/lib-next/theme/LastUpdated/index.js +35 -39
  73. package/lib-next/theme/Layout/index.js +5 -7
  74. package/lib-next/theme/Layout/styles.css +6 -0
  75. package/lib-next/theme/LayoutHead/index.js +27 -32
  76. package/lib-next/theme/LayoutProviders/index.js +21 -10
  77. package/lib-next/theme/Logo/index.js +21 -16
  78. package/lib-next/theme/MDXComponents/index.js +45 -30
  79. package/lib-next/theme/{hooks → MDXComponents}/styles.css +7 -2
  80. package/lib-next/theme/MDXPage/index.js +22 -28
  81. package/{lib/theme/LastUpdated → lib-next/theme/MDXPage}/styles.module.css +2 -2
  82. package/lib-next/theme/Navbar/index.js +199 -64
  83. package/lib-next/theme/Navbar/styles.module.css +11 -4
  84. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +36 -185
  85. package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
  86. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  87. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
  88. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  89. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +156 -0
  90. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
  91. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  92. package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
  93. package/lib-next/theme/NavbarItem/index.js +27 -15
  94. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  95. package/lib-next/theme/NotFound.js +7 -6
  96. package/lib-next/theme/PaginatorNavLink/index.js +17 -0
  97. package/lib-next/theme/SearchBar.js +1 -1
  98. package/lib-next/theme/SearchMetadata/index.js +25 -0
  99. package/lib-next/theme/Seo/index.js +11 -7
  100. package/lib-next/theme/SkipToContent/index.js +9 -8
  101. package/lib-next/theme/SkipToContent/styles.module.css +8 -3
  102. package/lib-next/theme/TOC/index.js +12 -39
  103. package/lib-next/theme/TOC/styles.module.css +2 -2
  104. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  105. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  106. package/lib-next/theme/TOCInline/index.js +10 -31
  107. package/lib-next/theme/TOCItems/index.js +85 -0
  108. package/lib-next/theme/TabItem/index.js +1 -4
  109. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  110. package/lib-next/theme/Tabs/index.js +108 -50
  111. package/lib-next/theme/Tabs/styles.module.css +0 -13
  112. package/lib-next/theme/Tag/index.js +24 -0
  113. package/lib-next/theme/Tag/styles.module.css +70 -0
  114. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  115. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  116. package/lib-next/theme/TagsListInline/index.js +31 -0
  117. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  118. package/lib-next/theme/ThemedImage/index.js +9 -13
  119. package/lib-next/theme/ThemedImage/styles.module.css +9 -2
  120. package/lib-next/theme/Toggle/index.js +65 -60
  121. package/lib-next/theme/Toggle/styles.module.css +30 -38
  122. package/lib-next/theme/prism-include-languages.js +17 -15
  123. package/package.json +31 -30
  124. package/src/admonitions.css +35 -0
  125. package/src/deps.d.ts +13 -0
  126. package/src/getSwizzleConfig.ts +101 -0
  127. package/src/index.ts +68 -66
  128. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  129. package/src/theme/Admonition/index.tsx +106 -0
  130. package/src/theme/AnnouncementBar/index.tsx +11 -20
  131. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  132. package/src/theme/BackToTopButton/index.tsx +143 -0
  133. package/src/theme/BackToTopButton/styles.module.css +44 -0
  134. package/src/theme/BlogArchivePage/index.tsx +91 -0
  135. package/src/theme/BlogLayout/index.tsx +42 -0
  136. package/src/theme/BlogListPage/index.tsx +19 -28
  137. package/src/theme/BlogListPaginator/index.tsx +13 -15
  138. package/src/theme/BlogPostAuthor/index.tsx +44 -0
  139. package/src/theme/{LastUpdated → BlogPostAuthor}/styles.module.css +4 -2
  140. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  141. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  142. package/src/theme/BlogPostItem/index.tsx +101 -91
  143. package/src/theme/BlogPostItem/styles.module.css +5 -1
  144. package/src/theme/BlogPostPage/index.tsx +77 -42
  145. package/src/theme/BlogPostPaginator/index.tsx +13 -19
  146. package/src/theme/BlogSidebar/index.tsx +23 -16
  147. package/src/theme/BlogSidebar/styles.module.css +8 -8
  148. package/src/theme/BlogTagsListPage/index.tsx +16 -66
  149. package/src/theme/BlogTagsPostsPage/index.tsx +43 -61
  150. package/src/theme/CodeBlock/index.tsx +77 -164
  151. package/src/theme/CodeBlock/styles.module.css +18 -13
  152. package/src/theme/Details/index.tsx +25 -0
  153. package/src/theme/Details/styles.module.css +13 -0
  154. package/src/theme/DocBreadcrumbs/index.tsx +91 -0
  155. package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
  156. package/src/theme/DocCard/index.tsx +109 -0
  157. package/src/theme/DocCard/styles.module.css +43 -0
  158. package/src/theme/DocCardList/index.tsx +27 -0
  159. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
  160. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  161. package/src/theme/DocItem/index.tsx +66 -68
  162. package/src/theme/DocItem/styles.module.css +7 -13
  163. package/src/theme/DocItemFooter/index.tsx +91 -0
  164. package/src/theme/DocItemFooter/styles.module.css +18 -0
  165. package/src/theme/DocPage/index.tsx +58 -34
  166. package/src/theme/DocPage/styles.module.css +14 -26
  167. package/src/theme/DocPaginator/index.tsx +16 -24
  168. package/src/theme/DocSidebar/index.tsx +83 -297
  169. package/src/theme/DocSidebar/styles.module.css +5 -36
  170. package/src/theme/DocSidebarItem/index.tsx +283 -0
  171. package/src/theme/DocSidebarItem/styles.module.css +13 -0
  172. package/src/theme/DocSidebarItems/index.tsx +32 -0
  173. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  174. package/src/theme/DocTagsListPage/index.tsx +39 -0
  175. package/src/theme/DocVersionBadge/index.tsx +35 -0
  176. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +77 -47
  177. package/src/theme/EditThisPage/index.tsx +6 -1
  178. package/src/theme/ErrorPageContent.tsx +41 -0
  179. package/src/theme/Footer/index.tsx +119 -45
  180. package/src/theme/Footer/styles.module.css +2 -1
  181. package/src/theme/Heading/index.tsx +41 -35
  182. package/src/theme/Heading/styles.module.css +27 -2
  183. package/src/theme/IconArrow/index.tsx +3 -5
  184. package/src/theme/IconClose/index.tsx +26 -0
  185. package/src/theme/IconEdit/index.tsx +8 -9
  186. package/src/theme/IconExternalLink/index.tsx +30 -0
  187. package/{lib/theme/Heading → src/theme/IconExternalLink}/styles.module.css +4 -2
  188. package/src/theme/IconLanguage/index.tsx +4 -6
  189. package/src/theme/IconMenu/index.tsx +4 -9
  190. package/src/theme/LastUpdated/index.tsx +35 -39
  191. package/src/theme/Layout/index.tsx +5 -6
  192. package/src/theme/Layout/styles.css +6 -0
  193. package/src/theme/LayoutHead/index.tsx +26 -25
  194. package/src/theme/LayoutProviders/index.tsx +21 -10
  195. package/src/theme/Logo/index.tsx +21 -15
  196. package/src/theme/MDXComponents/index.tsx +56 -32
  197. package/{lib/theme/hooks → src/theme/MDXComponents}/styles.css +7 -2
  198. package/src/theme/MDXPage/index.tsx +23 -28
  199. package/{lib-next/theme/LastUpdated → src/theme/MDXPage}/styles.module.css +2 -2
  200. package/src/theme/Navbar/index.tsx +208 -68
  201. package/src/theme/Navbar/styles.module.css +11 -4
  202. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
  203. package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
  204. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  205. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
  206. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  207. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  208. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +16 -10
  209. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  210. package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
  211. package/src/theme/NavbarItem/index.tsx +42 -19
  212. package/src/theme/NavbarItem/utils.ts +10 -0
  213. package/src/theme/NotFound.tsx +7 -5
  214. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  215. package/src/theme/SearchBar.tsx +2 -1
  216. package/src/theme/SearchMetadata/index.tsx +34 -0
  217. package/src/theme/Seo/index.tsx +7 -4
  218. package/src/theme/SkipToContent/index.tsx +9 -8
  219. package/src/theme/SkipToContent/styles.module.css +8 -3
  220. package/src/theme/TOC/index.tsx +13 -44
  221. package/src/theme/TOC/styles.module.css +2 -2
  222. package/src/theme/TOCCollapsible/index.tsx +58 -0
  223. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  224. package/src/theme/TOCInline/index.tsx +14 -35
  225. package/src/theme/TOCItems/index.tsx +100 -0
  226. package/src/theme/TabItem/index.tsx +5 -3
  227. package/src/theme/Tabs/index.tsx +115 -56
  228. package/src/theme/Tabs/styles.module.css +0 -13
  229. package/src/theme/Tag/index.tsx +29 -0
  230. package/src/theme/Tag/styles.module.css +70 -0
  231. package/src/theme/TagsListByLetter/index.tsx +43 -0
  232. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  233. package/src/theme/TagsListInline/index.tsx +35 -0
  234. package/src/theme/TagsListInline/styles.module.css +15 -0
  235. package/src/theme/ThemedImage/index.tsx +10 -12
  236. package/src/theme/ThemedImage/styles.module.css +9 -2
  237. package/src/theme/Toggle/index.tsx +66 -62
  238. package/src/theme/Toggle/styles.module.css +30 -38
  239. package/src/theme/prism-include-languages.ts +20 -15
  240. package/src/theme-classic.d.ts +755 -0
  241. package/src/translations.ts +74 -54
  242. package/src/types.d.ts +0 -589
  243. package/{lib-next/validateThemeConfig.js → src/validateThemeConfig.ts} +184 -104
  244. package/babel.config.js +0 -35
  245. package/codeTranslations/README.md +0 -20
  246. package/codeTranslations/ar.json +0 -55
  247. package/codeTranslations/base.json +0 -108
  248. package/codeTranslations/da.json +0 -55
  249. package/codeTranslations/de.json +0 -55
  250. package/codeTranslations/es.json +0 -55
  251. package/codeTranslations/fa.json +0 -55
  252. package/codeTranslations/fil.json +0 -55
  253. package/codeTranslations/fr.json +0 -55
  254. package/codeTranslations/he.json +0 -55
  255. package/codeTranslations/hi.json +0 -55
  256. package/codeTranslations/ja.json +0 -55
  257. package/codeTranslations/ko.json +0 -55
  258. package/codeTranslations/pl.json +0 -55
  259. package/codeTranslations/pt-BR.json +0 -55
  260. package/codeTranslations/pt-PT.json +0 -55
  261. package/codeTranslations/ru.json +0 -55
  262. package/codeTranslations/tr.json +0 -55
  263. package/codeTranslations/vi.json +0 -55
  264. package/codeTranslations/zh-Hans.json +0 -55
  265. package/codeTranslations/zh-Hant.json +0 -55
  266. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  267. package/lib/__tests__/translations.test.js +0 -112
  268. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  269. package/lib/theme/AnnouncementBar/index.js +0 -74
  270. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  271. package/lib/theme/BlogListPage/index.js +0 -71
  272. package/lib/theme/BlogListPaginator/index.js +0 -63
  273. package/lib/theme/BlogPostItem/index.js +0 -152
  274. package/lib/theme/BlogPostPage/index.js +0 -75
  275. package/lib/theme/BlogPostPaginator/index.js +0 -64
  276. package/lib/theme/BlogSidebar/index.js +0 -43
  277. package/lib/theme/BlogSidebar/styles.module.css +0 -46
  278. package/lib/theme/BlogTagsListPage/index.js +0 -81
  279. package/lib/theme/BlogTagsPostsPage/index.js +0 -104
  280. package/lib/theme/CodeBlock/index.js +0 -253
  281. package/lib/theme/CodeBlock/styles.module.css +0 -71
  282. package/lib/theme/DocItem/index.js +0 -120
  283. package/lib/theme/DocItem/styles.module.css +0 -28
  284. package/lib/theme/DocPage/index.js +0 -141
  285. package/lib/theme/DocPage/styles.module.css +0 -98
  286. package/lib/theme/DocPaginator/index.js +0 -63
  287. package/lib/theme/DocSidebar/index.js +0 -307
  288. package/lib/theme/DocSidebar/styles.module.css +0 -138
  289. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  290. package/lib/theme/EditThisPage/index.js +0 -31
  291. package/lib/theme/Footer/index.js +0 -108
  292. package/lib/theme/Footer/styles.module.css +0 -15
  293. package/lib/theme/Heading/index.js +0 -60
  294. package/lib/theme/Heading/styles.css +0 -23
  295. package/lib/theme/IconArrow/index.js +0 -28
  296. package/lib/theme/IconEdit/index.js +0 -34
  297. package/lib/theme/IconLanguage/index.js +0 -29
  298. package/lib/theme/IconMenu/index.js +0 -31
  299. package/lib/theme/LastUpdated/index.js +0 -65
  300. package/lib/theme/Layout/index.js +0 -64
  301. package/lib/theme/LayoutHead/index.js +0 -144
  302. package/lib/theme/LayoutProviders/index.js +0 -34
  303. package/lib/theme/Logo/index.js +0 -59
  304. package/lib/theme/MDXComponents/index.js +0 -65
  305. package/lib/theme/MDXPage/index.js +0 -68
  306. package/lib/theme/Navbar/index.js +0 -147
  307. package/lib/theme/Navbar/styles.module.css +0 -20
  308. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
  309. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
  310. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
  311. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  312. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  313. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  314. package/lib/theme/NavbarItem/index.js +0 -54
  315. package/lib/theme/NotFound.js +0 -50
  316. package/lib/theme/SearchBar.js +0 -15
  317. package/lib/theme/SearchMetadatas/index.js +0 -33
  318. package/lib/theme/Seo/index.js +0 -49
  319. package/lib/theme/SkipToContent/index.js +0 -61
  320. package/lib/theme/SkipToContent/styles.module.css +0 -16
  321. package/lib/theme/TOC/index.js +0 -59
  322. package/lib/theme/TOC/styles.module.css +0 -23
  323. package/lib/theme/TOCInline/index.js +0 -53
  324. package/lib/theme/TOCInline/styles.module.css +0 -12
  325. package/lib/theme/TabItem/index.js +0 -32
  326. package/lib/theme/Tabs/index.js +0 -150
  327. package/lib/theme/Tabs/styles.module.css +0 -23
  328. package/lib/theme/ThemeContext.js +0 -21
  329. package/lib/theme/ThemeProvider/index.js +0 -38
  330. package/lib/theme/ThemedImage/index.js +0 -48
  331. package/lib/theme/ThemedImage/styles.module.css +0 -11
  332. package/lib/theme/Toggle/index.js +0 -106
  333. package/lib/theme/Toggle/styles.module.css +0 -114
  334. package/lib/theme/UserPreferencesContext.js +0 -18
  335. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  336. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  337. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  338. package/lib/theme/hooks/useDocs.js +0 -18
  339. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  340. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  341. package/lib/theme/hooks/useLocationHash.js +0 -28
  342. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  343. package/lib/theme/hooks/usePrismTheme.js +0 -36
  344. package/lib/theme/hooks/useScrollPosition.js +0 -49
  345. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  346. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  347. package/lib/theme/hooks/useTheme.js +0 -99
  348. package/lib/theme/hooks/useThemeContext.js +0 -31
  349. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  350. package/lib/theme/hooks/useWindowSize.js +0 -55
  351. package/lib/theme/prism-include-languages.js +0 -39
  352. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  353. package/lib-next/__tests__/translations.test.js +0 -128
  354. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  355. package/lib-next/index.js +0 -198
  356. package/lib-next/theme/Heading/styles.css +0 -23
  357. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  358. package/lib-next/theme/ThemeContext.js +0 -9
  359. package/lib-next/theme/ThemeProvider/index.js +0 -25
  360. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  361. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  362. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  363. package/lib-next/theme/hooks/useDocs.js +0 -10
  364. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  365. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  366. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  367. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  368. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  369. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  370. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  371. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  372. package/lib-next/theme/hooks/useTheme.js +0 -82
  373. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  374. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  375. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  376. package/lib-next/translations.js +0 -145
  377. package/lib-next/types.d.ts +0 -600
  378. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  379. package/src/__tests__/translations.test.ts +0 -116
  380. package/src/__tests__/validateThemeConfig.test.js +0 -333
  381. package/src/prism-include-languages.js +0 -11
  382. package/src/theme/Heading/styles.css +0 -23
  383. package/src/theme/SearchMetadatas/index.tsx +0 -28
  384. package/src/theme/ThemeContext.ts +0 -15
  385. package/src/theme/ThemeProvider/index.tsx +0 -24
  386. package/src/theme/UserPreferencesContext.ts +0 -12
  387. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  388. package/src/theme/hooks/styles.css +0 -10
  389. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  390. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  391. package/src/theme/hooks/useDocs.ts +0 -11
  392. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  393. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  394. package/src/theme/hooks/useLocationHash.ts +0 -25
  395. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  396. package/src/theme/hooks/usePrismTheme.ts +0 -22
  397. package/src/theme/hooks/useScrollPosition.ts +0 -45
  398. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  399. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  400. package/src/theme/hooks/useTheme.ts +0 -92
  401. package/src/theme/hooks/useThemeContext.ts +0 -23
  402. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  403. package/src/theme/hooks/useWindowSize.ts +0 -51
  404. package/src/validateThemeConfig.js +0 -317
  405. package/tsconfig.json +0 -12
  406. package/update-code-translations.js +0 -239
  407. package/update-code-translations.test.js +0 -33
@@ -6,9 +6,9 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import styles from './styles.module.css';
10
9
  import Translate from '@docusaurus/Translate';
11
10
  import type {Props} from '@theme/LastUpdated';
11
+ import {ThemeClassNames} from '@docusaurus/theme-common';
12
12
 
13
13
  function LastUpdatedAtDate({
14
14
  lastUpdatedAt,
@@ -23,11 +23,11 @@ function LastUpdatedAtDate({
23
23
  description="The words used to describe on which date a page has been last updated"
24
24
  values={{
25
25
  date: (
26
- <time
27
- dateTime={new Date(lastUpdatedAt * 1000).toISOString()}
28
- className={styles.lastUpdatedDate}>
29
- {formattedLastUpdatedAt}
30
- </time>
26
+ <b>
27
+ <time dateTime={new Date(lastUpdatedAt * 1000).toISOString()}>
28
+ {formattedLastUpdatedAt}
29
+ </time>
30
+ </b>
31
31
  ),
32
32
  }}>
33
33
  {' on {date}'}
@@ -45,7 +45,7 @@ function LastUpdatedByUser({
45
45
  id="theme.lastUpdated.byUser"
46
46
  description="The words used to describe by who the page has been last updated"
47
47
  values={{
48
- user: <strong>{lastUpdatedBy}</strong>,
48
+ user: <b>{lastUpdatedBy}</b>,
49
49
  }}>
50
50
  {' by {user}'}
51
51
  </Translate>
@@ -58,37 +58,33 @@ export default function LastUpdated({
58
58
  lastUpdatedBy,
59
59
  }: Props): JSX.Element {
60
60
  return (
61
- <div className="col text--right">
62
- <em>
63
- <small>
64
- <Translate
65
- id="theme.lastUpdated.lastUpdatedAtBy"
66
- description="The sentence used to display when a page has been last updated, and by who"
67
- values={{
68
- atDate:
69
- lastUpdatedAt && formattedLastUpdatedAt ? (
70
- <LastUpdatedAtDate
71
- lastUpdatedAt={lastUpdatedAt}
72
- formattedLastUpdatedAt={formattedLastUpdatedAt}
73
- />
74
- ) : (
75
- ''
76
- ),
77
- byUser: lastUpdatedBy ? (
78
- <LastUpdatedByUser lastUpdatedBy={lastUpdatedBy} />
79
- ) : (
80
- ''
81
- ),
82
- }}>
83
- {'Last updated{atDate}{byUser}'}
84
- </Translate>
85
- {process.env.NODE_ENV === 'development' && (
86
- <div>
87
- <small> (Simulated during dev for better perf)</small>
88
- </div>
89
- )}
90
- </small>
91
- </em>
92
- </div>
61
+ <span className={ThemeClassNames.common.lastUpdated}>
62
+ <Translate
63
+ id="theme.lastUpdated.lastUpdatedAtBy"
64
+ description="The sentence used to display when a page has been last updated, and by who"
65
+ values={{
66
+ atDate:
67
+ lastUpdatedAt && formattedLastUpdatedAt ? (
68
+ <LastUpdatedAtDate
69
+ lastUpdatedAt={lastUpdatedAt}
70
+ formattedLastUpdatedAt={formattedLastUpdatedAt}
71
+ />
72
+ ) : (
73
+ ''
74
+ ),
75
+ byUser: lastUpdatedBy ? (
76
+ <LastUpdatedByUser lastUpdatedBy={lastUpdatedBy} />
77
+ ) : (
78
+ ''
79
+ ),
80
+ }}>
81
+ {'Last updated{atDate}{byUser}'}
82
+ </Translate>
83
+ {process.env.NODE_ENV === 'development' && (
84
+ <div>
85
+ <small> (Simulated during dev for better perf)</small>
86
+ </div>
87
+ )}
88
+ </span>
93
89
  );
94
90
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
+ import ErrorBoundary from '@docusaurus/ErrorBoundary';
10
11
  import SkipToContent from '@theme/SkipToContent';
11
12
  import AnnouncementBar from '@theme/AnnouncementBar';
12
13
  import Navbar from '@theme/Navbar';
@@ -14,11 +15,11 @@ import Footer from '@theme/Footer';
14
15
  import LayoutProviders from '@theme/LayoutProviders';
15
16
  import LayoutHead from '@theme/LayoutHead';
16
17
  import type {Props} from '@theme/Layout';
17
- import useKeyboardNavigation from '@theme/hooks/useKeyboardNavigation';
18
- import {ThemeClassNames} from '@docusaurus/theme-common';
18
+ import {ThemeClassNames, useKeyboardNavigation} from '@docusaurus/theme-common';
19
+ import ErrorPageContent from '@theme/ErrorPageContent';
19
20
  import './styles.css';
20
21
 
21
- function Layout(props: Props): JSX.Element {
22
+ export default function Layout(props: Props): JSX.Element {
22
23
  const {children, noFooter, wrapperClassName, pageClassName} = props;
23
24
 
24
25
  useKeyboardNavigation();
@@ -39,12 +40,10 @@ function Layout(props: Props): JSX.Element {
39
40
  wrapperClassName,
40
41
  pageClassName,
41
42
  )}>
42
- {children}
43
+ <ErrorBoundary fallback={ErrorPageContent}>{children}</ErrorBoundary>
43
44
  </div>
44
45
 
45
46
  {!noFooter && <Footer />}
46
47
  </LayoutProviders>
47
48
  );
48
49
  }
49
-
50
- export default Layout;
@@ -19,3 +19,9 @@ body {
19
19
  .main-wrapper {
20
20
  flex: 1 0 auto;
21
21
  }
22
+
23
+ /* Docusaurus-specific utility classes */
24
+
25
+ .docusaurus-mt-lg {
26
+ margin-top: 3rem;
27
+ }
@@ -10,12 +10,14 @@ import Head from '@docusaurus/Head';
10
10
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
11
11
  import useBaseUrl from '@docusaurus/useBaseUrl';
12
12
  import type {Props} from '@theme/Layout';
13
- import SearchMetadatas from '@theme/SearchMetadatas';
13
+ import SearchMetadata from '@theme/SearchMetadata';
14
14
  import Seo from '@theme/Seo';
15
15
  import {
16
16
  DEFAULT_SEARCH_TAG,
17
17
  useTitleFormatter,
18
18
  useAlternatePageUtils,
19
+ useThemeConfig,
20
+ keyboardFocusedClassName,
19
21
  } from '@docusaurus/theme-common';
20
22
  import {useLocation} from '@docusaurus/router';
21
23
 
@@ -24,7 +26,7 @@ import {useLocation} from '@docusaurus/router';
24
26
  // See https://github.com/facebook/docusaurus/issues/3317
25
27
  function AlternateLangHeaders(): JSX.Element {
26
28
  const {
27
- i18n: {defaultLocale, locales},
29
+ i18n: {defaultLocale, localeConfigs},
28
30
  } = useDocusaurusContext();
29
31
  const alternatePageUtils = useAlternatePageUtils();
30
32
 
@@ -32,7 +34,7 @@ function AlternateLangHeaders(): JSX.Element {
32
34
  // See https://www.searchviu.com/en/multiple-hreflang-tags-one-url/
33
35
  return (
34
36
  <Head>
35
- {locales.map((locale) => (
37
+ {Object.entries(localeConfigs).map(([locale, {htmlLang}]) => (
36
38
  <link
37
39
  key={locale}
38
40
  rel="alternate"
@@ -40,7 +42,7 @@ function AlternateLangHeaders(): JSX.Element {
40
42
  locale,
41
43
  fullyQualified: true,
42
44
  })}
43
- hrefLang={locale}
45
+ hrefLang={htmlLang}
44
46
  />
45
47
  ))}
46
48
  <link
@@ -83,55 +85,54 @@ function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
83
85
 
84
86
  export default function LayoutHead(props: Props): JSX.Element {
85
87
  const {
86
- siteConfig: {
87
- favicon,
88
- themeConfig: {metadatas, image: defaultImage},
89
- },
88
+ siteConfig: {favicon},
90
89
  i18n: {currentLocale, localeConfigs},
91
90
  } = useDocusaurusContext();
92
- const {title, description, image, keywords, searchMetadatas} = props;
91
+ const {metadata, image: defaultImage} = useThemeConfig();
92
+ const {title, description, image, keywords, searchMetadata} = props;
93
93
  const faviconUrl = useBaseUrl(favicon);
94
94
  const pageTitle = useTitleFormatter(title);
95
-
96
- // See https://github.com/facebook/docusaurus/issues/3317#issuecomment-754661855
97
- // const htmlLang = currentLocale.split('-')[0];
98
- const htmlLang = currentLocale; // should we allow the user to override htmlLang with localeConfig?
99
- const htmlDir = localeConfigs[currentLocale].direction;
95
+ const {htmlLang, direction: htmlDir} = localeConfigs[currentLocale];
100
96
 
101
97
  return (
102
98
  <>
103
99
  <Head>
104
100
  <html lang={htmlLang} dir={htmlDir} />
105
- {favicon && <link rel="shortcut icon" href={faviconUrl} />}
101
+ {favicon && <link rel="icon" href={faviconUrl} />}
106
102
  <title>{pageTitle}</title>
107
103
  <meta property="og:title" content={pageTitle} />
108
- {image ||
109
- (defaultImage && (
110
- <meta name="twitter:card" content="summary_large_image" />
111
- ))}
104
+ <meta name="twitter:card" content="summary_large_image" />
105
+ {/* The keyboard focus class name need to be applied when SSR so links
106
+ are outlined when JS is disabled */}
107
+ <body className={keyboardFocusedClassName} />
112
108
  </Head>
113
109
 
114
- <Seo {...{description, keywords, image}} />
110
+ {/* image can override the default image */}
111
+ {defaultImage && <Seo image={defaultImage} />}
112
+ {image && <Seo image={image} />}
113
+
114
+ <Seo description={description} keywords={keywords} />
115
115
 
116
116
  <CanonicalUrlHeaders />
117
117
 
118
118
  <AlternateLangHeaders />
119
119
 
120
- <SearchMetadatas
120
+ <SearchMetadata
121
121
  tag={DEFAULT_SEARCH_TAG}
122
122
  locale={currentLocale}
123
- {...searchMetadatas}
123
+ {...searchMetadata}
124
124
  />
125
125
 
126
126
  <Head
127
127
  // it's important to have an additional <Head> element here,
128
128
  // as it allows react-helmet to override values set in previous <Head>
129
- // ie we can override default metadatas such as "twitter:card"
129
+ // ie we can override default metadata such as "twitter:card"
130
130
  // In same Head, the same meta would appear twice instead of overriding
131
131
  // See react-helmet doc
132
132
  >
133
- {metadatas.map((metadata, i) => (
134
- <meta key={`metadata_${i}`} {...metadata} />
133
+ {/* Yes, "metadatum" is the grammatically correct term */}
134
+ {metadata.map((metadatum, i) => (
135
+ <meta key={`metadata_${i}`} {...metadatum} />
135
136
  ))}
136
137
  </Head>
137
138
  </>
@@ -6,19 +6,30 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import ThemeProvider from '@theme/ThemeProvider';
10
- import UserPreferencesProvider from '@theme/UserPreferencesProvider';
11
- import {DocsPreferredVersionContextProvider} from '@docusaurus/theme-common';
9
+ import {
10
+ ColorModeProvider,
11
+ TabGroupChoiceProvider,
12
+ AnnouncementBarProvider,
13
+ DocsPreferredVersionContextProvider,
14
+ MobileSecondaryMenuProvider,
15
+ ScrollControllerProvider,
16
+ } from '@docusaurus/theme-common';
12
17
  import type {Props} from '@theme/LayoutProviders';
13
18
 
14
19
  export default function LayoutProviders({children}: Props): JSX.Element {
15
20
  return (
16
- <ThemeProvider>
17
- <UserPreferencesProvider>
18
- <DocsPreferredVersionContextProvider>
19
- {children}
20
- </DocsPreferredVersionContextProvider>
21
- </UserPreferencesProvider>
22
- </ThemeProvider>
21
+ <ColorModeProvider>
22
+ <AnnouncementBarProvider>
23
+ <TabGroupChoiceProvider>
24
+ <ScrollControllerProvider>
25
+ <DocsPreferredVersionContextProvider>
26
+ <MobileSecondaryMenuProvider>
27
+ {children}
28
+ </MobileSecondaryMenuProvider>
29
+ </DocsPreferredVersionContextProvider>
30
+ </ScrollControllerProvider>
31
+ </TabGroupChoiceProvider>
32
+ </AnnouncementBarProvider>
33
+ </ColorModeProvider>
23
34
  );
24
35
  }
@@ -14,10 +14,12 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
14
14
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
15
15
  import {useThemeConfig} from '@docusaurus/theme-common';
16
16
 
17
- const Logo = (props: Props): JSX.Element => {
18
- const {isClient} = useDocusaurusContext();
17
+ export default function Logo(props: Props): JSX.Element {
19
18
  const {
20
- navbar: {title, logo = {src: ''}},
19
+ siteConfig: {title},
20
+ } = useDocusaurusContext();
21
+ const {
22
+ navbar: {title: navbarTitle, logo = {src: ''}},
21
23
  } = useThemeConfig();
22
24
 
23
25
  const {imageClassName, titleClassName, ...propsRest} = props;
@@ -26,23 +28,27 @@ const Logo = (props: Props): JSX.Element => {
26
28
  light: useBaseUrl(logo.src),
27
29
  dark: useBaseUrl(logo.srcDark || logo.src),
28
30
  };
31
+ const themedImage = (
32
+ <ThemedImage
33
+ sources={sources}
34
+ height={logo.height}
35
+ width={logo.width}
36
+ alt={logo.alt || navbarTitle || title}
37
+ />
38
+ );
29
39
 
30
40
  return (
31
41
  <Link
32
42
  to={logoLink}
33
43
  {...propsRest}
34
44
  {...(logo.target && {target: logo.target})}>
35
- {logo.src && (
36
- <ThemedImage
37
- key={isClient}
38
- className={imageClassName}
39
- sources={sources}
40
- alt={logo.alt || title || 'Logo'}
41
- />
42
- )}
43
- {title != null && <strong className={titleClassName}>{title}</strong>}
45
+ {logo.src &&
46
+ (imageClassName ? (
47
+ <div className={imageClassName}>{themedImage}</div>
48
+ ) : (
49
+ themedImage
50
+ ))}
51
+ {navbarTitle != null && <b className={titleClassName}>{navbarTitle}</b>}
44
52
  </Link>
45
53
  );
46
- };
47
-
48
- export default Logo;
54
+ }
@@ -5,51 +5,75 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {isValidElement} from 'react';
8
+ import React, {
9
+ type ComponentProps,
10
+ isValidElement,
11
+ type ReactElement,
12
+ } from 'react';
13
+ import Head from '@docusaurus/Head';
9
14
  import Link from '@docusaurus/Link';
10
- import CodeBlock, {Props} from '@theme/CodeBlock';
15
+ import CodeBlock from '@theme/CodeBlock';
11
16
  import Heading from '@theme/Heading';
17
+ import Details from '@theme/Details';
12
18
  import type {MDXComponentsObject} from '@theme/MDXComponents';
13
19
 
14
- const MDXComponents: MDXComponentsObject = {
15
- code: (props) => {
16
- const {children} = props;
20
+ import './styles.css';
17
21
 
18
- // For retrocompatibility purposes (pretty rare use case)
19
- // See https://github.com/facebook/docusaurus/pull/1584
20
- if (isValidElement(children)) {
21
- return children;
22
- }
22
+ // MDX elements are wrapped through the MDX pragma. In some cases (notably usage
23
+ // with Head/Helmet) we need to unwrap those elements.
24
+ function unwrapMDXElement(element: ReactElement) {
25
+ if (element?.props?.mdxType && element?.props?.originalType) {
26
+ const {mdxType, originalType, ...newProps} = element.props;
27
+ return React.createElement(element.props.originalType, newProps);
28
+ }
29
+ return element;
30
+ }
23
31
 
24
- return !children.includes('\n') ? (
25
- <code {...props} />
26
- ) : (
27
- <CodeBlock {...props} />
32
+ const MDXComponents: MDXComponentsObject = {
33
+ head: (props) => {
34
+ const unwrappedChildren = React.Children.map(props.children, (child) =>
35
+ unwrapMDXElement(child as ReactElement),
28
36
  );
37
+ return <Head {...props}>{unwrappedChildren}</Head>;
29
38
  },
30
- a: (props) => <Link {...props} />,
31
- pre: (props) => {
32
- const {children} = props as {children: any};
39
+ code: (props) => {
40
+ const shouldBeInline = React.Children.toArray(props.children).every(
41
+ (el) => typeof el === 'string' && !el.includes('\n'),
42
+ );
33
43
 
34
- // See comment for `code` above
35
- if (isValidElement(children?.props?.children)) {
36
- return children?.props.children;
37
- }
44
+ return shouldBeInline ? <code {...props} /> : <CodeBlock {...props} />;
45
+ },
46
+ a: (props) => <Link {...props} />,
47
+ pre: (props) => (
48
+ <CodeBlock
49
+ // If this pre is created by a ``` fenced codeblock, unwrap the children
50
+ {...(isValidElement(props.children) &&
51
+ props.children.props.originalType === 'code'
52
+ ? props.children?.props
53
+ : {...props})}
54
+ />
55
+ ),
56
+ details: (props): JSX.Element => {
57
+ const items = React.Children.toArray(props.children) as ReactElement[];
58
+ // Split summary item from the rest to pass it as a separate prop to the
59
+ // Details theme component
60
+ const summary: ReactElement<ComponentProps<'summary'>> = items.find(
61
+ (item) => item?.props?.mdxType === 'summary',
62
+ )!;
63
+ const children = <>{items.filter((item) => item !== summary)}</>;
38
64
 
39
65
  return (
40
- <CodeBlock
41
- {...((isValidElement(children)
42
- ? children?.props
43
- : {children}) as Props)}
44
- />
66
+ <Details {...props} summary={summary}>
67
+ {children}
68
+ </Details>
45
69
  );
46
70
  },
47
- h1: Heading('h1'),
48
- h2: Heading('h2'),
49
- h3: Heading('h3'),
50
- h4: Heading('h4'),
51
- h5: Heading('h5'),
52
- h6: Heading('h6'),
71
+ h1: (props) => <Heading as="h1" {...props} />,
72
+ h2: (props) => <Heading as="h2" {...props} />,
73
+ h3: (props) => <Heading as="h3" {...props} />,
74
+ h4: (props) => <Heading as="h4" {...props} />,
75
+ h5: (props) => <Heading as="h5" {...props} />,
76
+ h6: (props) => <Heading as="h6" {...props} />,
53
77
  };
54
78
 
55
79
  export default MDXComponents;
@@ -5,6 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- body:not(.navigation-with-keyboard) *:not(input):focus {
9
- outline: none;
8
+ ul.contains-task-list {
9
+ padding-left: 0;
10
+ list-style: none;
11
+ }
12
+
13
+ img {
14
+ height: auto;
10
15
  }
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
+ import clsx from 'clsx';
9
10
  import Layout from '@theme/Layout';
10
11
  import {MDXProvider} from '@mdx-js/react';
11
12
  import MDXComponents from '@theme/MDXComponents';
@@ -13,17 +14,15 @@ import type {Props} from '@theme/MDXPage';
13
14
  import TOC from '@theme/TOC';
14
15
  import {ThemeClassNames} from '@docusaurus/theme-common';
15
16
 
16
- function MDXPage(props: Props): JSX.Element {
17
- const {content: MDXPageContent} = props;
18
- const {frontMatter, metadata} = MDXPageContent;
17
+ import styles from './styles.module.css';
19
18
 
19
+ export default function MDXPage(props: Props): JSX.Element {
20
+ const {content: MDXPageContent} = props;
20
21
  const {
21
- title,
22
- description,
23
- wrapperClassName,
24
- hide_table_of_contents: hideTableOfContents,
25
- } = frontMatter;
26
- const {permalink} = metadata;
22
+ metadata: {title, description, permalink, frontMatter},
23
+ } = MDXPageContent;
24
+ const {wrapperClassName, hide_table_of_contents: hideTableOfContents} =
25
+ frontMatter;
27
26
 
28
27
  return (
29
28
  <Layout
@@ -32,28 +31,24 @@ function MDXPage(props: Props): JSX.Element {
32
31
  permalink={permalink}
33
32
  wrapperClassName={wrapperClassName ?? ThemeClassNames.wrapper.mdxPages}
34
33
  pageClassName={ThemeClassNames.page.mdxPage}>
35
- <main>
36
- <div className="container container--fluid">
37
- <div className="margin-vert--lg padding-vert--lg">
38
- <div className="row">
39
- <div className="col col--8 col--offset-2">
40
- <div className="container">
41
- <MDXProvider components={MDXComponents}>
42
- <MDXPageContent />
43
- </MDXProvider>
44
- </div>
45
- </div>
46
- {!hideTableOfContents && MDXPageContent.toc && (
47
- <div className="col col--2">
48
- <TOC toc={MDXPageContent.toc} />
49
- </div>
50
- )}
51
- </div>
34
+ <main className="container container--fluid margin-vert--lg">
35
+ <div className={clsx('row', styles.mdxPageWrapper)}>
36
+ <div className={clsx('col', !hideTableOfContents && 'col--8')}>
37
+ <MDXProvider components={MDXComponents}>
38
+ <MDXPageContent />
39
+ </MDXProvider>
52
40
  </div>
41
+ {!hideTableOfContents && MDXPageContent.toc && (
42
+ <div className="col col--2">
43
+ <TOC
44
+ toc={MDXPageContent.toc}
45
+ minHeadingLevel={frontMatter.toc_min_heading_level}
46
+ maxHeadingLevel={frontMatter.toc_max_heading_level}
47
+ />
48
+ </div>
49
+ )}
53
50
  </div>
54
51
  </main>
55
52
  </Layout>
56
53
  );
57
54
  }
58
-
59
- export default MDXPage;
@@ -5,6 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .lastUpdatedDate {
9
- font-weight: bold;
8
+ .mdxPageWrapper {
9
+ justify-content: center;
10
10
  }