@docusaurus/theme-classic 2.0.0-beta.ff31de0ff → 2.0.0-rc.1

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 (745) 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 +122 -164
  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/theme/Admonition/styles.module.css +38 -0
  16. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  17. package/lib/theme/AnnouncementBar/index.js +39 -65
  18. package/lib/theme/AnnouncementBar/styles.module.css +26 -35
  19. package/lib/theme/BackToTopButton/index.d.ts +8 -0
  20. package/lib/theme/BackToTopButton/index.js +32 -0
  21. package/lib/theme/BackToTopButton/styles.module.css +44 -0
  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 +33 -0
  26. package/lib/theme/BlogListPage/index.d.ts +10 -0
  27. package/lib/theme/BlogListPage/index.js +44 -61
  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/lib/theme/BlogPostItem/Footer/styles.module.css +10 -0
  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/{src/theme/Layout/styles.css → lib/theme/BlogPostItem/Header/Authors/styles.module.css} +8 -8
  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/LastUpdated → 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/lib/theme/BlogPostItem/Header/Title/styles.module.css +19 -0
  50. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  51. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  52. package/lib/theme/BlogPostItem/index.d.ts +9 -0
  53. package/lib/theme/BlogPostItem/index.js +20 -144
  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 -66
  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/theme/BlogSidebar/Desktop/index.js +41 -0
  64. package/lib/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +8 -9
  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 -35
  69. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  70. package/lib/theme/BlogTagsListPage/index.js +27 -74
  71. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  72. package/lib/theme/BlogTagsPostsPage/index.js +76 -91
  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/{src/theme/Navbar/styles.module.css → lib/theme/CodeBlock/Content/Element.d.ts} +3 -14
  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} +47 -32
  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/CodeBlock/WordWrapButton/styles.module.css +15 -0
  90. package/lib/theme/CodeBlock/index.d.ts +9 -0
  91. package/lib/theme/CodeBlock/index.js +31 -246
  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 +21 -0
  97. package/lib/theme/Details/styles.module.css +13 -0
  98. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  99. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  100. package/lib/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
  101. package/lib/theme/DocCard/index.d.ts +9 -0
  102. package/lib/theme/DocCard/index.js +86 -0
  103. package/lib/theme/DocCard/styles.module.css +34 -0
  104. package/lib/theme/DocCardList/index.d.ts +9 -0
  105. package/lib/theme/DocCardList/index.js +30 -0
  106. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  107. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +65 -0
  108. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  109. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  110. package/lib/theme/DocItem/Content/index.js +44 -0
  111. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  112. package/lib/theme/DocItem/Footer/index.js +74 -0
  113. package/lib/theme/DocItem/Footer/styles.module.css +18 -0
  114. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  115. package/lib/theme/DocItem/Layout/index.js +59 -0
  116. package/lib/theme/DocItem/Layout/styles.module.css +17 -0
  117. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  118. package/lib/theme/DocItem/Metadata/index.js +20 -0
  119. package/lib/theme/DocItem/Paginator/index.d.ts +12 -0
  120. package/lib/theme/DocItem/Paginator/index.js +17 -0
  121. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  122. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  123. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  124. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  125. package/lib/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  126. package/lib/theme/DocItem/index.d.ts +10 -0
  127. package/lib/theme/DocItem/index.js +18 -113
  128. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  129. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  130. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  131. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  132. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  133. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  134. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  135. package/lib/theme/DocPage/Layout/Sidebar/index.js +66 -0
  136. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  137. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  138. package/lib/theme/DocPage/Layout/index.js +34 -0
  139. package/lib/theme/{BlogPostItem → DocPage/Layout}/styles.module.css +5 -4
  140. package/lib/theme/DocPage/index.d.ts +10 -0
  141. package/lib/theme/DocPage/index.js +42 -133
  142. package/lib/theme/DocPaginator/index.d.ts +9 -0
  143. package/lib/theme/DocPaginator/index.js +40 -56
  144. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  145. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  146. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  147. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  148. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  149. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  150. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  151. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  152. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  153. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  154. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  155. package/lib/theme/DocSidebar/index.d.ts +9 -0
  156. package/lib/theme/DocSidebar/index.js +17 -300
  157. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  158. package/lib/theme/DocSidebarItem/Category/index.js +185 -0
  159. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  160. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  161. package/lib/theme/DocSidebarItem/Html/styles.module.css +13 -0
  162. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  163. package/lib/theme/DocSidebarItem/Link/index.js +54 -0
  164. package/lib/theme/DocSidebarItem/Link/styles.module.css +10 -0
  165. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  166. package/lib/theme/DocSidebarItem/index.js +21 -0
  167. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  168. package/lib/theme/DocSidebarItems/index.js +22 -0
  169. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  170. package/lib/theme/DocTagDocListPage/index.js +89 -0
  171. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  172. package/lib/theme/DocTagsListPage/index.js +40 -0
  173. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  174. package/lib/theme/DocVersionBadge/index.js +31 -0
  175. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  176. package/{lib-next/theme/DocVersionSuggestions → lib/theme/DocVersionBanner}/index.js +51 -46
  177. package/lib/theme/EditThisPage/index.d.ts +9 -0
  178. package/lib/theme/EditThisPage/index.js +19 -24
  179. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  180. package/lib/theme/ErrorPageContent.js +35 -0
  181. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  182. package/lib/theme/Footer/Copyright/index.js +17 -0
  183. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  184. package/lib/theme/Footer/Layout/index.js +26 -0
  185. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  186. package/lib/theme/Footer/LinkItem/index.js +31 -0
  187. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  188. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  189. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  190. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  191. package/lib/theme/Footer/Links/index.d.ts +9 -0
  192. package/lib/theme/Footer/Links/index.js +17 -0
  193. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  194. package/lib/theme/Footer/Logo/index.js +41 -0
  195. package/lib/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  196. package/{lib-next/theme/Footer/styles.module.css → lib/theme/Footer/index.d.ts} +4 -9
  197. package/lib/theme/Footer/index.js +17 -97
  198. package/lib/theme/Heading/index.d.ts +9 -0
  199. package/lib/theme/Heading/index.js +35 -52
  200. package/lib/theme/Heading/styles.module.css +27 -2
  201. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  202. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +3 -6
  203. package/lib/theme/Icon/Close/index.d.ts +9 -0
  204. package/lib/theme/Icon/Close/index.js +23 -0
  205. package/lib/theme/Icon/DarkMode/index.d.ts +9 -0
  206. package/lib/theme/Icon/DarkMode/index.js +17 -0
  207. package/lib/theme/Icon/Edit/index.d.ts +9 -0
  208. package/{src/theme/IconEdit/index.tsx → lib/theme/Icon/Edit/index.js} +5 -14
  209. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/styles.module.css +0 -0
  210. package/lib/theme/Icon/ExternalLink/index.d.ts +9 -0
  211. package/lib/theme/Icon/ExternalLink/index.js +23 -0
  212. package/lib/theme/Icon/ExternalLink/styles.module.css +10 -0
  213. package/lib/theme/Icon/Home/index.d.ts +9 -0
  214. package/lib/theme/Icon/Home/index.js +17 -0
  215. package/lib/theme/Icon/Language/index.d.ts +9 -0
  216. package/lib/theme/Icon/Language/index.js +22 -0
  217. package/lib/theme/Icon/LightMode/index.d.ts +9 -0
  218. package/lib/theme/Icon/LightMode/index.js +17 -0
  219. package/lib/theme/Icon/Menu/index.d.ts +9 -0
  220. package/{lib-next/theme/IconMenu → lib/theme/Icon/Menu}/index.js +8 -9
  221. package/lib/theme/LastUpdated/index.d.ts +9 -0
  222. package/lib/theme/LastUpdated/index.js +62 -51
  223. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  224. package/lib/theme/Layout/Provider/index.js +29 -0
  225. package/lib/theme/Layout/index.d.ts +9 -0
  226. package/lib/theme/Layout/index.js +39 -50
  227. package/{lib-next/theme/Layout/styles.css → lib/theme/Layout/styles.module.css} +10 -5
  228. package/lib/theme/Logo/index.d.ts +9 -0
  229. package/lib/theme/Logo/index.js +58 -51
  230. package/lib/theme/MDXComponents/A.d.ts +9 -0
  231. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  232. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  233. package/lib/theme/MDXComponents/Code.js +28 -0
  234. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  235. package/lib/theme/MDXComponents/Details.js +22 -0
  236. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  237. package/lib/theme/MDXComponents/Head.js +23 -0
  238. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  239. package/lib/theme/MDXComponents/Heading.js +11 -0
  240. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  241. package/lib/theme/MDXComponents/Img/index.js +22 -0
  242. package/{src/theme/LastUpdated → lib/theme/MDXComponents/Img}/styles.module.css +2 -2
  243. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  244. package/lib/theme/MDXComponents/Pre.js +19 -0
  245. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  246. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  247. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  248. package/lib/theme/MDXComponents/index.d.ts +9 -0
  249. package/lib/theme/MDXComponents/index.js +25 -57
  250. package/lib/theme/MDXContent/index.d.ts +9 -0
  251. package/lib/theme/MDXContent/index.js +12 -0
  252. package/lib/theme/MDXPage/index.d.ts +10 -0
  253. package/lib/theme/MDXPage/index.js +45 -57
  254. package/lib/theme/MDXPage/styles.module.css +10 -0
  255. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  256. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  257. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  258. package/lib/theme/Navbar/Content/index.js +71 -0
  259. package/{lib-next/theme/NavbarItem → lib/theme/Navbar/Content}/styles.module.css +5 -3
  260. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  261. package/lib/theme/Navbar/Layout/index.js +52 -0
  262. package/lib/theme/Navbar/{styles.module.css → Layout/styles.module.css} +1 -7
  263. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  264. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  265. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  266. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  267. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  268. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  269. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts +8 -0
  270. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  271. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  272. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  273. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  274. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  275. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  276. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  277. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  278. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/Navbar/Search/index.js} +3 -11
  279. package/{src/theme/NavbarItem → lib/theme/Navbar/Search}/styles.module.css +8 -1
  280. package/{lib-next/theme/BlogPostItem/styles.module.css → lib/theme/Navbar/index.d.ts} +2 -8
  281. package/lib/theme/Navbar/index.js +9 -140
  282. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  283. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  284. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  285. package/lib/theme/NavbarItem/DefaultNavbarItem.js +36 -179
  286. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  287. package/lib/theme/NavbarItem/DocNavbarItem.js +23 -43
  288. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  289. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  290. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  291. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +73 -61
  292. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  293. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  294. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  295. package/lib/theme/NavbarItem/DropdownNavbarItem.js +161 -0
  296. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  297. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  298. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  299. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +68 -0
  300. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  301. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  302. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  303. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  304. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -23
  305. package/lib/theme/NavbarItem/index.d.ts +9 -0
  306. package/lib/theme/NavbarItem/index.js +16 -46
  307. package/{lib-next/theme/Heading/styles.module.css → lib/theme/NotFound.d.ts} +2 -4
  308. package/lib/theme/NotFound.js +44 -42
  309. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  310. package/lib/theme/PaginatorNavLink/index.js +23 -0
  311. package/lib/theme/SearchBar.d.ts +7 -0
  312. package/lib/theme/SearchBar.js +11 -15
  313. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  314. package/lib/theme/SearchMetadata/index.js +34 -0
  315. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  316. package/lib/theme/SiteMetadata/index.js +116 -0
  317. package/lib/theme/SkipToContent/index.d.ts +8 -0
  318. package/lib/theme/SkipToContent/index.js +16 -52
  319. package/lib/theme/SkipToContent/styles.module.css +8 -3
  320. package/lib/theme/TOC/index.d.ts +9 -0
  321. package/lib/theme/TOC/index.js +18 -52
  322. package/lib/theme/TOC/styles.module.css +2 -2
  323. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  324. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  325. package/lib/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  326. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  327. package/lib/theme/TOCCollapsible/index.js +42 -0
  328. package/lib/theme/TOCCollapsible/styles.module.css +31 -0
  329. package/lib/theme/TOCInline/index.d.ts +9 -0
  330. package/lib/theme/TOCInline/index.js +15 -46
  331. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  332. package/lib/theme/TOCItems/Tree.js +37 -0
  333. package/lib/theme/TOCItems/index.d.ts +9 -0
  334. package/lib/theme/TOCItems/index.js +53 -0
  335. package/lib/theme/TabItem/index.d.ts +9 -0
  336. package/lib/theme/TabItem/index.js +11 -24
  337. package/lib/theme/TabItem/styles.module.css +10 -0
  338. package/lib/theme/Tabs/index.d.ts +9 -0
  339. package/lib/theme/Tabs/index.js +159 -123
  340. package/lib/theme/Tabs/styles.module.css +4 -13
  341. package/lib/theme/Tag/index.d.ts +9 -0
  342. package/lib/theme/Tag/index.js +23 -0
  343. package/lib/theme/Tag/styles.module.css +70 -0
  344. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  345. package/lib/theme/TagsListByLetter/index.js +38 -0
  346. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  347. package/lib/theme/TagsListInline/index.d.ts +9 -0
  348. package/lib/theme/TagsListInline/index.js +31 -0
  349. package/lib/theme/TagsListInline/styles.module.css +15 -0
  350. package/lib/theme/ThemedImage/index.d.ts +9 -0
  351. package/lib/theme/ThemedImage/index.js +33 -42
  352. package/lib/theme/ThemedImage/styles.module.css +9 -2
  353. package/lib/theme/prism-include-languages.d.ts +8 -0
  354. package/lib/theme/prism-include-languages.js +19 -33
  355. package/lib/translations.d.ts +15 -0
  356. package/lib/translations.js +122 -122
  357. package/package.json +41 -35
  358. package/src/deps.d.ts +13 -0
  359. package/src/getSwizzleConfig.ts +245 -0
  360. package/src/index.ts +80 -81
  361. package/src/nprogress.css +41 -0
  362. package/src/nprogress.ts +31 -0
  363. package/src/options.ts +469 -0
  364. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  365. package/src/theme/Admonition/index.tsx +209 -0
  366. package/src/theme/Admonition/styles.module.css +38 -0
  367. package/src/theme/AnnouncementBar/index.tsx +11 -19
  368. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  369. package/src/theme/BackToTopButton/index.tsx +35 -0
  370. package/src/theme/BackToTopButton/styles.module.css +44 -0
  371. package/src/theme/BlogArchivePage/index.tsx +92 -0
  372. package/src/theme/BlogLayout/index.tsx +38 -0
  373. package/src/theme/BlogListPage/index.tsx +37 -36
  374. package/src/theme/BlogListPaginator/index.tsx +27 -32
  375. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  376. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  377. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  378. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  379. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  380. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  381. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  382. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  383. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  384. package/{lib/theme/LastUpdated → src/theme/BlogPostItem/Header/Info}/styles.module.css +2 -2
  385. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  386. package/src/theme/BlogPostItem/Header/Title/styles.module.css +19 -0
  387. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  388. package/src/theme/BlogPostItem/index.tsx +19 -135
  389. package/src/theme/BlogPostItems/index.tsx +30 -0
  390. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  391. package/src/theme/BlogPostPage/index.tsx +55 -46
  392. package/src/theme/BlogPostPaginator/index.tsx +28 -37
  393. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  394. package/{lib-next/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +8 -9
  395. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  396. package/src/theme/BlogSidebar/index.tsx +10 -24
  397. package/src/theme/BlogTagsListPage/index.tsx +24 -72
  398. package/src/theme/BlogTagsPostsPage/index.tsx +62 -64
  399. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  400. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  401. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  402. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  403. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +47 -32
  404. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  405. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  406. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  407. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  408. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  409. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  410. package/src/theme/CodeBlock/index.tsx +29 -252
  411. package/src/theme/ColorModeToggle/index.tsx +67 -0
  412. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  413. package/src/theme/Details/index.tsx +26 -0
  414. package/src/theme/Details/styles.module.css +13 -0
  415. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  416. package/src/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
  417. package/src/theme/DocCard/index.tsx +120 -0
  418. package/src/theme/DocCard/styles.module.css +34 -0
  419. package/src/theme/DocCardList/index.tsx +35 -0
  420. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +77 -0
  421. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  422. package/src/theme/DocItem/Content/index.tsx +48 -0
  423. package/src/theme/DocItem/Footer/index.tsx +89 -0
  424. package/src/theme/DocItem/Footer/styles.module.css +18 -0
  425. package/src/theme/DocItem/Layout/index.tsx +68 -0
  426. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  427. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  428. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  429. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  430. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  431. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  432. package/src/theme/DocItem/index.tsx +15 -102
  433. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  434. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  435. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  436. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  437. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  438. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  439. package/src/theme/DocPage/Layout/index.tsx +38 -0
  440. package/src/theme/{BlogPostItem → DocPage/Layout}/styles.module.css +5 -4
  441. package/src/theme/DocPage/index.tsx +39 -148
  442. package/src/theme/DocPaginator/index.tsx +29 -41
  443. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  444. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  445. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  446. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  447. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  448. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  449. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  450. package/src/theme/DocSidebar/index.tsx +14 -343
  451. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  452. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  453. package/src/theme/DocSidebarItem/Html/styles.module.css +13 -0
  454. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  455. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  456. package/src/theme/DocSidebarItem/index.tsx +27 -0
  457. package/src/theme/DocSidebarItems/index.tsx +27 -0
  458. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  459. package/src/theme/DocTagsListPage/index.tsx +43 -0
  460. package/src/theme/DocVersionBadge/index.tsx +36 -0
  461. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +77 -49
  462. package/src/theme/EditThisPage/index.tsx +7 -3
  463. package/src/theme/ErrorPageContent.tsx +41 -0
  464. package/src/theme/Footer/Copyright/index.tsx +20 -0
  465. package/src/theme/Footer/Layout/index.tsx +34 -0
  466. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  467. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  468. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  469. package/src/theme/Footer/Links/index.tsx +21 -0
  470. package/src/theme/Footer/Logo/index.tsx +46 -0
  471. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  472. package/src/theme/Footer/index.tsx +13 -113
  473. package/src/theme/Heading/index.tsx +33 -39
  474. package/src/theme/Heading/styles.module.css +27 -2
  475. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +4 -6
  476. package/src/theme/Icon/Close/index.tsx +26 -0
  477. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  478. package/{lib-next/theme/IconEdit/index.js → src/theme/Icon/Edit/index.tsx} +11 -9
  479. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  480. package/src/theme/Icon/ExternalLink/index.tsx +30 -0
  481. package/src/theme/Icon/ExternalLink/styles.module.css +10 -0
  482. package/src/theme/Icon/Home/index.tsx +20 -0
  483. package/src/theme/Icon/Language/index.tsx +29 -0
  484. package/src/theme/Icon/LightMode/index.tsx +20 -0
  485. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +5 -10
  486. package/src/theme/LastUpdated/index.tsx +36 -39
  487. package/src/theme/Layout/Provider/index.tsx +33 -0
  488. package/src/theme/Layout/index.tsx +23 -15
  489. package/{lib/theme/Layout/styles.css → src/theme/Layout/styles.module.css} +10 -5
  490. package/src/theme/Logo/index.tsx +58 -23
  491. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  492. package/src/theme/MDXComponents/Code.tsx +40 -0
  493. package/src/theme/MDXComponents/Details.tsx +28 -0
  494. package/src/theme/MDXComponents/Head.tsx +29 -0
  495. package/src/theme/MDXComponents/Heading.tsx +14 -0
  496. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  497. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  498. package/src/theme/MDXComponents/Pre.tsx +23 -0
  499. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  500. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  501. package/src/theme/MDXComponents/index.tsx +25 -42
  502. package/src/theme/MDXContent/index.tsx +15 -0
  503. package/src/theme/MDXPage/index.tsx +42 -40
  504. package/src/theme/MDXPage/styles.module.css +10 -0
  505. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  506. package/src/theme/Navbar/Content/index.tsx +86 -0
  507. package/{lib/theme/NavbarItem → src/theme/Navbar/Content}/styles.module.css +5 -3
  508. package/src/theme/Navbar/Layout/index.tsx +57 -0
  509. package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +1 -7
  510. package/src/theme/Navbar/Logo/index.tsx +19 -0
  511. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  512. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  513. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  514. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  515. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  516. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  517. package/src/theme/Navbar/Search/index.tsx +19 -0
  518. package/src/theme/Navbar/Search/styles.module.css +20 -0
  519. package/src/theme/Navbar/index.tsx +7 -147
  520. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  521. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +36 -195
  522. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -21
  523. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  524. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +58 -52
  525. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  526. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +190 -0
  527. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  528. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  529. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  530. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  531. package/src/theme/NavbarItem/SearchNavbarItem.tsx +8 -5
  532. package/src/theme/NavbarItem/index.tsx +15 -32
  533. package/src/theme/NotFound.tsx +40 -33
  534. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  535. package/src/theme/SearchBar.tsx +2 -1
  536. package/src/theme/SearchMetadata/index.tsx +43 -0
  537. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -41
  538. package/src/theme/SkipToContent/index.tsx +7 -32
  539. package/src/theme/SkipToContent/styles.module.css +8 -3
  540. package/src/theme/TOC/index.tsx +14 -44
  541. package/src/theme/TOC/styles.module.css +2 -2
  542. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  543. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  544. package/src/theme/TOCCollapsible/index.tsx +46 -0
  545. package/src/theme/TOCCollapsible/styles.module.css +31 -0
  546. package/src/theme/TOCInline/index.tsx +15 -35
  547. package/src/theme/TOCItems/Tree.tsx +46 -0
  548. package/src/theme/TOCItems/index.tsx +61 -0
  549. package/src/theme/TabItem/index.tsx +12 -4
  550. package/src/theme/TabItem/styles.module.css +10 -0
  551. package/src/theme/Tabs/index.tsx +121 -62
  552. package/src/theme/Tabs/styles.module.css +4 -13
  553. package/src/theme/Tag/index.tsx +27 -0
  554. package/src/theme/Tag/styles.module.css +70 -0
  555. package/src/theme/TagsListByLetter/index.tsx +43 -0
  556. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  557. package/src/theme/TagsListInline/index.tsx +35 -0
  558. package/src/theme/TagsListInline/styles.module.css +15 -0
  559. package/src/theme/ThemedImage/index.tsx +12 -14
  560. package/src/theme/ThemedImage/styles.module.css +9 -2
  561. package/src/theme/prism-include-languages.ts +20 -15
  562. package/src/theme-classic.d.ts +1368 -0
  563. package/src/translations.ts +85 -60
  564. package/babel.config.js +0 -35
  565. package/codeTranslations/README.md +0 -20
  566. package/codeTranslations/ar.json +0 -55
  567. package/codeTranslations/base.json +0 -108
  568. package/codeTranslations/da.json +0 -55
  569. package/codeTranslations/de.json +0 -55
  570. package/codeTranslations/es.json +0 -55
  571. package/codeTranslations/fa.json +0 -55
  572. package/codeTranslations/fil.json +0 -55
  573. package/codeTranslations/fr.json +0 -55
  574. package/codeTranslations/he.json +0 -55
  575. package/codeTranslations/hi.json +0 -55
  576. package/codeTranslations/ja.json +0 -55
  577. package/codeTranslations/ko.json +0 -55
  578. package/codeTranslations/pl.json +0 -55
  579. package/codeTranslations/pt-BR.json +0 -55
  580. package/codeTranslations/pt-PT.json +0 -55
  581. package/codeTranslations/ru.json +0 -55
  582. package/codeTranslations/tr.json +0 -55
  583. package/codeTranslations/vi.json +0 -55
  584. package/codeTranslations/zh-Hans.json +0 -55
  585. package/codeTranslations/zh-Hant.json +0 -55
  586. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  587. package/lib/__tests__/translations.test.js +0 -112
  588. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  589. package/lib/theme/DocItem/styles.module.css +0 -28
  590. package/lib/theme/DocPage/styles.module.css +0 -98
  591. package/lib/theme/DocSidebar/styles.module.css +0 -138
  592. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  593. package/lib/theme/IconArrow/index.js +0 -28
  594. package/lib/theme/IconEdit/index.js +0 -34
  595. package/lib/theme/IconLanguage/index.js +0 -29
  596. package/lib/theme/IconMenu/index.js +0 -31
  597. package/lib/theme/LayoutHead/index.js +0 -142
  598. package/lib/theme/LayoutProviders/index.js +0 -34
  599. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  600. package/lib/theme/SearchMetadatas/index.js +0 -33
  601. package/lib/theme/Seo/index.js +0 -50
  602. package/lib/theme/ThemeContext.js +0 -21
  603. package/lib/theme/ThemeProvider/index.js +0 -38
  604. package/lib/theme/Toggle/index.js +0 -106
  605. package/lib/theme/Toggle/styles.module.css +0 -114
  606. package/lib/theme/UserPreferencesContext.js +0 -18
  607. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  608. package/lib/theme/hooks/styles.css +0 -10
  609. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  610. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  611. package/lib/theme/hooks/useDocs.js +0 -18
  612. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  613. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  614. package/lib/theme/hooks/useLocationHash.js +0 -28
  615. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  616. package/lib/theme/hooks/usePrismTheme.js +0 -36
  617. package/lib/theme/hooks/useScrollPosition.js +0 -49
  618. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  619. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  620. package/lib/theme/hooks/useTheme.js +0 -99
  621. package/lib/theme/hooks/useThemeContext.js +0 -31
  622. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  623. package/lib/theme/hooks/useWindowSize.js +0 -55
  624. package/lib/types.d.ts +0 -600
  625. package/lib/validateThemeConfig.js +0 -317
  626. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  627. package/lib-next/__tests__/translations.test.js +0 -128
  628. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  629. package/lib-next/index.js +0 -198
  630. package/lib-next/theme/AnnouncementBar/index.js +0 -65
  631. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  632. package/lib-next/theme/BlogListPage/index.js +0 -56
  633. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  634. package/lib-next/theme/BlogPostItem/index.js +0 -151
  635. package/lib-next/theme/BlogPostPage/index.js +0 -59
  636. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  637. package/lib-next/theme/BlogSidebar/index.js +0 -36
  638. package/lib-next/theme/BlogTagsListPage/index.js +0 -81
  639. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -96
  640. package/lib-next/theme/CodeBlock/index.js +0 -267
  641. package/lib-next/theme/CodeBlock/styles.module.css +0 -71
  642. package/lib-next/theme/DocItem/index.js +0 -117
  643. package/lib-next/theme/DocItem/styles.module.css +0 -28
  644. package/lib-next/theme/DocPage/index.js +0 -146
  645. package/lib-next/theme/DocPage/styles.module.css +0 -98
  646. package/lib-next/theme/DocPaginator/index.js +0 -59
  647. package/lib-next/theme/DocSidebar/index.js +0 -344
  648. package/lib-next/theme/DocSidebar/styles.module.css +0 -138
  649. package/lib-next/theme/EditThisPage/index.js +0 -21
  650. package/lib-next/theme/Footer/index.js +0 -120
  651. package/lib-next/theme/Heading/index.js +0 -51
  652. package/lib-next/theme/Heading/styles.css +0 -23
  653. package/lib-next/theme/IconLanguage/index.js +0 -25
  654. package/lib-next/theme/LastUpdated/index.js +0 -82
  655. package/lib-next/theme/Layout/index.js +0 -46
  656. package/lib-next/theme/LayoutHead/index.js +0 -133
  657. package/lib-next/theme/LayoutProviders/index.js +0 -21
  658. package/lib-next/theme/Logo/index.js +0 -50
  659. package/lib-next/theme/MDXComponents/index.js +0 -51
  660. package/lib-next/theme/MDXPage/index.js +0 -55
  661. package/lib-next/theme/Navbar/index.js +0 -146
  662. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -210
  663. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -43
  664. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  665. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  666. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  667. package/lib-next/theme/NavbarItem/index.js +0 -41
  668. package/lib-next/theme/NotFound.js +0 -46
  669. package/lib-next/theme/SearchBar.js +0 -11
  670. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  671. package/lib-next/theme/Seo/index.js +0 -37
  672. package/lib-next/theme/SkipToContent/index.js +0 -50
  673. package/lib-next/theme/SkipToContent/styles.module.css +0 -16
  674. package/lib-next/theme/TOC/index.js +0 -52
  675. package/lib-next/theme/TOC/styles.module.css +0 -23
  676. package/lib-next/theme/TOCInline/index.js +0 -43
  677. package/lib-next/theme/TOCInline/styles.module.css +0 -12
  678. package/lib-next/theme/Tabs/index.js +0 -144
  679. package/lib-next/theme/Tabs/styles.module.css +0 -23
  680. package/lib-next/theme/ThemeProvider/index.js +0 -25
  681. package/lib-next/theme/ThemedImage/index.js +0 -42
  682. package/lib-next/theme/ThemedImage/styles.module.css +0 -11
  683. package/lib-next/theme/Toggle/index.js +0 -95
  684. package/lib-next/theme/Toggle/styles.module.css +0 -114
  685. package/lib-next/theme/UserPreferencesContext.js +0 -9
  686. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  687. package/lib-next/theme/hooks/styles.css +0 -10
  688. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  689. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  690. package/lib-next/theme/hooks/useDocs.js +0 -10
  691. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  692. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  693. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  694. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  695. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  696. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  697. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  698. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  699. package/lib-next/theme/hooks/useTheme.js +0 -82
  700. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  701. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  702. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  703. package/lib-next/theme/prism-include-languages.js +0 -23
  704. package/lib-next/translations.js +0 -145
  705. package/lib-next/types.d.ts +0 -600
  706. package/lib-next/validateThemeConfig.js +0 -317
  707. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  708. package/src/__tests__/translations.test.ts +0 -116
  709. package/src/__tests__/validateThemeConfig.test.js +0 -333
  710. package/src/prism-include-languages.js +0 -11
  711. package/src/theme/BlogSidebar/styles.module.css +0 -46
  712. package/src/theme/DocItem/styles.module.css +0 -28
  713. package/src/theme/DocPage/styles.module.css +0 -98
  714. package/src/theme/DocSidebar/styles.module.css +0 -138
  715. package/src/theme/IconEdit/styles.module.css +0 -11
  716. package/src/theme/IconLanguage/index.tsx +0 -31
  717. package/src/theme/LayoutProviders/index.tsx +0 -24
  718. package/src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx +0 -67
  719. package/src/theme/SearchMetadatas/index.tsx +0 -28
  720. package/src/theme/Seo/index.tsx +0 -47
  721. package/src/theme/ThemeProvider/index.tsx +0 -24
  722. package/src/theme/Toggle/index.tsx +0 -113
  723. package/src/theme/Toggle/styles.module.css +0 -114
  724. package/src/theme/UserPreferencesContext.ts +0 -12
  725. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  726. package/src/theme/hooks/styles.css +0 -10
  727. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  728. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  729. package/src/theme/hooks/useDocs.ts +0 -11
  730. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  731. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  732. package/src/theme/hooks/useLocationHash.ts +0 -25
  733. package/src/theme/hooks/usePrismTheme.ts +0 -22
  734. package/src/theme/hooks/useScrollPosition.ts +0 -45
  735. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  736. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  737. package/src/theme/hooks/useTheme.ts +0 -92
  738. package/src/theme/hooks/useThemeContext.ts +0 -23
  739. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  740. package/src/theme/hooks/useWindowSize.ts +0 -51
  741. package/src/types.d.ts +0 -600
  742. package/src/validateThemeConfig.js +0 -317
  743. package/tsconfig.json +0 -12
  744. package/update-code-translations.js +0 -239
  745. package/update-code-translations.test.js +0 -33
@@ -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,53 +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},
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} />
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} />
108
101
  </Head>
