@docusaurus/theme-classic 2.0.0-beta.fc64c12e4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/README.md +2 -2
  2. package/lib/getSwizzleConfig.d.ts +8 -0
  3. package/lib/getSwizzleConfig.js +228 -0
  4. package/lib/index.d.ts +12 -0
  5. package/lib/index.js +107 -170
  6. package/lib/nprogress.css +41 -0
  7. package/lib/nprogress.d.ts +10 -0
  8. package/lib/nprogress.js +25 -0
  9. package/lib/options.d.ts +14 -0
  10. package/lib/options.js +409 -0
  11. package/lib/prism-include-languages.d.ts +7 -0
  12. package/lib/prism-include-languages.js +0 -2
  13. package/lib/theme/Admonition/index.d.ts +9 -0
  14. package/lib/theme/Admonition/index.js +183 -0
  15. package/lib/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  16. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  17. package/lib/theme/AnnouncementBar/index.js +39 -63
  18. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  19. package/lib/theme/BackToTopButton/index.d.ts +8 -0
  20. package/lib/theme/BackToTopButton/index.js +25 -121
  21. package/lib/theme/BackToTopButton/styles.module.css +20 -15
  22. package/lib/theme/BlogArchivePage/index.d.ts +10 -0
  23. package/lib/theme/BlogArchivePage/index.js +80 -0
  24. package/lib/theme/BlogLayout/index.d.ts +9 -0
  25. package/lib/theme/BlogLayout/index.js +19 -41
  26. package/lib/theme/BlogListPage/index.d.ts +10 -0
  27. package/lib/theme/BlogListPage/index.js +44 -50
  28. package/lib/theme/BlogListPaginator/index.d.ts +9 -0
  29. package/lib/theme/BlogListPaginator/index.js +41 -56
  30. package/lib/theme/BlogPostItem/Container/index.d.ts +9 -0
  31. package/lib/theme/BlogPostItem/Container/index.js +26 -0
  32. package/lib/theme/BlogPostItem/Content/index.d.ts +9 -0
  33. package/lib/theme/BlogPostItem/Content/index.js +23 -0
  34. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +9 -0
  35. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js +38 -0
  36. package/lib/theme/BlogPostItem/Footer/index.d.ts +8 -0
  37. package/lib/theme/BlogPostItem/Footer/index.js +52 -0
  38. package/{src/theme/IconEdit → lib/theme/BlogPostItem/Footer}/styles.module.css +2 -3
  39. package/lib/theme/BlogPostItem/Header/Author/index.d.ts +9 -0
  40. package/lib/theme/BlogPostItem/Header/Author/index.js +47 -0
  41. package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +9 -0
  42. package/lib/theme/BlogPostItem/Header/Authors/index.js +48 -0
  43. package/{lib-next/theme/Toggle → lib/theme/BlogPostItem/Header/Authors}/styles.module.css +11 -7
  44. package/lib/theme/BlogPostItem/Header/Info/index.d.ts +9 -0
  45. package/lib/theme/BlogPostItem/Header/Info/index.js +60 -0
  46. package/{lib-next/theme/MDXPage → lib/theme/BlogPostItem/Header/Info}/styles.module.css +2 -2
  47. package/lib/theme/BlogPostItem/Header/Title/index.d.ts +9 -0
  48. package/lib/theme/BlogPostItem/Header/Title/index.js +27 -0
  49. package/{src/theme/BlogPostItem → lib/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  50. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  51. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  52. package/{lib-next/theme/Footer/styles.module.css → lib/theme/BlogPostItem/index.d.ts} +3 -9
  53. package/lib/theme/BlogPostItem/index.js +20 -153
  54. package/lib/theme/BlogPostItems/index.d.ts +9 -0
  55. package/lib/theme/BlogPostItems/index.js +27 -0
  56. package/lib/theme/BlogPostPage/Metadata/index.d.ts +8 -0
  57. package/lib/theme/BlogPostPage/Metadata/index.js +41 -0
  58. package/lib/theme/BlogPostPage/index.d.ts +10 -0
  59. package/lib/theme/BlogPostPage/index.js +51 -44
  60. package/lib/theme/BlogPostPaginator/index.d.ts +9 -0
  61. package/lib/theme/BlogPostPaginator/index.js +40 -57
  62. package/lib/theme/BlogSidebar/Desktop/index.d.ts +9 -0
  63. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/index.js +19 -23
  64. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  65. package/lib/theme/BlogSidebar/Mobile/index.d.ts +9 -0
  66. package/lib/theme/BlogSidebar/Mobile/index.js +34 -0
  67. package/lib/theme/BlogSidebar/index.d.ts +9 -0
  68. package/lib/theme/BlogSidebar/index.js +13 -43
  69. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  70. package/lib/theme/BlogTagsListPage/index.js +27 -58
  71. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  72. package/lib/theme/BlogTagsPostsPage/index.js +73 -73
  73. package/lib/theme/CodeBlock/Container/index.d.ts +10 -0
  74. package/lib/theme/CodeBlock/Container/index.js +27 -0
  75. package/lib/theme/CodeBlock/Container/styles.module.css +14 -0
  76. package/lib/theme/CodeBlock/Content/Element.d.ts +9 -0
  77. package/lib/theme/CodeBlock/Content/Element.js +23 -0
  78. package/lib/theme/CodeBlock/Content/String.d.ts +9 -0
  79. package/lib/theme/CodeBlock/Content/String.js +103 -0
  80. package/lib/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +46 -26
  81. package/lib/theme/CodeBlock/CopyButton/index.d.ts +9 -0
  82. package/lib/theme/CodeBlock/CopyButton/index.js +62 -0
  83. package/lib/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  84. package/lib/theme/CodeBlock/Line/index.d.ts +9 -0
  85. package/lib/theme/CodeBlock/Line/index.js +42 -0
  86. package/lib/theme/CodeBlock/Line/styles.module.css +51 -0
  87. package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +9 -0
  88. package/lib/theme/CodeBlock/WordWrapButton/index.js +40 -0
  89. package/lib/theme/{BlogPostItem → CodeBlock/WordWrapButton}/styles.module.css +5 -8
  90. package/lib/theme/CodeBlock/index.d.ts +9 -0
  91. package/lib/theme/CodeBlock/index.js +31 -244
  92. package/lib/theme/ColorModeToggle/index.d.ts +11 -0
  93. package/lib/theme/ColorModeToggle/index.js +60 -0
  94. package/lib/theme/ColorModeToggle/styles.module.css +35 -0
  95. package/lib/theme/Details/index.d.ts +9 -0
  96. package/lib/theme/Details/index.js +14 -23
  97. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  98. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  99. package/{src/theme/IconExternalLink → lib/theme/DocBreadcrumbs}/styles.module.css +9 -2
  100. package/lib/theme/DocCard/index.d.ts +9 -0
  101. package/lib/theme/DocCard/index.js +86 -0
  102. package/lib/theme/DocCard/styles.module.css +34 -0
  103. package/lib/theme/DocCardList/index.d.ts +9 -0
  104. package/lib/theme/DocCardList/index.js +30 -0
  105. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  106. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +65 -0
  107. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  108. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  109. package/lib/theme/DocItem/Content/index.js +44 -0
  110. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  111. package/lib/theme/DocItem/Footer/index.js +74 -0
  112. package/{src/theme/DocSidebarItem → lib/theme/DocItem/Footer}/styles.module.css +8 -5
  113. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  114. package/lib/theme/DocItem/Layout/index.js +59 -0
  115. package/lib/theme/DocItem/Layout/styles.module.css +17 -0
  116. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  117. package/lib/theme/DocItem/Metadata/index.js +20 -0
  118. package/lib/theme/DocItem/Paginator/index.d.ts +12 -0
  119. package/lib/theme/DocItem/Paginator/index.js +17 -0
  120. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  121. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  122. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  123. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  124. package/lib/theme/DocItem/{styles.module.css → TOC/Mobile/styles.module.css} +6 -19
  125. package/lib/theme/DocItem/index.d.ts +10 -0
  126. package/lib/theme/DocItem/index.js +18 -131
  127. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  128. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  129. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  130. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  131. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  132. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  133. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  134. package/lib/theme/DocPage/Layout/Sidebar/index.js +66 -0
  135. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  136. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  137. package/lib/theme/DocPage/Layout/index.js +34 -0
  138. package/lib/theme/DocPage/Layout/styles.module.css +15 -0
  139. package/lib/theme/DocPage/index.d.ts +10 -0
  140. package/lib/theme/DocPage/index.js +42 -134
  141. package/lib/theme/DocPaginator/index.d.ts +9 -0
  142. package/lib/theme/DocPaginator/index.js +40 -56
  143. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  144. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  145. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  146. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  147. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  148. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  149. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  150. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  151. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  152. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  153. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  154. package/lib/theme/DocSidebar/index.d.ts +9 -0
  155. package/lib/theme/DocSidebar/index.js +17 -124
  156. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  157. package/lib/theme/DocSidebarItem/Category/index.js +185 -0
  158. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  159. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  160. package/{lib-next/theme/DocSidebarItem → lib/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  161. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  162. package/lib/theme/DocSidebarItem/Link/index.js +54 -0
  163. package/lib/theme/DocSidebarItem/Link/styles.module.css +10 -0
  164. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  165. package/lib/theme/DocSidebarItem/index.js +7 -161
  166. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  167. package/lib/theme/DocSidebarItems/index.js +22 -0
  168. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  169. package/lib/theme/DocTagDocListPage/index.js +89 -0
  170. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  171. package/lib/theme/DocTagsListPage/index.js +40 -0
  172. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  173. package/lib/theme/DocVersionBadge/index.js +31 -0
  174. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  175. package/lib/theme/DocVersionBanner/index.js +105 -102
  176. package/lib/theme/EditThisPage/index.d.ts +9 -0
  177. package/lib/theme/EditThisPage/index.js +19 -24
  178. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  179. package/lib/theme/ErrorPageContent.js +35 -0
  180. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  181. package/lib/theme/Footer/Copyright/index.js +17 -0
  182. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  183. package/lib/theme/Footer/Layout/index.js +26 -0
  184. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  185. package/lib/theme/Footer/LinkItem/index.js +31 -0
  186. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  187. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  188. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  189. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  190. package/lib/theme/Footer/Links/index.d.ts +9 -0
  191. package/lib/theme/Footer/Links/index.js +17 -0
  192. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  193. package/lib/theme/Footer/Logo/index.js +41 -0
  194. package/{src/theme/Footer → lib/theme/Footer/Logo}/styles.module.css +2 -1
  195. package/lib/theme/Footer/index.d.ts +10 -0
  196. package/lib/theme/Footer/index.js +17 -104
  197. package/lib/theme/Heading/index.d.ts +9 -0
  198. package/lib/theme/Heading/index.js +35 -68
  199. package/lib/theme/Heading/styles.module.css +25 -5
  200. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  201. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +2 -5
  202. package/lib/theme/Icon/Close/index.d.ts +9 -0
  203. package/lib/theme/Icon/Close/index.js +23 -0
  204. package/lib/theme/Icon/DarkMode/index.d.ts +9 -0
  205. package/lib/theme/Icon/DarkMode/index.js +17 -0
  206. package/lib/theme/Icon/Edit/index.d.ts +9 -0
  207. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/index.js +2 -5
  208. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/styles.module.css +0 -0
  209. package/lib/theme/Icon/ExternalLink/index.d.ts +9 -0
  210. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/index.js +2 -5
  211. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/styles.module.css +0 -2
  212. package/lib/theme/Icon/Home/index.d.ts +9 -0
  213. package/lib/theme/Icon/Home/index.js +17 -0
  214. package/lib/theme/Icon/Language/index.d.ts +9 -0
  215. package/lib/theme/Icon/Language/index.js +22 -0
  216. package/lib/theme/Icon/LightMode/index.d.ts +9 -0
  217. package/lib/theme/Icon/LightMode/index.js +17 -0
  218. package/lib/theme/Icon/Menu/index.d.ts +9 -0
  219. package/{lib-next/theme/IconMenu → lib/theme/Icon/Menu}/index.js +7 -5
  220. package/lib/theme/LastUpdated/index.d.ts +9 -0
  221. package/lib/theme/LastUpdated/index.js +57 -42
  222. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  223. package/lib/theme/Layout/Provider/index.js +29 -0
  224. package/lib/theme/Layout/index.d.ts +9 -0
  225. package/lib/theme/Layout/index.js +39 -50
  226. package/{lib-next/theme/Layout/styles.css → lib/theme/Layout/styles.module.css} +9 -10
  227. package/lib/theme/Logo/index.d.ts +9 -0
  228. package/lib/theme/Logo/index.js +57 -51
  229. package/lib/theme/MDXComponents/A.d.ts +9 -0
  230. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  231. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  232. package/lib/theme/MDXComponents/Code.js +28 -0
  233. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  234. package/lib/theme/MDXComponents/Details.js +22 -0
  235. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  236. package/lib/theme/MDXComponents/Head.js +23 -0
  237. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  238. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  239. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  240. package/lib/theme/MDXComponents/Img/index.js +22 -0
  241. package/lib/theme/MDXComponents/Img/styles.module.css +10 -0
  242. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  243. package/lib/theme/MDXComponents/Pre.js +19 -0
  244. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  245. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  246. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  247. package/lib/theme/MDXComponents/index.d.ts +9 -0
  248. package/lib/theme/MDXComponents/index.js +25 -72
  249. package/lib/theme/MDXContent/index.d.ts +9 -0
  250. package/lib/theme/MDXContent/index.js +12 -0
  251. package/lib/theme/MDXPage/index.d.ts +10 -0
  252. package/lib/theme/MDXPage/index.js +46 -56
  253. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  254. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  255. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  256. package/lib/theme/Navbar/Content/index.js +71 -0
  257. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  258. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  259. package/lib/theme/Navbar/Layout/index.js +52 -0
  260. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -9
  261. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  262. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  263. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  264. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  265. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  266. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  267. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  268. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  269. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  270. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  271. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  272. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  273. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  274. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  275. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  276. package/lib/theme/Navbar/Search/index.js +12 -0
  277. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  278. package/{lib-next/theme/hooks/styles.css → lib/theme/Navbar/index.d.ts} +2 -4
  279. package/lib/theme/Navbar/index.js +9 -242
  280. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  281. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  282. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  283. package/lib/theme/NavbarItem/DefaultNavbarItem.js +30 -83
  284. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  285. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -51
  286. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  287. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  288. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  289. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +71 -61
  290. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  291. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  292. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  293. package/lib/theme/NavbarItem/DropdownNavbarItem.js +109 -103
  294. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  295. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  296. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  297. package/{src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx → lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js} +28 -27
  298. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  299. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  300. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  301. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  302. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  303. package/lib/theme/NavbarItem/index.d.ts +9 -0
  304. package/lib/theme/NavbarItem/index.js +11 -56
  305. package/lib/theme/NotFound.d.ts +8 -0
  306. package/lib/theme/NotFound.js +44 -49
  307. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  308. package/lib/theme/PaginatorNavLink/index.js +23 -0
  309. package/lib/theme/SearchBar.d.ts +7 -0
  310. package/lib/theme/SearchBar.js +11 -15
  311. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  312. package/lib/theme/SearchMetadata/index.js +34 -0
  313. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  314. package/lib/theme/SiteMetadata/index.js +116 -0
  315. package/lib/theme/SkipToContent/index.d.ts +8 -0
  316. package/lib/theme/SkipToContent/index.js +16 -62
  317. package/lib/theme/SkipToContent/styles.module.css +7 -0
  318. package/lib/theme/TOC/index.d.ts +9 -0
  319. package/lib/theme/TOC/index.js +18 -53
  320. package/lib/theme/TOC/styles.module.css +1 -1
  321. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  322. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  323. package/{lib-next/theme/TOCCollapsible → lib/theme/TOCCollapsible/CollapseButton}/styles.module.css +2 -23
  324. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  325. package/lib/theme/TOCCollapsible/index.js +33 -42
  326. package/lib/theme/TOCCollapsible/styles.module.css +1 -20
  327. package/lib/theme/TOCInline/index.d.ts +9 -0
  328. package/lib/theme/TOCInline/index.js +15 -46
  329. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  330. package/lib/theme/TOCItems/Tree.js +37 -0
  331. package/lib/theme/TOCItems/index.d.ts +9 -0
  332. package/lib/theme/TOCItems/index.js +53 -0
  333. package/lib/theme/TabItem/index.d.ts +9 -0
  334. package/lib/theme/TabItem/index.js +11 -24
  335. package/lib/theme/TabItem/styles.module.css +10 -0
  336. package/lib/theme/Tabs/index.d.ts +9 -0
  337. package/lib/theme/Tabs/index.js +159 -123
  338. package/lib/theme/Tabs/styles.module.css +4 -13
  339. package/lib/theme/Tag/index.d.ts +9 -0
  340. package/lib/theme/Tag/index.js +23 -0
  341. package/lib/theme/Tag/styles.module.css +70 -0
  342. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  343. package/lib/theme/TagsListByLetter/index.js +38 -0
  344. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  345. package/lib/theme/TagsListInline/index.d.ts +9 -0
  346. package/lib/theme/TagsListInline/index.js +31 -0
  347. package/lib/theme/TagsListInline/styles.module.css +15 -0
  348. package/lib/theme/ThemedImage/index.d.ts +9 -0
  349. package/lib/theme/ThemedImage/index.js +33 -43
  350. package/lib/theme/ThemedImage/styles.module.css +2 -2
  351. package/lib/theme/prism-include-languages.d.ts +8 -0
  352. package/lib/theme/prism-include-languages.js +19 -33
  353. package/lib/translations.d.ts +15 -0
  354. package/lib/translations.js +122 -122
  355. package/package.json +41 -36
  356. package/src/deps.d.ts +13 -0
  357. package/src/getSwizzleConfig.ts +245 -0
  358. package/src/index.ts +53 -79
  359. package/src/nprogress.css +41 -0
  360. package/src/nprogress.ts +31 -0
  361. package/{lib/validateThemeConfig.js → src/options.ts} +204 -72
  362. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  363. package/src/theme/Admonition/index.tsx +209 -0
  364. package/src/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  365. package/src/theme/AnnouncementBar/index.tsx +11 -16
  366. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  367. package/src/theme/BackToTopButton/index.tsx +18 -105
  368. package/src/theme/BackToTopButton/styles.module.css +20 -15
  369. package/src/theme/BlogArchivePage/index.tsx +92 -0
  370. package/src/theme/BlogLayout/index.tsx +6 -16
  371. package/src/theme/BlogListPage/index.tsx +33 -24
  372. package/src/theme/BlogListPaginator/index.tsx +27 -32
  373. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  374. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  375. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  376. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  377. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  378. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  379. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  380. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  381. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  382. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  383. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  384. package/{lib-next/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  385. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  386. package/src/theme/BlogPostItem/index.tsx +19 -151
  387. package/src/theme/BlogPostItems/index.tsx +30 -0
  388. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  389. package/src/theme/BlogPostPage/index.tsx +47 -22
  390. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  391. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  392. package/{lib/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  393. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  394. package/src/theme/BlogSidebar/index.tsx +10 -33
  395. package/src/theme/BlogTagsListPage/index.tsx +23 -57
  396. package/src/theme/BlogTagsPostsPage/index.tsx +48 -31
  397. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  398. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  399. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  400. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  401. package/{lib-next/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +46 -26
  402. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  403. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  404. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  405. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  406. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  407. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  408. package/src/theme/CodeBlock/index.tsx +29 -251
  409. package/src/theme/ColorModeToggle/index.tsx +67 -0
  410. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  411. package/src/theme/Details/index.tsx +4 -2
  412. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  413. package/{lib-next/theme/Heading/styles.css → src/theme/DocBreadcrumbs/styles.module.css} +9 -13
  414. package/src/theme/DocCard/index.tsx +120 -0
  415. package/src/theme/DocCard/styles.module.css +34 -0
  416. package/src/theme/DocCardList/index.tsx +35 -0
  417. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +77 -0
  418. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  419. package/src/theme/DocItem/Content/index.tsx +48 -0
  420. package/src/theme/DocItem/Footer/index.tsx +89 -0
  421. package/src/theme/DocItem/Footer/styles.module.css +18 -0
  422. package/src/theme/DocItem/Layout/index.tsx +68 -0
  423. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  424. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  425. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  426. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  427. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  428. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  429. package/src/theme/DocItem/index.tsx +15 -120
  430. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  431. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  432. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  433. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  434. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  435. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  436. package/src/theme/DocPage/Layout/index.tsx +38 -0
  437. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  438. package/src/theme/DocPage/index.tsx +39 -150
  439. package/src/theme/DocPaginator/index.tsx +28 -40
  440. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  441. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  442. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  443. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  444. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  445. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  446. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  447. package/src/theme/DocSidebar/index.tsx +6 -110
  448. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  449. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  450. package/{lib/theme/DocSidebarItem → src/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  451. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  452. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  453. package/src/theme/DocSidebarItem/index.tsx +7 -167
  454. package/src/theme/DocSidebarItems/index.tsx +27 -0
  455. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  456. package/src/theme/DocTagsListPage/index.tsx +43 -0
  457. package/src/theme/DocVersionBadge/index.tsx +36 -0
  458. package/src/theme/DocVersionBanner/index.tsx +53 -28
  459. package/src/theme/EditThisPage/index.tsx +7 -3
  460. package/src/theme/ErrorPageContent.tsx +41 -0
  461. package/src/theme/Footer/Copyright/index.tsx +20 -0
  462. package/src/theme/Footer/Layout/index.tsx +34 -0
  463. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  464. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  465. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  466. package/src/theme/Footer/Links/index.tsx +21 -0
  467. package/src/theme/Footer/Logo/index.tsx +46 -0
  468. package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  469. package/src/theme/Footer/index.tsx +13 -122
  470. package/src/theme/Heading/index.tsx +31 -58
  471. package/src/theme/Heading/styles.module.css +25 -5
  472. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +3 -5
  473. package/src/theme/Icon/Close/index.tsx +26 -0
  474. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  475. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +6 -6
  476. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  477. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +4 -6
  478. package/{lib/theme/IconExternalLink → src/theme/Icon/ExternalLink}/styles.module.css +0 -2
  479. package/src/theme/Icon/Home/index.tsx +20 -0
  480. package/src/theme/Icon/Language/index.tsx +29 -0
  481. package/src/theme/Icon/LightMode/index.tsx +20 -0
  482. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +4 -6
  483. package/src/theme/LastUpdated/index.tsx +4 -2
  484. package/src/theme/Layout/Provider/index.tsx +33 -0
  485. package/src/theme/Layout/index.tsx +23 -15
  486. package/src/theme/Layout/{styles.css → styles.module.css} +9 -10
  487. package/src/theme/Logo/index.tsx +57 -26
  488. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  489. package/src/theme/MDXComponents/Code.tsx +40 -0
  490. package/src/theme/MDXComponents/Details.tsx +28 -0
  491. package/src/theme/MDXComponents/Head.tsx +29 -0
  492. package/src/theme/MDXComponents/Heading.tsx +14 -0
  493. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  494. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  495. package/src/theme/MDXComponents/Pre.tsx +23 -0
  496. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  497. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  498. package/src/theme/MDXComponents/index.tsx +25 -57
  499. package/src/theme/MDXContent/index.tsx +15 -0
  500. package/src/theme/MDXPage/index.tsx +40 -35
  501. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  502. package/src/theme/Navbar/Content/index.tsx +86 -0
  503. package/src/theme/Navbar/Content/styles.module.css +15 -0
  504. package/src/theme/Navbar/Layout/index.tsx +57 -0
  505. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -9
  506. package/src/theme/Navbar/Logo/index.tsx +19 -0
  507. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  508. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  509. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  510. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  511. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  512. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  513. package/src/theme/Navbar/Search/index.tsx +19 -0
  514. package/src/theme/Navbar/Search/styles.module.css +20 -0
  515. package/src/theme/Navbar/index.tsx +7 -261
  516. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  517. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +16 -65
  518. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -34
  519. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  520. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +43 -41
  521. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  522. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +36 -28
  523. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  524. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  525. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  526. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  527. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  528. package/src/theme/NavbarItem/index.tsx +11 -48
  529. package/src/theme/NotFound.tsx +40 -37
  530. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  531. package/src/theme/SearchBar.tsx +2 -1
  532. package/src/theme/SearchMetadata/index.tsx +43 -0
  533. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -45
  534. package/src/theme/SkipToContent/index.tsx +5 -33
  535. package/src/theme/SkipToContent/styles.module.css +7 -0
  536. package/src/theme/TOC/index.tsx +14 -37
  537. package/src/theme/TOC/styles.module.css +1 -1
  538. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  539. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  540. package/src/theme/TOCCollapsible/index.tsx +17 -20
  541. package/src/theme/TOCCollapsible/styles.module.css +1 -20
  542. package/src/theme/TOCInline/index.tsx +15 -35
  543. package/src/theme/TOCItems/Tree.tsx +46 -0
  544. package/src/theme/TOCItems/index.tsx +61 -0
  545. package/src/theme/TabItem/index.tsx +12 -4
  546. package/src/theme/TabItem/styles.module.css +10 -0
  547. package/src/theme/Tabs/index.tsx +121 -62
  548. package/src/theme/Tabs/styles.module.css +4 -13
  549. package/src/theme/Tag/index.tsx +27 -0
  550. package/src/theme/Tag/styles.module.css +70 -0
  551. package/src/theme/TagsListByLetter/index.tsx +43 -0
  552. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  553. package/src/theme/TagsListInline/index.tsx +35 -0
  554. package/src/theme/TagsListInline/styles.module.css +15 -0
  555. package/src/theme/ThemedImage/index.tsx +10 -12
  556. package/src/theme/ThemedImage/styles.module.css +2 -2
  557. package/src/theme/prism-include-languages.ts +20 -15
  558. package/src/theme-classic.d.ts +1368 -0
  559. package/src/translations.ts +85 -60
  560. package/babel.config.js +0 -35
  561. package/codeTranslations/README.md +0 -20
  562. package/codeTranslations/ar.json +0 -56
  563. package/codeTranslations/base.json +0 -110
  564. package/codeTranslations/bn.json +0 -56
  565. package/codeTranslations/da.json +0 -56
  566. package/codeTranslations/de.json +0 -56
  567. package/codeTranslations/es.json +0 -56
  568. package/codeTranslations/fa.json +0 -56
  569. package/codeTranslations/fil.json +0 -56
  570. package/codeTranslations/fr.json +0 -56
  571. package/codeTranslations/he.json +0 -56
  572. package/codeTranslations/hi.json +0 -56
  573. package/codeTranslations/ja.json +0 -56
  574. package/codeTranslations/ko.json +0 -56
  575. package/codeTranslations/pl.json +0 -56
  576. package/codeTranslations/pt-BR.json +0 -56
  577. package/codeTranslations/pt-PT.json +0 -56
  578. package/codeTranslations/ru.json +0 -56
  579. package/codeTranslations/tr.json +0 -56
  580. package/codeTranslations/vi.json +0 -56
  581. package/codeTranslations/zh-Hans.json +0 -56
  582. package/codeTranslations/zh-Hant.json +0 -56
  583. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  584. package/lib/__tests__/translations.test.js +0 -112
  585. package/lib/__tests__/validateThemeConfig.test.js +0 -457
  586. package/lib/theme/DocPage/styles.module.css +0 -85
  587. package/lib/theme/DocSidebar/styles.module.css +0 -106
  588. package/lib/theme/Heading/styles.css +0 -23
  589. package/lib/theme/IconArrow/index.js +0 -28
  590. package/lib/theme/IconEdit/index.js +0 -34
  591. package/lib/theme/IconExternalLink/index.js +0 -30
  592. package/lib/theme/IconLanguage/index.js +0 -29
  593. package/lib/theme/IconMenu/index.js +0 -30
  594. package/lib/theme/Layout/styles.css +0 -27
  595. package/lib/theme/LayoutHead/index.js +0 -144
  596. package/lib/theme/LayoutProviders/index.js +0 -38
  597. package/lib/theme/Navbar/styles.module.css +0 -23
  598. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  599. package/lib/theme/SearchMetadatas/index.js +0 -33
  600. package/lib/theme/Seo/index.js +0 -49
  601. package/lib/theme/ThemeContext.js +0 -21
  602. package/lib/theme/ThemeProvider/index.js +0 -38
  603. package/lib/theme/Toggle/index.js +0 -94
  604. package/lib/theme/Toggle/styles.css +0 -103
  605. package/lib/theme/Toggle/styles.module.css +0 -17
  606. package/lib/theme/UserPreferencesContext.js +0 -18
  607. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  608. package/lib/theme/hooks/styles.css +0 -10
  609. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  610. package/lib/theme/hooks/useDocs.js +0 -18
  611. package/lib/theme/hooks/useHideableNavbar.js +0 -91
  612. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  613. package/lib/theme/hooks/useLocationHash.js +0 -28
  614. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  615. package/lib/theme/hooks/usePrismTheme.js +0 -36
  616. package/lib/theme/hooks/useScrollPosition.js +0 -51
  617. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  618. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  619. package/lib/theme/hooks/useTheme.js +0 -99
  620. package/lib/theme/hooks/useThemeContext.js +0 -31
  621. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  622. package/lib/theme/hooks/useWindowSize.js +0 -73
  623. package/lib/types.d.ts +0 -696
  624. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  625. package/lib-next/__tests__/translations.test.js +0 -128
  626. package/lib-next/__tests__/validateThemeConfig.test.js +0 -457
  627. package/lib-next/admonitions.css +0 -35
  628. package/lib-next/index.js +0 -222
  629. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  630. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  631. package/lib-next/theme/BackToTopButton/index.js +0 -113
  632. package/lib-next/theme/BackToTopButton/styles.module.css +0 -39
  633. package/lib-next/theme/BlogLayout/index.js +0 -43
  634. package/lib-next/theme/BlogListPage/index.js +0 -47
  635. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  636. package/lib-next/theme/BlogPostItem/index.js +0 -168
  637. package/lib-next/theme/BlogPostPage/index.js +0 -43
  638. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  639. package/lib-next/theme/BlogTagsListPage/index.js +0 -66
  640. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -83
  641. package/lib-next/theme/CodeBlock/index.js +0 -266
  642. package/lib-next/theme/Details/index.js +0 -20
  643. package/lib-next/theme/Details/styles.module.css +0 -13
  644. package/lib-next/theme/DocItem/index.js +0 -131
  645. package/lib-next/theme/DocItem/styles.module.css +0 -32
  646. package/lib-next/theme/DocPage/index.js +0 -149
  647. package/lib-next/theme/DocPage/styles.module.css +0 -85
  648. package/lib-next/theme/DocPaginator/index.js +0 -59
  649. package/lib-next/theme/DocSidebar/index.js +0 -121
  650. package/lib-next/theme/DocSidebar/styles.module.css +0 -106
  651. package/lib-next/theme/DocSidebarItem/index.js +0 -161
  652. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  653. package/lib-next/theme/EditThisPage/index.js +0 -21
  654. package/lib-next/theme/Footer/index.js +0 -129
  655. package/lib-next/theme/Heading/index.js +0 -67
  656. package/lib-next/theme/Heading/styles.module.css +0 -15
  657. package/lib-next/theme/IconLanguage/index.js +0 -25
  658. package/lib-next/theme/LastUpdated/index.js +0 -77
  659. package/lib-next/theme/Layout/index.js +0 -46
  660. package/lib-next/theme/LayoutHead/index.js +0 -137
  661. package/lib-next/theme/LayoutProviders/index.js +0 -29
  662. package/lib-next/theme/Logo/index.js +0 -54
  663. package/lib-next/theme/MDXComponents/index.js +0 -59
  664. package/lib-next/theme/MDXPage/index.js +0 -51
  665. package/lib-next/theme/Navbar/index.js +0 -254
  666. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -114
  667. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -56
  668. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -87
  669. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  670. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +0 -160
  671. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  672. package/lib-next/theme/NavbarItem/index.js +0 -52
  673. package/lib-next/theme/NotFound.js +0 -50
  674. package/lib-next/theme/SearchBar.js +0 -11
  675. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  676. package/lib-next/theme/Seo/index.js +0 -36
  677. package/lib-next/theme/SkipToContent/index.js +0 -53
  678. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  679. package/lib-next/theme/TOC/index.js +0 -52
  680. package/lib-next/theme/TOC/styles.module.css +0 -23
  681. package/lib-next/theme/TOCCollapsible/index.js +0 -45
  682. package/lib-next/theme/TOCInline/index.js +0 -43
  683. package/lib-next/theme/Tabs/index.js +0 -144
  684. package/lib-next/theme/Tabs/styles.module.css +0 -23
  685. package/lib-next/theme/ThemeProvider/index.js +0 -25
  686. package/lib-next/theme/ThemedImage/index.js +0 -41
  687. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  688. package/lib-next/theme/Toggle/index.js +0 -80
  689. package/lib-next/theme/Toggle/styles.css +0 -103
  690. package/lib-next/theme/UserPreferencesContext.js +0 -9
  691. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  692. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  693. package/lib-next/theme/hooks/useDocs.js +0 -10
  694. package/lib-next/theme/hooks/useHideableNavbar.js +0 -82
  695. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  696. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  697. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  698. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  699. package/lib-next/theme/hooks/useScrollPosition.js +0 -42
  700. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  701. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  702. package/lib-next/theme/hooks/useTheme.js +0 -82
  703. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  704. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  705. package/lib-next/theme/hooks/useWindowSize.js +0 -63
  706. package/lib-next/theme/prism-include-languages.js +0 -23
  707. package/lib-next/translations.js +0 -145
  708. package/lib-next/types.d.ts +0 -696
  709. package/lib-next/validateThemeConfig.js +0 -337
  710. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  711. package/src/__tests__/translations.test.ts +0 -116
  712. package/src/__tests__/validateThemeConfig.test.js +0 -457
  713. package/src/prism-include-languages.js +0 -11
  714. package/src/theme/BlogSidebar/styles.module.css +0 -44
  715. package/src/theme/CodeBlock/styles.module.css +0 -66
  716. package/src/theme/DocItem/styles.module.css +0 -32
  717. package/src/theme/DocPage/styles.module.css +0 -85
  718. package/src/theme/DocSidebar/styles.module.css +0 -106
  719. package/src/theme/Heading/styles.css +0 -23
  720. package/src/theme/IconLanguage/index.tsx +0 -31
  721. package/src/theme/LayoutProviders/index.tsx +0 -32
  722. package/src/theme/SearchMetadatas/index.tsx +0 -28
  723. package/src/theme/Seo/index.tsx +0 -46
  724. package/src/theme/ThemeProvider/index.tsx +0 -24
  725. package/src/theme/Toggle/index.tsx +0 -100
  726. package/src/theme/Toggle/styles.css +0 -103
  727. package/src/theme/Toggle/styles.module.css +0 -17
  728. package/src/theme/UserPreferencesContext.ts +0 -12
  729. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  730. package/src/theme/hooks/styles.css +0 -10
  731. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  732. package/src/theme/hooks/useDocs.ts +0 -11
  733. package/src/theme/hooks/useHideableNavbar.ts +0 -87
  734. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  735. package/src/theme/hooks/useLocationHash.ts +0 -25
  736. package/src/theme/hooks/usePrismTheme.ts +0 -22
  737. package/src/theme/hooks/useScrollPosition.ts +0 -52
  738. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  739. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  740. package/src/theme/hooks/useTheme.ts +0 -92
  741. package/src/theme/hooks/useThemeContext.ts +0 -23
  742. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  743. package/src/theme/hooks/useWindowSize.ts +0 -74
  744. package/src/types.d.ts +0 -696
  745. package/src/validateThemeConfig.js +0 -337
  746. package/tsconfig.json +0 -12
  747. package/update-code-translations.js +0 -242
  748. package/update-code-translations.test.js +0 -33
@@ -6,60 +6,23 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
10
- import DropdownNavbarItem, {
11
- Props as DropdownNavbarItemProps,
12
- } from '@theme/NavbarItem/DropdownNavbarItem';
13
- import LocaleDropdownNavbarItem from '@theme/NavbarItem/LocaleDropdownNavbarItem';
14
- import SearchNavbarItem from '@theme/NavbarItem/SearchNavbarItem';
15
- import type {Types, Props} from '@theme/NavbarItem';
9
+ import ComponentTypes from '@theme/NavbarItem/ComponentTypes';
10
+ import type {NavbarItemType, Props} from '@theme/NavbarItem';
16
11
 
17
- const NavbarItemComponents: Record<
18
- Exclude<Types, undefined>,
19
- () => (props) => JSX.Element
20
- > = {
21
- default: () => DefaultNavbarItem,
22
- localeDropdown: () => LocaleDropdownNavbarItem,
23
- search: () => SearchNavbarItem,
24
- dropdown: () => DropdownNavbarItem,
25
-
26
- // Need to lazy load these items as we don't know for sure the docs plugin is loaded
27
- // See https://github.com/facebook/docusaurus/issues/3360
28
- /* eslint-disable @typescript-eslint/no-var-requires, global-require */
29
- docsVersion: () => require('@theme/NavbarItem/DocsVersionNavbarItem').default,
30
- docsVersionDropdown: () =>
31
- require('@theme/NavbarItem/DocsVersionDropdownNavbarItem').default,
32
- doc: () => require('@theme/NavbarItem/DocNavbarItem').default,
33
- /* eslint-enable @typescript-eslint/no-var-requires, global-require */
34
- } as const;
35
-
36
- type NavbarItemComponentType = keyof typeof NavbarItemComponents;
37
-
38
- const getNavbarItemComponent = (type: NavbarItemComponentType) => {
39
- const navbarItemComponentFn = NavbarItemComponents[type];
40
- if (!navbarItemComponentFn) {
41
- throw new Error(`No NavbarItem component found for type "${type}".`);
42
- }
43
- return navbarItemComponentFn();
44
- };
45
-
46
- function getComponentType(
47
- type: Types,
48
- isDropdown: boolean,
49
- ): NavbarItemComponentType {
12
+ function normalizeComponentType(type: NavbarItemType, props: object) {
50
13
  // Backward compatibility: navbar item with no type set
51
14
  // but containing dropdown items should use the type "dropdown"
52
15
  if (!type || type === 'default') {
53
- return isDropdown ? 'dropdown' : 'default';
16
+ return 'items' in props ? 'dropdown' : 'default';
54
17
  }
55
- return type as NavbarItemComponentType;
18
+ return type;
56
19
  }
57
20
 
58
21
  export default function NavbarItem({type, ...props}: Props): JSX.Element {
59
- const componentType = getComponentType(
60
- type,
61
- (props as DropdownNavbarItemProps).items !== undefined,
62
- );
63
- const NavbarItemComponent = getNavbarItemComponent(componentType);
64
- return <NavbarItemComponent {...props} />;
22
+ const componentType = normalizeComponentType(type, props);
23
+ const NavbarItemComponent = ComponentTypes[componentType];
24
+ if (!NavbarItemComponent) {
25
+ throw new Error(`No NavbarItem component found for type "${type}".`);
26
+ }
27
+ return <NavbarItemComponent {...(props as any)} />;
65
28
  }
@@ -6,46 +6,49 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import Layout from '@theme/Layout';
10
9
  import Translate, {translate} from '@docusaurus/Translate';
10
+ import {PageMetadata} from '@docusaurus/theme-common';
11
+ import Layout from '@theme/Layout';
11
12
 
12
- function NotFound(): JSX.Element {
13
+ export default function NotFound(): JSX.Element {
13
14
  return (
14
- <Layout
15
- title={translate({
16
- id: 'theme.NotFound.title',
17
- message: 'Page Not Found',
18
- })}>
19
- <main className="container margin-vert--xl">
20
- <div className="row">
21
- <div className="col col--6 col--offset-3">
22
- <h1 className="hero__title">
23
- <Translate
24
- id="theme.NotFound.title"
25
- description="The title of the 404 page">
26
- Page Not Found
27
- </Translate>
28
- </h1>
29
- <p>
30
- <Translate
31
- id="theme.NotFound.p1"
32
- description="The first paragraph of the 404 page">
33
- We could not find what you were looking for.
34
- </Translate>
35
- </p>
36
- <p>
37
- <Translate
38
- id="theme.NotFound.p2"
39
- description="The 2nd paragraph of the 404 page">
40
- Please contact the owner of the site that linked you to the
41
- original URL and let them know their link is broken.
42
- </Translate>
43
- </p>
15
+ <>
16
+ <PageMetadata
17
+ title={translate({
18
+ id: 'theme.NotFound.title',
19
+ message: 'Page Not Found',
20
+ })}
21
+ />
22
+ <Layout>
23
+ <main className="container margin-vert--xl">
24
+ <div className="row">
25
+ <div className="col col--6 col--offset-3">
26
+ <h1 className="hero__title">
27
+ <Translate
28
+ id="theme.NotFound.title"
29
+ description="The title of the 404 page">
30
+ Page Not Found
31
+ </Translate>
32
+ </h1>
33
+ <p>
34
+ <Translate
35
+ id="theme.NotFound.p1"
36
+ description="The first paragraph of the 404 page">
37
+ We could not find what you were looking for.
38
+ </Translate>
39
+ </p>
40
+ <p>
41
+ <Translate
42
+ id="theme.NotFound.p2"
43
+ description="The 2nd paragraph of the 404 page">
44
+ Please contact the owner of the site that linked you to the
45
+ original URL and let them know their link is broken.
46
+ </Translate>
47
+ </p>
48
+ </div>
44
49
  </div>
45
- </div>
46
- </main>
47
- </Layout>
50
+ </main>
51
+ </Layout>
52
+ </>
48
53
  );
49
54
  }
50
-
51
- export default NotFound;
@@ -0,0 +1,26 @@
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 Link from '@docusaurus/Link';
11
+ import type {Props} from '@theme/PaginatorNavLink';
12
+
13
+ export default function PaginatorNavLink(props: Props): JSX.Element {
14
+ const {permalink, title, subLabel, isNext} = props;
15
+ return (
16
+ <Link
17
+ className={clsx(
18
+ 'pagination-nav__link',
19
+ isNext ? 'pagination-nav__link--next' : 'pagination-nav__link--prev',
20
+ )}
21
+ to={permalink}>
22
+ {subLabel && <div className="pagination-nav__sublabel">{subLabel}</div>}
23
+ <div className="pagination-nav__label">{title}</div>
24
+ </Link>
25
+ );
26
+ }
@@ -6,7 +6,8 @@
6
6
  */
7
7
 
8
8
  // By default, the classic theme does not provide any SearchBar implementation
9
- // If you swizzled this file, it is your responsibility to provide an implementation
9
+ // If you swizzled this, it is your responsibility to provide an implementation
10
10
  // Tip: swizzle the SearchBar from the Algolia theme for inspiration:
11
11
  // npm run swizzle @docusaurus/theme-search-algolia SearchBar
12
+
12
13
  export {default} from '@docusaurus/Noop';
@@ -0,0 +1,43 @@
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
+
10
+ import Head from '@docusaurus/Head';
11
+ import type {Props} from '@theme/SearchMetadata';
12
+
13
+ // Note: we bias toward using Algolia metadata on purpose
14
+ // Not doing so leads to confusion in the community,
15
+ // as it requires to first crawl the site with the Algolia plugin enabled first
16
+ // - https://github.com/facebook/docusaurus/issues/6693
17
+ // - https://github.com/facebook/docusaurus/issues/4555
18
+ export default function SearchMetadata({
19
+ locale,
20
+ version,
21
+ tag,
22
+ }: Props): JSX.Element {
23
+ // Seems safe to consider here the locale is the language, as the existing
24
+ // docsearch:language filter is afaik a regular string-based filter
25
+ const language = locale;
26
+
27
+ return (
28
+ <Head>
29
+ {/*
30
+ Docusaurus metadata, used by third-party search plugin
31
+ See https://github.com/cmfcmf/docusaurus-search-local/issues/99
32
+ */}
33
+ {locale && <meta name="docusaurus_locale" content={locale} />}
34
+ {version && <meta name="docusaurus_version" content={version} />}
35
+ {tag && <meta name="docusaurus_tag" content={tag} />}
36
+
37
+ {/* Algolia DocSearch metadata */}
38
+ {language && <meta name="docsearch:language" content={language} />}
39
+ {version && <meta name="docsearch:version" content={version} />}
40
+ {tag && <meta name="docsearch:docusaurus_tag" content={tag} />}
41
+ </Head>
42
+ );
43
+ }
@@ -9,22 +9,22 @@ import React from 'react';
9
9
  import Head from '@docusaurus/Head';
10
10
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
11
11
  import useBaseUrl from '@docusaurus/useBaseUrl';
12
- import type {Props} from '@theme/Layout';
13
- import SearchMetadatas from '@theme/SearchMetadatas';
14
- import Seo from '@theme/Seo';
12
+ import {PageMetadata, useThemeConfig} from '@docusaurus/theme-common';
15
13
  import {
16
14
  DEFAULT_SEARCH_TAG,
17
- useTitleFormatter,
18
15
  useAlternatePageUtils,
19
- } from '@docusaurus/theme-common';
16
+ keyboardFocusedClassName,
17
+ } from '@docusaurus/theme-common/internal';
20
18
  import {useLocation} from '@docusaurus/router';
19
+ import SearchMetadata from '@theme/SearchMetadata';
21
20
 
22
- // Useful for SEO
21
+ // TODO move to SiteMetadataDefaults or theme-common ?
22
+ // Useful for i18n/SEO
23
23
  // See https://developers.google.com/search/docs/advanced/crawling/localized-versions
24
24
  // See https://github.com/facebook/docusaurus/issues/3317
25
25
  function AlternateLangHeaders(): JSX.Element {
26
26
  const {
27
- i18n: {defaultLocale, locales},
27
+ i18n: {defaultLocale, localeConfigs},
28
28
  } = useDocusaurusContext();
29
29
  const alternatePageUtils = useAlternatePageUtils();
30
30
 
@@ -32,7 +32,7 @@ function AlternateLangHeaders(): JSX.Element {
32
32
  // See https://www.searchviu.com/en/multiple-hreflang-tags-one-url/
33
33
  return (
34
34
  <Head>
35
- {locales.map((locale) => (
35
+ {Object.entries(localeConfigs).map(([locale, {htmlLang}]) => (
36
36
  <link
37
37
  key={locale}
38
38
  rel="alternate"
@@ -40,7 +40,7 @@ function AlternateLangHeaders(): JSX.Element {
40
40
  locale,
41
41
  fullyQualified: true,
42
42
  })}
43
- hrefLang={locale}
43
+ hrefLang={htmlLang}
44
44
  />
45
45
  ))}
46
46
  <link
@@ -64,6 +64,7 @@ function useDefaultCanonicalUrl() {
64
64
  return siteUrl + useBaseUrl(pathname);
65
65
  }
66
66
 
67
+ // TODO move to SiteMetadataDefaults or theme-common ?
67
68
  function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
68
69
  const {
69
70
  siteConfig: {url: siteUrl},
@@ -81,57 +82,42 @@ function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
81
82
  );
82
83
  }
83
84
 
84
- export default function LayoutHead(props: Props): JSX.Element {
85
+ export default function SiteMetadata(): JSX.Element {
85
86
  const {
86
- siteConfig: {
87
- favicon,
88
- themeConfig: {metadatas, image: defaultImage},
89
- },
90
- i18n: {currentLocale, localeConfigs},
87
+ i18n: {currentLocale},
91
88
  } = useDocusaurusContext();
92
- const {title, description, image, keywords, searchMetadatas} = props;
93
- const faviconUrl = useBaseUrl(favicon);
94
- const pageTitle = useTitleFormatter(title);
95
89
 
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;
90
+ // TODO maybe move these 2 themeConfig to siteConfig?
91
+ // These seems useful for other themes as well
92
+ const {metadata, image: defaultImage} = useThemeConfig();
100
93
 
101
94
  return (
102
95
  <>
103
96
  <Head>
104
- <html lang={htmlLang} dir={htmlDir} />
105
- {favicon && <link rel="shortcut icon" href={faviconUrl} />}
106
- <title>{pageTitle}</title>
107
- <meta property="og:title" content={pageTitle} />
108
- {image ||
109
- (defaultImage && (
110
- <meta name="twitter:card" content="summary_large_image" />
111
- ))}
97
+ <meta name="twitter:card" content="summary_large_image" />
98
+ {/* The keyboard focus class name need to be applied when SSR so links
99
+ are outlined when JS is disabled */}
100
+ <body className={keyboardFocusedClassName} />
112
101
  </Head>
113
102
 
114
- <Seo {...{description, keywords, image}} />
103
+ {defaultImage && <PageMetadata image={defaultImage} />}
115
104
 
116
105
  <CanonicalUrlHeaders />
117
106
 
118
107
  <AlternateLangHeaders />
119
108
 
120
- <SearchMetadatas
121
- tag={DEFAULT_SEARCH_TAG}
122
- locale={currentLocale}
123
- {...searchMetadatas}
124
- />
109
+ <SearchMetadata tag={DEFAULT_SEARCH_TAG} locale={currentLocale} />
125
110
 
126
- <Head
127
- // it's important to have an additional <Head> element here,
128
- // as it allows react-helmet to override values set in previous <Head>
129
- // ie we can override default metadatas such as "twitter:card"
130
- // In same Head, the same meta would appear twice instead of overriding
131
- // See react-helmet doc
132
- >
133
- {metadatas.map((metadata, i) => (
134
- <meta key={`metadata_${i}`} {...metadata} />
111
+ {/*
112
+ It's important to have an additional <Head> element here, as it allows
113
+ react-helmet to override default metadata values set in previous <Head>
114
+ like "twitter:card". In same Head, the same meta would appear twice
115
+ instead of overriding.
116
+ */}
117
+ <Head>
118
+ {/* Yes, "metadatum" is the grammatically correct term */}
119
+ {metadata.map((metadatum, i) => (
120
+ <meta key={i} {...metadatum} />
135
121
  ))}
136
122
  </Head>
137
123
  </>
@@ -5,42 +5,16 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {useRef} from 'react';
9
- import {useHistory} from '@docusaurus/router';
8
+ import React from 'react';
10
9
  import Translate from '@docusaurus/Translate';
11
- import {useLocationChange} from '@docusaurus/theme-common';
10
+ import {useSkipToContent} from '@docusaurus/theme-common/internal';
12
11
 
13
12
  import styles from './styles.module.css';
14
13
 
15
- function programmaticFocus(el: HTMLElement) {
16
- el.setAttribute('tabindex', '-1');
17
- el.focus();
18
- el.removeAttribute('tabindex');
19
- }
20
-
21
- function SkipToContent(): JSX.Element {
22
- const containerRef = useRef<HTMLDivElement>(null);
23
- const {action} = useHistory();
24
- const handleSkip = (e: React.MouseEvent<HTMLAnchorElement>) => {
25
- e.preventDefault();
26
-
27
- const targetElement: HTMLElement | null =
28
- document.querySelector('main:first-of-type') ||
29
- document.querySelector('.main-wrapper');
30
-
31
- if (targetElement) {
32
- programmaticFocus(targetElement);
33
- }
34
- };
35
-
36
- useLocationChange(({location}) => {
37
- if (containerRef.current && !location.hash && action === 'PUSH') {
38
- programmaticFocus(containerRef.current);
39
- }
40
- });
41
-
14
+ export default function SkipToContent(): JSX.Element {
15
+ const {containerRef, handleSkip} = useSkipToContent();
42
16
  return (
43
- <div ref={containerRef}>
17
+ <div ref={containerRef} role="region">
44
18
  {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
45
19
  <a href="#" className={styles.skipToContent} onClick={handleSkip}>
46
20
  <Translate
@@ -52,5 +26,3 @@ function SkipToContent(): JSX.Element {
52
26
  </div>
53
27
  );
54
28
  }
55
-
56
- export default SkipToContent;
@@ -1,3 +1,10 @@
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
+
1
8
  .skipToContent {
2
9
  position: fixed;
3
10
  top: 1rem;
@@ -7,47 +7,24 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
- import useTOCHighlight from '@theme/hooks/useTOCHighlight';
11
- import type {TOCProps, TOCHeadingsProps} from '@theme/TOC';
12
- import styles from './styles.module.css';
10
+ import TOCItems from '@theme/TOCItems';
11
+ import type {Props} from '@theme/TOC';
13
12
 
14
- const LINK_CLASS_NAME = 'table-of-contents__link';
15
- const ACTIVE_LINK_CLASS_NAME = 'table-of-contents__link--active';
16
- const TOP_OFFSET = 100;
13
+ import styles from './styles.module.css';
17
14
 
18
- /* eslint-disable jsx-a11y/control-has-associated-label */
19
- export function TOCHeadings({toc, isChild}: TOCHeadingsProps) {
20
- if (!toc.length) {
21
- return null;
22
- }
23
- return (
24
- <ul
25
- className={
26
- isChild ? '' : 'table-of-contents table-of-contents__left-border'
27
- }>
28
- {toc.map((heading) => (
29
- <li key={heading.id}>
30
- <a
31
- href={`#${heading.id}`}
32
- className={LINK_CLASS_NAME}
33
- // Developer provided the HTML, so assume it's safe.
34
- // eslint-disable-next-line react/no-danger
35
- dangerouslySetInnerHTML={{__html: heading.value}}
36
- />
37
- <TOCHeadings isChild toc={heading.children} />
38
- </li>
39
- ))}
40
- </ul>
41
- );
42
- }
15
+ // Using a custom className
16
+ // This prevents TOCInline/TOCCollapsible getting highlighted by mistake
17
+ const LINK_CLASS_NAME = 'table-of-contents__link toc-highlight';
18
+ const LINK_ACTIVE_CLASS_NAME = 'table-of-contents__link--active';
43
19
 
44
- function TOC({toc}: TOCProps): JSX.Element {
45
- useTOCHighlight(LINK_CLASS_NAME, ACTIVE_LINK_CLASS_NAME, TOP_OFFSET);
20
+ export default function TOC({className, ...props}: Props): JSX.Element {
46
21
  return (
47
- <div className={clsx(styles.tableOfContents, 'thin-scrollbar')}>
48
- <TOCHeadings toc={toc} />
22
+ <div className={clsx(styles.tableOfContents, 'thin-scrollbar', className)}>
23
+ <TOCItems
24
+ {...props}
25
+ linkClassName={LINK_CLASS_NAME}
26
+ linkActiveClassName={LINK_ACTIVE_CLASS_NAME}
27
+ />
49
28
  </div>
50
29
  );
51
30
  }
52
-
53
- export default TOC;
@@ -12,7 +12,7 @@
12
12
  top: calc(var(--ifm-navbar-height) + 1rem);
13
13
  }
14
14
 
15
- @media only screen and (max-width: 996px) {
15
+ @media (max-width: 996px) {
16
16
  .tableOfContents {
17
17
  display: none;
18
18
  }
@@ -0,0 +1,36 @@
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 Translate from '@docusaurus/Translate';
11
+ import type {Props} from '@theme/TOCCollapsible/CollapseButton';
12
+
13
+ import styles from './styles.module.css';
14
+
15
+ export default function TOCCollapsibleCollapseButton({
16
+ collapsed,
17
+ ...props
18
+ }: Props): JSX.Element {
19
+ return (
20
+ <button
21
+ type="button"
22
+ {...props}
23
+ className={clsx(
24
+ 'clean-btn',
25
+ styles.tocCollapsibleButton,
26
+ !collapsed && styles.tocCollapsibleButtonExpanded,
27
+ props.className,
28
+ )}>
29
+ <Translate
30
+ id="theme.TOCCollapsible.toggleButtonLabel"
31
+ description="The label used by the button on the collapsible TOC component">
32
+ On this page
33
+ </Translate>
34
+ </button>
35
+ );
36
+ }
@@ -0,0 +1,29 @@
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
+ .tocCollapsibleButton {
9
+ font-size: inherit;
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+ padding: 0.4rem 0.8rem;
14
+ width: 100%;
15
+ }
16
+
17
+ .tocCollapsibleButton::after {
18
+ content: '';
19
+ background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat;
20
+ filter: var(--ifm-menu-link-sublist-icon-filter);
21
+ height: 1.25rem;
22
+ width: 1.25rem;
23
+ transform: rotate(180deg);
24
+ transition: transform var(--ifm-transition-fast);
25
+ }
26
+
27
+ .tocCollapsibleButtonExpanded::after {
28
+ transform: none;
29
+ }
@@ -7,42 +7,39 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
- import Translate from '@docusaurus/Translate';
11
10
  import {useCollapsible, Collapsible} from '@docusaurus/theme-common';
11
+ import TOCItems from '@theme/TOCItems';
12
+ import CollapseButton from '@theme/TOCCollapsible/CollapseButton';
13
+ import type {Props} from '@theme/TOCCollapsible';
14
+
12
15
  import styles from './styles.module.css';
13
- import {TOCHeadings} from '@theme/TOC';
14
- import type {TOCCollapsibleProps} from '@theme/TOCCollapsible';
15
16
 
16
- export default function TOCCollapsible({toc, className}: TOCCollapsibleProps) {
17
+ export default function TOCCollapsible({
18
+ toc,
19
+ className,
20
+ minHeadingLevel,
21
+ maxHeadingLevel,
22
+ }: Props): JSX.Element {
17
23
  const {collapsed, toggleCollapsed} = useCollapsible({
18
24
  initialState: true,
19
25
  });
20
-
21
26
  return (
22
27
  <div
23
28
  className={clsx(
24
29
  styles.tocCollapsible,
25
- {
26
- [styles.tocCollapsibleExpanded]: !collapsed,
27
- },
30
+ !collapsed && styles.tocCollapsibleExpanded,
28
31
  className,
29
32
  )}>
30
- <button
31
- type="button"
32
- className={clsx('clean-btn', styles.tocCollapsibleButton)}
33
- onClick={toggleCollapsed}>
34
- <Translate
35
- id="theme.TOCCollapsible.toggleButtonLabel"
36
- description="The label used by the button on the collapsible TOC component">
37
- On this page
38
- </Translate>
39
- </button>
40
-
33
+ <CollapseButton collapsed={collapsed} onClick={toggleCollapsed} />
41
34
  <Collapsible
42
35
  lazy
43
36
  className={styles.tocCollapsibleContent}
44
37
  collapsed={collapsed}>
45
- <TOCHeadings toc={toc} />
38
+ <TOCItems
39
+ toc={toc}
40
+ minHeadingLevel={minHeadingLevel}
41
+ maxHeadingLevel={maxHeadingLevel}
42
+ />
46
43
  </Collapsible>
47
44
  </div>
48
45
  );