109
102
 
110
- <Seo {...{description, keywords, image}} />
103
+ {defaultImage && <PageMetadata image={defaultImage} />}
111
104
 
112
105
  <CanonicalUrlHeaders />
113
106
 
114
107
  <AlternateLangHeaders />
115
108
 
116
- <SearchMetadatas
117
- tag={DEFAULT_SEARCH_TAG}
118
- locale={currentLocale}
119
- {...searchMetadatas}
120
- />
109
+ <SearchMetadata tag={DEFAULT_SEARCH_TAG} locale={currentLocale} />
121
110
 
122
- <Head
123
- // it's important to have an additional <Head> element here,
124
- // as it allows react-helmet to override values set in previous <Head>
125
- // ie we can override default metadatas such as "twitter:card"
126
- // In same Head, the same meta would appear twice instead of overriding
127
- // See react-helmet doc
128
- >
129
- {metadatas.map((metadata, i) => (
130
- <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} />
131
121
  ))}
132
122
  </Head>
133
123
  </>
@@ -5,41 +5,18 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {useRef} from 'react';
8
+ import React from 'react';
9
9
  import Translate from '@docusaurus/Translate';
10
- import {useChangeRoute} from '@docusaurus/theme-common';
10
+ import {useSkipToContent} from '@docusaurus/theme-common/internal';
11
11
 
12
12
  import styles from './styles.module.css';
13
13
 
14
- function programmaticFocus(el: HTMLElement) {
15
- el.setAttribute('tabindex', '-1');
16
- el.focus();
17
- el.removeAttribute('tabindex');
18
- }
19
-
20
- function SkipToContent(): JSX.Element {
21
- const containerRef = useRef<HTMLDivElement>(null);
22
- const handleSkip = (e: React.MouseEvent<HTMLAnchorElement>) => {
23
- e.preventDefault();
24
-
25
- const targetElement: HTMLElement | null =
26
- document.querySelector('main:first-of-type') ||
27
- document.querySelector('.main-wrapper');
28
-
29
- if (targetElement) {
30
- programmaticFocus(targetElement);
31
- }
32
- };
33
-
34
- useChangeRoute(() => {
35
- if (containerRef.current) {
36
- programmaticFocus(containerRef.current);
37
- }
38
- });
39
-
14
+ export default function SkipToContent(): JSX.Element {
15
+ const {containerRef, handleSkip} = useSkipToContent();
40
16
  return (
41
- <div ref={containerRef}>
42
- <a href="#main" className={styles.skipToContent} onClick={handleSkip}>
17
+ <div ref={containerRef} role="region">
18
+ {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
19
+ <a href="#" className={styles.skipToContent} onClick={handleSkip}>
43
20
  <Translate
44
21
  id="theme.common.skipToMainContent"
45
22
  description="The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation">
@@ -49,5 +26,3 @@ function SkipToContent(): JSX.Element {
49
26
  </div>
50
27
  );
51
28
  }
52
-
53
- 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;
@@ -6,11 +13,9 @@
6
13
  padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing);
7
14
  color: var(--ifm-color-emphasis-900);
8
15
  background-color: var(--ifm-background-surface-color);
9
- border-radius: var(--ifm-global-radius);
10
- font: inherit;
11
- border: none;
12
16
  }
13
17
 
14
18
  .skipToContent:focus {
15
19
  left: 1rem;
20
+ box-shadow: var(--ifm-global-shadow-md);
16
21
  }
@@ -7,54 +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} from '@theme/TOC';
12
- import styles from './styles.module.css';
13
- import {TOCItem} from '@docusaurus/types';
10
+ import TOCItems from '@theme/TOCItems';
11
+ import type {Props} from '@theme/TOC';
14
12
 
15
- const LINK_CLASS_NAME = 'table-of-contents__link';
16
- const ACTIVE_LINK_CLASS_NAME = 'table-of-contents__link--active';
17
- const TOP_OFFSET = 100;
13
+ import styles from './styles.module.css';
18
14
 
19
- /* eslint-disable jsx-a11y/control-has-associated-label */
20
- function Headings({
21
- toc,
22
- isChild,
23
- }: {
24
- toc: readonly TOCItem[];
25
- isChild?: boolean;
26
- }) {
27
- if (!toc.length) {
28
- return null;
29
- }
30
- return (
31
- <ul
32
- className={
33
- isChild ? '' : 'table-of-contents table-of-contents__left-border'
34
- }>
35
- {toc.map((heading) => (
36
- <li key={heading.id}>
37
- <a
38
- href={`#${heading.id}`}
39
- className={LINK_CLASS_NAME}
40
- // Developer provided the HTML, so assume it's safe.
41
- // eslint-disable-next-line react/no-danger
42
- dangerouslySetInnerHTML={{__html: heading.value}}
43
- />
44
- <Headings isChild toc={heading.children} />
45
- </li>
46
- ))}
47
- </ul>
48
- );
49
- }
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';
50
19
 
51
- function TOC({toc}: TOCProps): JSX.Element {
52
- useTOCHighlight(LINK_CLASS_NAME, ACTIVE_LINK_CLASS_NAME, TOP_OFFSET);
20
+ export default function TOC({className, ...props}: Props): JSX.Element {
53
21
  return (
54
- <div className={clsx(styles.tableOfContents, 'thin-scrollbar')}>
55
- <Headings 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
+ />
56
28
  </div>
57
29
  );
58
30
  }
59
-
60
- export default TOC;
@@ -9,10 +9,10 @@
9
9
  max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
10
10
  overflow-y: auto;
11
11
  position: sticky;
12
- top: calc(var(--ifm-navbar-height) + 2rem);
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
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import clsx from 'clsx';
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
+
15
+ import styles from './styles.module.css';
16
+
17
+ export default function TOCCollapsible({
18
+ toc,
19
+ className,
20
+ minHeadingLevel,
21
+ maxHeadingLevel,
22
+ }: Props): JSX.Element {
23
+ const {collapsed, toggleCollapsed} = useCollapsible({
24
+ initialState: true,
25
+ });
26
+ return (
27
+ <div
28
+ className={clsx(
29
+ styles.tocCollapsible,
30
+ !collapsed && styles.tocCollapsibleExpanded,
31
+ className,
32
+ )}>
33
+ <CollapseButton collapsed={collapsed} onClick={toggleCollapsed} />
34
+ <Collapsible
35
+ lazy
36
+ className={styles.tocCollapsibleContent}
37
+ collapsed={collapsed}>
38
+ <TOCItems
39
+ toc={toc}
40
+ minHeadingLevel={minHeadingLevel}
41
+ maxHeadingLevel={maxHeadingLevel}
42
+ />
43
+ </Collapsible>
44
+ </div>
45
+ );
46
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .tocCollapsible {
9
+ background-color: var(--ifm-menu-color-background-active);
10
+ border-radius: var(--ifm-global-radius);
11
+ margin: 1rem 0;
12
+ }
13
+
14
+ .tocCollapsibleContent > ul {
15
+ border-left: none;
16
+ border-top: 1px solid var(--ifm-color-emphasis-300);
17
+ padding: 0.2rem 0;
18
+ font-size: 15px;
19
+ }
20
+
21
+ .tocCollapsibleContent ul li {
22
+ margin: 0.4rem 0.8rem;
23
+ }
24
+
25
+ .tocCollapsibleContent a {
26
+ display: block;
27
+ }
28
+
29
+ .tocCollapsibleExpanded {
30
+ transform: none;
31
+ }
@@ -6,45 +6,25 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import clsx from 'clsx';
10
- import type {TOCInlineProps} from '@theme/TOCInline';
9
+ import TOCItems from '@theme/TOCItems';
10
+ import type {Props} from '@theme/TOCInline';
11
+
11
12
  import styles from './styles.module.css';
12
- import {TOCItem} from '@docusaurus/types';
13
13
 
14
- /* eslint-disable jsx-a11y/control-has-associated-label */
15
- function HeadingsInline({
14
+ export default function TOCInline({
16
15
  toc,
17
- isChild,
18
- }: {
19
- toc: readonly TOCItem[];
20
- isChild?: boolean;
21
- }) {
22
- if (!toc.length) {
23
- return null;
24
- }
25
- return (
26
- <ul className={isChild ? '' : 'table-of-contents'}>
27
- {toc.map((heading) => (
28
- <li key={heading.id}>
29
- <a
30
- href={`#${heading.id}`}
31
- // Developer provided the HTML, so assume it's safe.
32
- // eslint-disable-next-line react/no-danger
33
- dangerouslySetInnerHTML={{__html: heading.value}}
34
- />
35
- <HeadingsInline isChild toc={heading.children} />
36
- </li>
37
- ))}
38
- </ul>
39
- );
40
- }
41
-
42
- function TOCInline({toc}: TOCInlineProps): JSX.Element {
16
+ minHeadingLevel,
17
+ maxHeadingLevel,
18
+ }: Props): JSX.Element {
43
19
  return (
44
- <div className={clsx(styles.tableOfContentsInline)}>
45
- <HeadingsInline toc={toc} />
20
+ <div className={styles.tableOfContentsInline}>
21
+ <TOCItems
22
+ toc={toc}
23
+ minHeadingLevel={minHeadingLevel}
24
+ maxHeadingLevel={maxHeadingLevel}
25
+ className="table-of-contents"
26
+ linkClassName={null}
27
+ />
46
28
  </div>
47
29
  );
48
30
  }
49
-
50
- export default TOCInline;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import type {Props} from '@theme/TOCItems/Tree';
10
+
11
+ // Recursive component rendering the toc tree
12
+ function TOCItemTree({
13
+ toc,
14
+ className,
15
+ linkClassName,
16
+ isChild,
17
+ }: Props): JSX.Element | null {
18
+ if (!toc.length) {
19
+ return null;
20
+ }
21
+ return (
22
+ <ul className={isChild ? undefined : className}>
23
+ {toc.map((heading) => (
24
+ <li key={heading.id}>
25
+ {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}
26
+ <a
27
+ href={`#${heading.id}`}
28
+ className={linkClassName ?? undefined}
29
+ // Developer provided the HTML, so assume it's safe.
30
+ // eslint-disable-next-line react/no-danger
31
+ dangerouslySetInnerHTML={{__html: heading.value}}
32
+ />
33
+ <TOCItemTree
34
+ isChild
35
+ toc={heading.children}
36
+ className={className}
37
+ linkClassName={linkClassName}
38
+ />
39
+ </li>
40
+ ))}
41
+ </ul>
42
+ );
43
+ }
44
+
45
+ // Memo only the tree root is enough
46
+ export default React.memo(TOCItemTree);
@@ -0,0 +1,61 @@
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, {useMemo} from 'react';
9
+ import {useThemeConfig} from '@docusaurus/theme-common';
10
+ import {
11
+ useTOCHighlight,
12
+ useFilteredAndTreeifiedTOC,
13
+ type TOCHighlightConfig,
14
+ } from '@docusaurus/theme-common/internal';
15
+ import TOCItemTree from '@theme/TOCItems/Tree';
16
+ import type {Props} from '@theme/TOCItems';
17
+
18
+ export default function TOCItems({
19
+ toc,
20
+ className = 'table-of-contents table-of-contents__left-border',
21
+ linkClassName = 'table-of-contents__link',
22
+ linkActiveClassName = undefined,
23
+ minHeadingLevel: minHeadingLevelOption,
24
+ maxHeadingLevel: maxHeadingLevelOption,
25
+ ...props
26
+ }: Props): JSX.Element | null {
27
+ const themeConfig = useThemeConfig();
28
+
29
+ const minHeadingLevel =
30
+ minHeadingLevelOption ?? themeConfig.tableOfContents.minHeadingLevel;
31
+ const maxHeadingLevel =
32
+ maxHeadingLevelOption ?? themeConfig.tableOfContents.maxHeadingLevel;
33
+
34
+ const tocTree = useFilteredAndTreeifiedTOC({
35
+ toc,
36
+ minHeadingLevel,
37
+ maxHeadingLevel,
38
+ });
39
+
40
+ const tocHighlightConfig: TOCHighlightConfig | undefined = useMemo(() => {
41
+ if (linkClassName && linkActiveClassName) {
42
+ return {
43
+ linkClassName,
44
+ linkActiveClassName,
45
+ minHeadingLevel,
46
+ maxHeadingLevel,
47
+ };
48
+ }
49
+ return undefined;
50
+ }, [linkClassName, linkActiveClassName, minHeadingLevel, maxHeadingLevel]);
51
+ useTOCHighlight(tocHighlightConfig);
52
+
53
+ return (
54
+ <TOCItemTree
55
+ toc={tocTree}
56
+ className={className}
57
+ linkClassName={linkClassName}
58
+ {...props}
59
+ />
60
+ );
61
+ }
@@ -6,14 +6,22 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
+ import clsx from 'clsx';
9
10
  import type {Props} from '@theme/TabItem';
10
11
 
11
- function TabItem({children, hidden, className}: Props): JSX.Element {
12
+ import styles from './styles.module.css';
13
+
14
+ export default function TabItem({
15
+ children,
16
+ hidden,
17
+ className,
18
+ }: Props): JSX.Element {
12
19
  return (
13
- <div role="tabpanel" {...{hidden, className}}>
20
+ <div
21
+ role="tabpanel"
22
+ className={clsx(styles.tabItem, className)}
23
+ {...{hidden}}>
14
24
  {children}
15
25
  </div>
16
26
  );
17
27
  }
18
-
19
- export default TabItem;
@@ -0,0 +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
+
8
+ .tabItem > *:last-child {
9
+ margin-bottom: 0;
10
+ }