@docusaurus/theme-classic 2.0.0-beta.fbdeefcac → 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 (740) 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/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 -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 +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-next/theme/Heading/styles.module.css → lib/theme/BlogPostItem/Content/index.d.ts} +3 -9
  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/theme/BlogPostItem/index.d.ts +9 -0
  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 -60
  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 -69
  71. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  72. package/lib/theme/BlogTagsPostsPage/index.js +78 -89
  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-next/theme/CodeBlock → lib/theme/CodeBlock/Content}/styles.module.css +45 -27
  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 -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-next/theme/Heading/styles.css → lib/theme/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/{styles.module.css → Footer/styles.module.css} +1 -9
  114. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  115. package/lib/theme/DocItem/Layout/index.js +59 -0
  116. package/{src/theme/DocItem → lib/theme/DocItem/Layout}/styles.module.css +3 -12
  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 -122
  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-next/theme/IconExternalLink → lib/theme/DocPage/Layout}/styles.module.css +7 -4
  140. package/lib/theme/DocPage/index.d.ts +10 -0
  141. package/lib/theme/DocPage/index.js +42 -165
  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 -302
  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/theme/DocVersionBanner/index.js +105 -102
  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/{src/theme/Footer → lib/theme/Footer/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 -104
  198. package/lib/theme/Heading/index.d.ts +9 -0
  199. package/lib/theme/Heading/index.js +35 -68
  200. package/lib/theme/Heading/styles.module.css +25 -5
  201. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  202. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +2 -5
  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/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/index.js +2 -5
  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-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/index.js +2 -5
  212. package/lib/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -2
  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 +7 -5
  221. package/lib/theme/LastUpdated/index.d.ts +9 -0
  222. package/lib/theme/LastUpdated/index.js +57 -42
  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} +9 -10
  228. package/lib/theme/Logo/index.d.ts +9 -0
  229. package/lib/theme/Logo/index.js +57 -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-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  240. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  241. package/lib/theme/MDXComponents/Img/index.js +22 -0
  242. package/lib/theme/MDXComponents/Img/styles.module.css +10 -0
  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 +46 -56
  254. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  255. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  256. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  257. package/lib/theme/Navbar/Content/index.js +71 -0
  258. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  259. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  260. package/lib/theme/Navbar/Layout/index.js +52 -0
  261. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -6
  262. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  263. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  264. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  265. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  266. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  267. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  268. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  269. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  270. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  271. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  272. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  273. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  274. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  275. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  276. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  277. package/lib/theme/Navbar/Search/index.js +12 -0
  278. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  279. package/{lib-next/theme/hooks/styles.css → lib/theme/Navbar/index.d.ts} +2 -4
  280. package/lib/theme/Navbar/index.js +9 -140
  281. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  282. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  283. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  284. package/lib/theme/NavbarItem/DefaultNavbarItem.js +36 -193
  285. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  286. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -52
  287. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  288. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  289. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  290. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +73 -62
  291. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  292. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  293. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  294. package/lib/theme/NavbarItem/DropdownNavbarItem.js +161 -0
  295. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  296. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  297. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  298. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +68 -0
  299. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  300. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  301. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  302. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  303. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  304. package/lib/theme/NavbarItem/index.d.ts +9 -0
  305. package/lib/theme/NavbarItem/index.js +15 -45
  306. package/lib/theme/NotFound.d.ts +8 -0
  307. package/lib/theme/NotFound.js +44 -49
  308. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  309. package/lib/theme/PaginatorNavLink/index.js +23 -0
  310. package/lib/theme/SearchBar.d.ts +7 -0
  311. package/lib/theme/SearchBar.js +11 -15
  312. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  313. package/lib/theme/SearchMetadata/index.js +34 -0
  314. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  315. package/lib/theme/SiteMetadata/index.js +116 -0
  316. package/lib/theme/SkipToContent/index.d.ts +8 -0
  317. package/lib/theme/SkipToContent/index.js +16 -62
  318. package/lib/theme/SkipToContent/styles.module.css +7 -0
  319. package/lib/theme/TOC/index.d.ts +9 -0
  320. package/lib/theme/TOC/index.js +18 -52
  321. package/lib/theme/TOC/styles.module.css +1 -1
  322. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  323. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  324. package/lib/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  325. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  326. package/lib/theme/TOCCollapsible/index.js +42 -0
  327. package/lib/theme/TOCCollapsible/styles.module.css +31 -0
  328. package/lib/theme/TOCInline/index.d.ts +9 -0
  329. package/lib/theme/TOCInline/index.js +15 -46
  330. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  331. package/lib/theme/TOCItems/Tree.js +37 -0
  332. package/lib/theme/TOCItems/index.d.ts +9 -0
  333. package/lib/theme/TOCItems/index.js +53 -0
  334. package/lib/theme/TabItem/index.d.ts +9 -0
  335. package/lib/theme/TabItem/index.js +11 -24
  336. package/lib/theme/TabItem/styles.module.css +10 -0
  337. package/lib/theme/Tabs/index.d.ts +9 -0
  338. package/lib/theme/Tabs/index.js +159 -123
  339. package/lib/theme/Tabs/styles.module.css +4 -13
  340. package/lib/theme/Tag/index.d.ts +9 -0
  341. package/lib/theme/Tag/index.js +23 -0
  342. package/lib/theme/Tag/styles.module.css +70 -0
  343. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  344. package/lib/theme/TagsListByLetter/index.js +38 -0
  345. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  346. package/lib/theme/TagsListInline/index.d.ts +9 -0
  347. package/lib/theme/TagsListInline/index.js +31 -0
  348. package/lib/theme/TagsListInline/styles.module.css +15 -0
  349. package/lib/theme/ThemedImage/index.d.ts +9 -0
  350. package/lib/theme/ThemedImage/index.js +33 -43
  351. package/lib/theme/ThemedImage/styles.module.css +2 -2
  352. package/lib/theme/prism-include-languages.d.ts +8 -0
  353. package/lib/theme/prism-include-languages.js +19 -33
  354. package/lib/translations.d.ts +15 -0
  355. package/lib/translations.js +122 -122
  356. package/package.json +41 -36
  357. package/src/deps.d.ts +13 -0
  358. package/src/getSwizzleConfig.ts +245 -0
  359. package/src/index.ts +53 -78
  360. package/src/nprogress.css +41 -0
  361. package/src/nprogress.ts +31 -0
  362. package/src/options.ts +469 -0
  363. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  364. package/src/theme/Admonition/index.tsx +209 -0
  365. package/src/theme/Admonition/styles.module.css +38 -0
  366. package/src/theme/AnnouncementBar/index.tsx +11 -16
  367. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  368. package/src/theme/BackToTopButton/index.tsx +35 -0
  369. package/src/theme/BackToTopButton/styles.module.css +44 -0
  370. package/src/theme/BlogArchivePage/index.tsx +92 -0
  371. package/src/theme/BlogLayout/index.tsx +38 -0
  372. package/src/theme/BlogListPage/index.tsx +37 -36
  373. package/src/theme/BlogListPaginator/index.tsx +27 -32
  374. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  375. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  376. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  377. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  378. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  379. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  380. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  381. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  382. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  383. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  384. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  385. package/{lib-next/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  386. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  387. package/src/theme/BlogPostItem/index.tsx +19 -151
  388. package/src/theme/BlogPostItems/index.tsx +30 -0
  389. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  390. package/src/theme/BlogPostPage/index.tsx +55 -42
  391. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  392. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  393. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +5 -4
  394. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  395. package/src/theme/BlogSidebar/index.tsx +10 -33
  396. package/src/theme/BlogTagsListPage/index.tsx +24 -67
  397. package/src/theme/BlogTagsPostsPage/index.tsx +58 -50
  398. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  399. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  400. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  401. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  402. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +45 -27
  403. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  404. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  405. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  406. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  407. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  408. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  409. package/src/theme/CodeBlock/index.tsx +29 -253
  410. package/src/theme/ColorModeToggle/index.tsx +67 -0
  411. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  412. package/src/theme/Details/index.tsx +26 -0
  413. package/src/theme/Details/styles.module.css +13 -0
  414. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  415. package/src/theme/DocBreadcrumbs/styles.module.css +19 -0
  416. package/src/theme/DocCard/index.tsx +120 -0
  417. package/src/theme/DocCard/styles.module.css +34 -0
  418. package/src/theme/DocCardList/index.tsx +35 -0
  419. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +77 -0
  420. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  421. package/src/theme/DocItem/Content/index.tsx +48 -0
  422. package/src/theme/DocItem/Footer/index.tsx +89 -0
  423. package/{lib-next/theme/DocItem → src/theme/DocItem/Footer}/styles.module.css +1 -9
  424. package/src/theme/DocItem/Layout/index.tsx +68 -0
  425. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  426. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  427. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  428. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  429. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  430. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  431. package/src/theme/DocItem/index.tsx +15 -102
  432. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  433. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  434. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  435. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  436. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  437. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  438. package/src/theme/DocPage/Layout/index.tsx +38 -0
  439. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  440. package/src/theme/DocPage/index.tsx +38 -167
  441. package/src/theme/DocPaginator/index.tsx +28 -40
  442. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  443. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  444. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  445. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  446. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  447. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  448. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  449. package/src/theme/DocSidebar/index.tsx +14 -351
  450. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  451. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  452. package/src/theme/DocSidebarItem/Html/styles.module.css +13 -0
  453. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  454. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  455. package/src/theme/DocSidebarItem/index.tsx +27 -0
  456. package/src/theme/DocSidebarItems/index.tsx +27 -0
  457. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  458. package/src/theme/DocTagsListPage/index.tsx +43 -0
  459. package/src/theme/DocVersionBadge/index.tsx +36 -0
  460. package/src/theme/DocVersionBanner/index.tsx +53 -28
  461. package/src/theme/EditThisPage/index.tsx +7 -3
  462. package/src/theme/ErrorPageContent.tsx +41 -0
  463. package/src/theme/Footer/Copyright/index.tsx +20 -0
  464. package/src/theme/Footer/Layout/index.tsx +34 -0
  465. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  466. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  467. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  468. package/src/theme/Footer/Links/index.tsx +21 -0
  469. package/src/theme/Footer/Logo/index.tsx +46 -0
  470. package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  471. package/src/theme/Footer/index.tsx +13 -122
  472. package/src/theme/Heading/index.tsx +31 -58
  473. package/src/theme/Heading/styles.module.css +25 -5
  474. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +3 -5
  475. package/src/theme/Icon/Close/index.tsx +26 -0
  476. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  477. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +6 -6
  478. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  479. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +4 -6
  480. package/src/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -2
  481. package/src/theme/Icon/Home/index.tsx +20 -0
  482. package/src/theme/Icon/Language/index.tsx +29 -0
  483. package/src/theme/Icon/LightMode/index.tsx +20 -0
  484. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +4 -6
  485. package/src/theme/LastUpdated/index.tsx +4 -2
  486. package/src/theme/Layout/Provider/index.tsx +33 -0
  487. package/src/theme/Layout/index.tsx +23 -15
  488. package/{lib/theme/Layout/styles.css → src/theme/Layout/styles.module.css} +9 -10
  489. package/src/theme/Logo/index.tsx +57 -26
  490. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  491. package/src/theme/MDXComponents/Code.tsx +40 -0
  492. package/src/theme/MDXComponents/Details.tsx +28 -0
  493. package/src/theme/MDXComponents/Head.tsx +29 -0
  494. package/src/theme/MDXComponents/Heading.tsx +14 -0
  495. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  496. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  497. package/src/theme/MDXComponents/Pre.tsx +23 -0
  498. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  499. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  500. package/src/theme/MDXComponents/index.tsx +25 -42
  501. package/src/theme/MDXContent/index.tsx +15 -0
  502. package/src/theme/MDXPage/index.tsx +40 -35
  503. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  504. package/src/theme/Navbar/Content/index.tsx +86 -0
  505. package/src/theme/Navbar/Content/styles.module.css +15 -0
  506. package/src/theme/Navbar/Layout/index.tsx +57 -0
  507. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -6
  508. package/src/theme/Navbar/Logo/index.tsx +19 -0
  509. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  510. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  511. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  512. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  513. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  514. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  515. package/src/theme/Navbar/Search/index.tsx +19 -0
  516. package/src/theme/Navbar/Search/styles.module.css +20 -0
  517. package/src/theme/Navbar/index.tsx +7 -147
  518. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  519. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +36 -208
  520. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -41
  521. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  522. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +57 -52
  523. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  524. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +190 -0
  525. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  526. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  527. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  528. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  529. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  530. package/src/theme/NavbarItem/index.tsx +15 -32
  531. package/src/theme/NotFound.tsx +40 -37
  532. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  533. package/src/theme/SearchBar.tsx +2 -1
  534. package/src/theme/SearchMetadata/index.tsx +43 -0
  535. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -45
  536. package/src/theme/SkipToContent/index.tsx +5 -33
  537. package/src/theme/SkipToContent/styles.module.css +7 -0
  538. package/src/theme/TOC/index.tsx +14 -44
  539. package/src/theme/TOC/styles.module.css +1 -1
  540. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  541. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  542. package/src/theme/TOCCollapsible/index.tsx +46 -0
  543. package/src/theme/TOCCollapsible/styles.module.css +31 -0
  544. package/src/theme/TOCInline/index.tsx +15 -35
  545. package/src/theme/TOCItems/Tree.tsx +46 -0
  546. package/src/theme/TOCItems/index.tsx +61 -0
  547. package/src/theme/TabItem/index.tsx +12 -4
  548. package/src/theme/TabItem/styles.module.css +10 -0
  549. package/src/theme/Tabs/index.tsx +121 -62
  550. package/src/theme/Tabs/styles.module.css +4 -13
  551. package/src/theme/Tag/index.tsx +27 -0
  552. package/src/theme/Tag/styles.module.css +70 -0
  553. package/src/theme/TagsListByLetter/index.tsx +43 -0
  554. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  555. package/src/theme/TagsListInline/index.tsx +35 -0
  556. package/src/theme/TagsListInline/styles.module.css +15 -0
  557. package/src/theme/ThemedImage/index.tsx +10 -12
  558. package/src/theme/ThemedImage/styles.module.css +2 -2
  559. package/src/theme/prism-include-languages.ts +20 -15
  560. package/src/theme-classic.d.ts +1368 -0
  561. package/src/translations.ts +85 -60
  562. package/babel.config.js +0 -35
  563. package/codeTranslations/README.md +0 -20
  564. package/codeTranslations/ar.json +0 -57
  565. package/codeTranslations/base.json +0 -112
  566. package/codeTranslations/bn.json +0 -56
  567. package/codeTranslations/da.json +0 -57
  568. package/codeTranslations/de.json +0 -57
  569. package/codeTranslations/es.json +0 -57
  570. package/codeTranslations/fa.json +0 -57
  571. package/codeTranslations/fil.json +0 -57
  572. package/codeTranslations/fr.json +0 -57
  573. package/codeTranslations/he.json +0 -57
  574. package/codeTranslations/hi.json +0 -57
  575. package/codeTranslations/ja.json +0 -57
  576. package/codeTranslations/ko.json +0 -57
  577. package/codeTranslations/pl.json +0 -57
  578. package/codeTranslations/pt-BR.json +0 -57
  579. package/codeTranslations/pt-PT.json +0 -57
  580. package/codeTranslations/ru.json +0 -57
  581. package/codeTranslations/tr.json +0 -57
  582. package/codeTranslations/vi.json +0 -57
  583. package/codeTranslations/zh-Hans.json +0 -57
  584. package/codeTranslations/zh-Hant.json +0 -57
  585. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  586. package/lib/__tests__/translations.test.js +0 -112
  587. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  588. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  589. package/lib/theme/CodeBlock/styles.module.css +0 -68
  590. package/lib/theme/DocPage/styles.module.css +0 -80
  591. package/lib/theme/DocSidebar/styles.module.css +0 -124
  592. package/lib/theme/Heading/styles.css +0 -23
  593. package/lib/theme/IconArrow/index.js +0 -28
  594. package/lib/theme/IconEdit/index.js +0 -34
  595. package/lib/theme/IconExternalLink/index.js +0 -30
  596. package/lib/theme/IconLanguage/index.js +0 -29
  597. package/lib/theme/IconMenu/index.js +0 -30
  598. package/lib/theme/LayoutHead/index.js +0 -144
  599. package/lib/theme/LayoutProviders/index.js +0 -36
  600. package/lib/theme/Navbar/styles.module.css +0 -20
  601. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  602. package/lib/theme/SearchMetadatas/index.js +0 -33
  603. package/lib/theme/Seo/index.js +0 -49
  604. package/lib/theme/ThemeContext.js +0 -21
  605. package/lib/theme/ThemeProvider/index.js +0 -38
  606. package/lib/theme/Toggle/index.js +0 -94
  607. package/lib/theme/Toggle/styles.css +0 -103
  608. package/lib/theme/Toggle/styles.module.css +0 -17
  609. package/lib/theme/UserPreferencesContext.js +0 -18
  610. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  611. package/lib/theme/hooks/styles.css +0 -10
  612. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  613. package/lib/theme/hooks/useDocs.js +0 -18
  614. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  615. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  616. package/lib/theme/hooks/useLocationHash.js +0 -28
  617. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  618. package/lib/theme/hooks/usePrismTheme.js +0 -36
  619. package/lib/theme/hooks/useScrollPosition.js +0 -49
  620. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  621. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  622. package/lib/theme/hooks/useTheme.js +0 -99
  623. package/lib/theme/hooks/useThemeContext.js +0 -31
  624. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  625. package/lib/theme/hooks/useWindowSize.js +0 -55
  626. package/lib/types.d.ts +0 -598
  627. package/lib/validateThemeConfig.js +0 -317
  628. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  629. package/lib-next/__tests__/translations.test.js +0 -128
  630. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  631. package/lib-next/index.js +0 -221
  632. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  633. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  634. package/lib-next/theme/BlogListPage/index.js +0 -56
  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 -55
  638. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  639. package/lib-next/theme/BlogTagsListPage/index.js +0 -75
  640. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -92
  641. package/lib-next/theme/CodeBlock/index.js +0 -268
  642. package/lib-next/theme/DocItem/index.js +0 -117
  643. package/lib-next/theme/DocPage/index.js +0 -173
  644. package/lib-next/theme/DocPage/styles.module.css +0 -80
  645. package/lib-next/theme/DocPaginator/index.js +0 -59
  646. package/lib-next/theme/DocSidebar/index.js +0 -352
  647. package/lib-next/theme/DocSidebar/styles.module.css +0 -124
  648. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  649. package/lib-next/theme/EditThisPage/index.js +0 -21
  650. package/lib-next/theme/Footer/index.js +0 -129
  651. package/lib-next/theme/Heading/index.js +0 -67
  652. package/lib-next/theme/IconLanguage/index.js +0 -25
  653. package/lib-next/theme/LastUpdated/index.js +0 -77
  654. package/lib-next/theme/Layout/index.js +0 -46
  655. package/lib-next/theme/LayoutHead/index.js +0 -137
  656. package/lib-next/theme/LayoutProviders/index.js +0 -26
  657. package/lib-next/theme/Logo/index.js +0 -54
  658. package/lib-next/theme/MDXComponents/index.js +0 -51
  659. package/lib-next/theme/MDXPage/index.js +0 -51
  660. package/lib-next/theme/Navbar/index.js +0 -146
  661. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -227
  662. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -57
  663. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  664. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  665. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  666. package/lib-next/theme/NavbarItem/index.js +0 -41
  667. package/lib-next/theme/NotFound.js +0 -50
  668. package/lib-next/theme/SearchBar.js +0 -11
  669. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  670. package/lib-next/theme/Seo/index.js +0 -36
  671. package/lib-next/theme/SkipToContent/index.js +0 -53
  672. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  673. package/lib-next/theme/TOC/index.js +0 -52
  674. package/lib-next/theme/TOC/styles.module.css +0 -23
  675. package/lib-next/theme/TOCInline/index.js +0 -43
  676. package/lib-next/theme/Tabs/index.js +0 -144
  677. package/lib-next/theme/Tabs/styles.module.css +0 -23
  678. package/lib-next/theme/ThemeProvider/index.js +0 -25
  679. package/lib-next/theme/ThemedImage/index.js +0 -41
  680. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  681. package/lib-next/theme/Toggle/index.js +0 -80
  682. package/lib-next/theme/Toggle/styles.css +0 -103
  683. package/lib-next/theme/UserPreferencesContext.js +0 -9
  684. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  685. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  686. package/lib-next/theme/hooks/useDocs.js +0 -10
  687. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  688. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  689. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  690. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  691. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  692. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  693. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  694. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  695. package/lib-next/theme/hooks/useTheme.js +0 -82
  696. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  697. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  698. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  699. package/lib-next/theme/prism-include-languages.js +0 -23
  700. package/lib-next/translations.js +0 -145
  701. package/lib-next/types.d.ts +0 -598
  702. package/lib-next/validateThemeConfig.js +0 -317
  703. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  704. package/src/__tests__/translations.test.ts +0 -116
  705. package/src/__tests__/validateThemeConfig.test.js +0 -333
  706. package/src/prism-include-languages.js +0 -11
  707. package/src/theme/DocPage/styles.module.css +0 -80
  708. package/src/theme/DocSidebar/styles.module.css +0 -124
  709. package/src/theme/Heading/styles.css +0 -23
  710. package/src/theme/IconLanguage/index.tsx +0 -31
  711. package/src/theme/Layout/styles.css +0 -27
  712. package/src/theme/LayoutProviders/index.tsx +0 -29
  713. package/src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx +0 -67
  714. package/src/theme/SearchMetadatas/index.tsx +0 -28
  715. package/src/theme/Seo/index.tsx +0 -46
  716. package/src/theme/ThemeProvider/index.tsx +0 -24
  717. package/src/theme/Toggle/index.tsx +0 -100
  718. package/src/theme/Toggle/styles.css +0 -103
  719. package/src/theme/Toggle/styles.module.css +0 -17
  720. package/src/theme/UserPreferencesContext.ts +0 -12
  721. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  722. package/src/theme/hooks/styles.css +0 -10
  723. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  724. package/src/theme/hooks/useDocs.ts +0 -11
  725. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  726. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  727. package/src/theme/hooks/useLocationHash.ts +0 -25
  728. package/src/theme/hooks/usePrismTheme.ts +0 -22
  729. package/src/theme/hooks/useScrollPosition.ts +0 -45
  730. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  731. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  732. package/src/theme/hooks/useTheme.ts +0 -92
  733. package/src/theme/hooks/useThemeContext.ts +0 -23
  734. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  735. package/src/theme/hooks/useWindowSize.ts +0 -51
  736. package/src/types.d.ts +0 -598
  737. package/src/validateThemeConfig.js +0 -317
  738. package/tsconfig.json +0 -12
  739. package/update-code-translations.js +0 -240
  740. package/update-code-translations.test.js +0 -33
@@ -0,0 +1,27 @@
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 DocSidebarItemCategory from '@theme/DocSidebarItem/Category';
10
+ import DocSidebarItemLink from '@theme/DocSidebarItem/Link';
11
+ import DocSidebarItemHtml from '@theme/DocSidebarItem/Html';
12
+ import type {Props} from '@theme/DocSidebarItem';
13
+
14
+ export default function DocSidebarItem({
15
+ item,
16
+ ...props
17
+ }: Props): JSX.Element | null {
18
+ switch (item.type) {
19
+ case 'category':
20
+ return <DocSidebarItemCategory item={item} {...props} />;
21
+ case 'html':
22
+ return <DocSidebarItemHtml item={item} {...props} />;
23
+ case 'link':
24
+ default:
25
+ return <DocSidebarItemLink item={item} {...props} />;
26
+ }
27
+ }
@@ -0,0 +1,27 @@
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, {memo} from 'react';
9
+ import {DocSidebarItemsExpandedStateProvider} from '@docusaurus/theme-common/internal';
10
+ import DocSidebarItem from '@theme/DocSidebarItem';
11
+
12
+ import type {Props} from '@theme/DocSidebarItems';
13
+
14
+ // TODO this item should probably not receive the "activePath" props
15
+ // TODO this triggers whole sidebar re-renders on navigation
16
+ function DocSidebarItems({items, ...props}: Props): JSX.Element {
17
+ return (
18
+ <DocSidebarItemsExpandedStateProvider>
19
+ {items.map((item, index) => (
20
+ <DocSidebarItem key={index} item={item} index={index} {...props} />
21
+ ))}
22
+ </DocSidebarItemsExpandedStateProvider>
23
+ );
24
+ }
25
+
26
+ // Optimize sidebar at each "level"
27
+ export default memo(DocSidebarItems);
@@ -0,0 +1,95 @@
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 {
12
+ PageMetadata,
13
+ HtmlClassNameProvider,
14
+ ThemeClassNames,
15
+ usePluralForm,
16
+ } from '@docusaurus/theme-common';
17
+ import Translate, {translate} from '@docusaurus/Translate';
18
+ import Layout from '@theme/Layout';
19
+ import SearchMetadata from '@theme/SearchMetadata';
20
+ import type {Props} from '@theme/DocTagDocListPage';
21
+
22
+ // Very simple pluralization: probably good enough for now
23
+ function useNDocsTaggedPlural() {
24
+ const {selectMessage} = usePluralForm();
25
+ return (count: number) =>
26
+ selectMessage(
27
+ count,
28
+ translate(
29
+ {
30
+ id: 'theme.docs.tagDocListPageTitle.nDocsTagged',
31
+ description:
32
+ 'Pluralized label for "{count} docs tagged". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
33
+ message: 'One doc tagged|{count} docs tagged',
34
+ },
35
+ {count},
36
+ ),
37
+ );
38
+ }
39
+
40
+ function DocItem({doc}: {doc: Props['tag']['items'][number]}): JSX.Element {
41
+ return (
42
+ <article className="margin-vert--lg">
43
+ <Link to={doc.permalink}>
44
+ <h2>{doc.title}</h2>
45
+ </Link>
46
+ {doc.description && <p>{doc.description}</p>}
47
+ </article>
48
+ );
49
+ }
50
+
51
+ export default function DocTagDocListPage({tag}: Props): JSX.Element {
52
+ const nDocsTaggedPlural = useNDocsTaggedPlural();
53
+ const title = translate(
54
+ {
55
+ id: 'theme.docs.tagDocListPageTitle',
56
+ description: 'The title of the page for a docs tag',
57
+ message: '{nDocsTagged} with "{tagName}"',
58
+ },
59
+ {nDocsTagged: nDocsTaggedPlural(tag.count), tagName: tag.label},
60
+ );
61
+
62
+ return (
63
+ <HtmlClassNameProvider
64
+ className={clsx(
65
+ ThemeClassNames.wrapper.docsPages,
66
+ ThemeClassNames.page.docsTagDocListPage,
67
+ )}>
68
+ <PageMetadata title={title} />
69
+ <SearchMetadata tag="doc_tag_doc_list" />
70
+ <Layout>
71
+ <div className="container margin-vert--lg">
72
+ <div className="row">
73
+ <main className="col col--8 col--offset-2">
74
+ <header className="margin-bottom--xl">
75
+ <h1>{title}</h1>
76
+ <Link href={tag.allTagsPath}>
77
+ <Translate
78
+ id="theme.tags.tagsPageLink"
79
+ description="The label of the link targeting the tag list page">
80
+ View All Tags
81
+ </Translate>
82
+ </Link>
83
+ </header>
84
+ <section className="margin-vert--lg">
85
+ {tag.items.map((doc) => (
86
+ <DocItem key={doc.id} doc={doc} />
87
+ ))}
88
+ </section>
89
+ </main>
90
+ </div>
91
+ </div>
92
+ </Layout>
93
+ </HtmlClassNameProvider>
94
+ );
95
+ }
@@ -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
+ import clsx from 'clsx';
10
+ import {
11
+ PageMetadata,
12
+ HtmlClassNameProvider,
13
+ ThemeClassNames,
14
+ translateTagsPageTitle,
15
+ } from '@docusaurus/theme-common';
16
+ import Layout from '@theme/Layout';
17
+ import TagsListByLetter from '@theme/TagsListByLetter';
18
+ import SearchMetadata from '@theme/SearchMetadata';
19
+ import type {Props} from '@theme/DocTagsListPage';
20
+
21
+ export default function DocTagsListPage({tags}: Props): JSX.Element {
22
+ const title = translateTagsPageTitle();
23
+ return (
24
+ <HtmlClassNameProvider
25
+ className={clsx(
26
+ ThemeClassNames.wrapper.docsPages,
27
+ ThemeClassNames.page.docsTagsListPage,
28
+ )}>
29
+ <PageMetadata title={title} />
30
+ <SearchMetadata tag="doc_tags_list" />
31
+ <Layout>
32
+ <div className="container margin-vert--lg">
33
+ <div className="row">
34
+ <main className="col col--8 col--offset-2">
35
+ <h1>{title}</h1>
36
+ <TagsListByLetter tags={tags} />
37
+ </main>
38
+ </div>
39
+ </div>
40
+ </Layout>
41
+ </HtmlClassNameProvider>
42
+ );
43
+ }
@@ -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 {ThemeClassNames} from '@docusaurus/theme-common';
12
+ import {useDocsVersion} from '@docusaurus/theme-common/internal';
13
+ import type {Props} from '@theme/DocVersionBadge';
14
+
15
+ export default function DocVersionBadge({
16
+ className,
17
+ }: Props): JSX.Element | null {
18
+ const versionMetadata = useDocsVersion();
19
+ if (versionMetadata.badge) {
20
+ return (
21
+ <span
22
+ className={clsx(
23
+ className,
24
+ ThemeClassNames.docs.docVersionBadge,
25
+ 'badge badge--secondary',
26
+ )}>
27
+ <Translate
28
+ id="theme.docs.versionBadge.label"
29
+ values={{versionLabel: versionMetadata.label}}>
30
+ {'Version: {versionLabel}'}
31
+ </Translate>
32
+ </span>
33
+ );
34
+ }
35
+ return null;
36
+ }
@@ -5,18 +5,30 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {ComponentType} from 'react';
8
+ import React, {type ComponentType} from 'react';
9
+ import clsx from 'clsx';
9
10
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
10
11
  import Link from '@docusaurus/Link';
11
12
  import Translate from '@docusaurus/Translate';
12
- import {useActivePlugin, useDocVersionSuggestions} from '@theme/hooks/useDocs';
13
- import {useDocsPreferredVersion} from '@docusaurus/theme-common';
14
-
13
+ import {
14
+ useActivePlugin,
15
+ useDocVersionSuggestions,
16
+ type GlobalVersion,
17
+ } from '@docusaurus/plugin-content-docs/client';
18
+ import {ThemeClassNames} from '@docusaurus/theme-common';
19
+ import {
20
+ useDocsPreferredVersion,
21
+ useDocsVersion,
22
+ } from '@docusaurus/theme-common/internal';
15
23
  import type {Props} from '@theme/DocVersionBanner';
24
+ import type {
25
+ VersionBanner,
26
+ PropVersionMetadata,
27
+ } from '@docusaurus/plugin-content-docs';
16
28
 
17
29
  type BannerLabelComponentProps = {
18
30
  siteTitle: string;
19
- versionMetadata: Props['versionMetadata'];
31
+ versionMetadata: PropVersionMetadata;
20
32
  };
21
33
 
22
34
  function UnreleasedVersionLabel({
@@ -57,17 +69,16 @@ function UnmaintainedVersionLabel({
57
69
  );
58
70
  }
59
71
 
60
- const BannerLabelComponents: Record<
61
- Props['versionMetadata']['banner'],
62
- ComponentType<BannerLabelComponentProps>
63
- > = {
72
+ const BannerLabelComponents: {
73
+ [banner in VersionBanner]: ComponentType<BannerLabelComponentProps>;
74
+ } = {
64
75
  unreleased: UnreleasedVersionLabel,
65
76
  unmaintained: UnmaintainedVersionLabel,
66
77
  };
67
78
 
68
79
  function BannerLabel(props: BannerLabelComponentProps) {
69
80
  const BannerLabelComponent =
70
- BannerLabelComponents[props.versionMetadata.banner];
81
+ BannerLabelComponents[props.versionMetadata.banner!];
71
82
  return <BannerLabelComponent {...props} />;
72
83
  }
73
84
 
@@ -105,29 +116,38 @@ function LatestVersionSuggestionLabel({
105
116
  );
106
117
  }
107
118
 
108
- function DocVersionBannerEnabled({versionMetadata}: Props): JSX.Element {
119
+ function DocVersionBannerEnabled({
120
+ className,
121
+ versionMetadata,
122
+ }: Props & {
123
+ versionMetadata: PropVersionMetadata;
124
+ }): JSX.Element {
109
125
  const {
110
126
  siteConfig: {title: siteTitle},
111
127
  } = useDocusaurusContext();
112
- const {pluginId} = useActivePlugin({failfast: true});
128
+ const {pluginId} = useActivePlugin({failfast: true})!;
113
129
 
114
- const getVersionMainDoc = (version) =>
115
- version.docs.find((doc) => doc.id === version.mainDocId);
130
+ const getVersionMainDoc = (version: GlobalVersion) =>
131
+ version.docs.find((doc) => doc.id === version.mainDocId)!;
116
132
 
117
133
  const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
118
134
 
119
- const {
120
- latestDocSuggestion,
121
- latestVersionSuggestion,
122
- } = useDocVersionSuggestions(pluginId);
135
+ const {latestDocSuggestion, latestVersionSuggestion} =
136
+ useDocVersionSuggestions(pluginId);
123
137
 
124
- // try to link to same doc in latest version (not always possible)
125
- // fallback to main doc of latest version
138
+ // Try to link to same doc in latest version (not always possible), falling
139
+ // back to main doc of latest version
126
140
  const latestVersionSuggestedDoc =
127
141
  latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
128
142
 
129
143
  return (
130
- <div className="alert alert--warning margin-bottom--md" role="alert">
144
+ <div
145
+ className={clsx(
146
+ className,
147
+ ThemeClassNames.docs.docVersionBanner,
148
+ 'alert alert--warning margin-bottom--md',
149
+ )}
150
+ role="alert">
131
151
  <div>
132
152
  <BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
133
153
  </div>
@@ -142,12 +162,17 @@ function DocVersionBannerEnabled({versionMetadata}: Props): JSX.Element {
142
162
  );
143
163
  }
144
164
 
145
- function DocVersionBanner({versionMetadata}: Props): JSX.Element {
146
- if (versionMetadata.banner === 'none') {
147
- return <></>;
148
- } else {
149
- return <DocVersionBannerEnabled versionMetadata={versionMetadata} />;
165
+ export default function DocVersionBanner({
166
+ className,
167
+ }: Props): JSX.Element | null {
168
+ const versionMetadata = useDocsVersion();
169
+ if (versionMetadata.banner) {
170
+ return (
171
+ <DocVersionBannerEnabled
172
+ className={className}
173
+ versionMetadata={versionMetadata}
174
+ />
175
+ );
150
176
  }
177
+ return null;
151
178
  }
152
-
153
- export default DocVersionBanner;
@@ -7,13 +7,17 @@
7
7
 
8
8
  import React from 'react';
9
9
  import Translate from '@docusaurus/Translate';
10
-
10
+ import {ThemeClassNames} from '@docusaurus/theme-common';
11
+ import IconEdit from '@theme/Icon/Edit';
11
12
  import type {Props} from '@theme/EditThisPage';
12
- import IconEdit from '@theme/IconEdit';
13
13
 
14
14
  export default function EditThisPage({editUrl}: Props): JSX.Element {
15
15
  return (
16
- <a href={editUrl} target="_blank" rel="noreferrer noopener">
16
+ <a
17
+ href={editUrl}
18
+ target="_blank"
19
+ rel="noreferrer noopener"
20
+ className={ThemeClassNames.common.editThisPage}>
17
21
  <IconEdit />
18
22
  <Translate
19
23
  id="theme.common.editThisPage"
@@ -0,0 +1,41 @@
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 Translate from '@docusaurus/Translate';
10
+ import type {Props} from '@theme/Error';
11
+
12
+ export default function ErrorPageContent({
13
+ error,
14
+ tryAgain,
15
+ }: Props): JSX.Element {
16
+ return (
17
+ <main className="container margin-vert--xl">
18
+ <div className="row">
19
+ <div className="col col--6 col--offset-3">
20
+ <h1 className="hero__title">
21
+ <Translate
22
+ id="theme.ErrorPageContent.title"
23
+ description="The title of the fallback page when the page crashed">
24
+ This page crashed.
25
+ </Translate>
26
+ </h1>
27
+ <p>{error.message}</p>
28
+ <div>
29
+ <button type="button" onClick={tryAgain}>
30
+ <Translate
31
+ id="theme.ErrorPageContent.tryAgain"
32
+ description="The label of the button to try again when the page crashed">
33
+ Try again
34
+ </Translate>
35
+ </button>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </main>
40
+ );
41
+ }
@@ -0,0 +1,20 @@
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/Footer/Copyright';
10
+
11
+ export default function FooterCopyright({copyright}: Props): JSX.Element {
12
+ return (
13
+ <div
14
+ className="footer__copyright"
15
+ // Developer provided the HTML, so assume it's safe.
16
+ // eslint-disable-next-line react/no-danger
17
+ dangerouslySetInnerHTML={{__html: copyright}}
18
+ />
19
+ );
20
+ }
@@ -0,0 +1,34 @@
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 type {Props} from '@theme/Footer/Layout';
11
+
12
+ export default function FooterLayout({
13
+ style,
14
+ links,
15
+ logo,
16
+ copyright,
17
+ }: Props): JSX.Element {
18
+ return (
19
+ <footer
20
+ className={clsx('footer', {
21
+ 'footer--dark': style === 'dark',
22
+ })}>
23
+ <div className="container container-fluid">
24
+ {links}
25
+ {(logo || copyright) && (
26
+ <div className="footer__bottom text--center">
27
+ {logo && <div className="margin-bottom--sm">{logo}</div>}
28
+ {copyright}
29
+ </div>
30
+ )}
31
+ </div>
32
+ </footer>
33
+ );
34
+ }
@@ -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
+
10
+ import Link from '@docusaurus/Link';
11
+ import useBaseUrl from '@docusaurus/useBaseUrl';
12
+ import isInternalUrl from '@docusaurus/isInternalUrl';
13
+ import IconExternalLink from '@theme/Icon/ExternalLink';
14
+ import type {Props} from '@theme/Footer/LinkItem';
15
+
16
+ export default function FooterLinkItem({item}: Props): JSX.Element {
17
+ const {to, href, label, prependBaseUrlToHref, ...props} = item;
18
+ const toUrl = useBaseUrl(to);
19
+ const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
20
+
21
+ return (
22
+ <Link
23
+ className="footer__link-item"
24
+ {...(href
25
+ ? {
26
+ href: prependBaseUrlToHref ? normalizedHref : href,
27
+ }
28
+ : {
29
+ to: toUrl,
30
+ })}
31
+ {...props}>
32
+ {label}
33
+ {href && !isInternalUrl(href) && <IconExternalLink />}
34
+ </Link>
35
+ );
36
+ }
@@ -0,0 +1,51 @@
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 LinkItem from '@theme/Footer/LinkItem';
10
+ import type {Props} from '@theme/Footer/Links/MultiColumn';
11
+
12
+ type ColumnType = Props['columns'][number];
13
+ type ColumnItemType = ColumnType['items'][number];
14
+
15
+ function ColumnLinkItem({item}: {item: ColumnItemType}) {
16
+ return item.html ? (
17
+ <li
18
+ className="footer__item"
19
+ // Developer provided the HTML, so assume it's safe.
20
+ // eslint-disable-next-line react/no-danger
21
+ dangerouslySetInnerHTML={{__html: item.html}}
22
+ />
23
+ ) : (
24
+ <li key={item.href ?? item.to} className="footer__item">
25
+ <LinkItem item={item} />
26
+ </li>
27
+ );
28
+ }
29
+
30
+ function Column({column}: {column: ColumnType}) {
31
+ return (
32
+ <div className="col footer__col">
33
+ <div className="footer__title">{column.title}</div>
34
+ <ul className="footer__items clean-list">
35
+ {column.items.map((item, i) => (
36
+ <ColumnLinkItem key={i} item={item} />
37
+ ))}
38
+ </ul>
39
+ </div>
40
+ );
41
+ }
42
+
43
+ export default function FooterLinksMultiColumn({columns}: Props): JSX.Element {
44
+ return (
45
+ <div className="row footer__links">
46
+ {columns.map((column, i) => (
47
+ <Column key={i} column={column} />
48
+ ))}
49
+ </div>
50
+ );
51
+ }
@@ -0,0 +1,42 @@
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 LinkItem from '@theme/Footer/LinkItem';
10
+ import type {Props} from '@theme/Footer/Links/Simple';
11
+
12
+ function Separator() {
13
+ return <span className="footer__link-separator">·</span>;
14
+ }
15
+
16
+ function SimpleLinkItem({item}: {item: Props['links'][number]}) {
17
+ return item.html ? (
18
+ <span
19
+ className="footer__link-item"
20
+ // Developer provided the HTML, so assume it's safe.
21
+ // eslint-disable-next-line react/no-danger
22
+ dangerouslySetInnerHTML={{__html: item.html}}
23
+ />
24
+ ) : (
25
+ <LinkItem item={item} />
26
+ );
27
+ }
28
+
29
+ export default function FooterLinksSimple({links}: Props): JSX.Element {
30
+ return (
31
+ <div className="footer__links text--center">
32
+ <div className="footer__links">
33
+ {links.map((item, i) => (
34
+ <React.Fragment key={i}>
35
+ <SimpleLinkItem item={item} />
36
+ {links.length !== i + 1 && <Separator />}
37
+ </React.Fragment>
38
+ ))}
39
+ </div>
40
+ </div>
41
+ );
42
+ }
@@ -0,0 +1,21 @@
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 {isMultiColumnFooterLinks} from '@docusaurus/theme-common';
11
+ import FooterLinksMultiColumn from '@theme/Footer/Links/MultiColumn';
12
+ import FooterLinksSimple from '@theme/Footer/Links/Simple';
13
+ import type {Props} from '@theme/Footer/Links';
14
+
15
+ export default function FooterLinks({links}: Props): JSX.Element {
16
+ return isMultiColumnFooterLinks(links) ? (
17
+ <FooterLinksMultiColumn columns={links} />
18
+ ) : (
19
+ <FooterLinksSimple links={links} />
20
+ );
21
+ }
@@ -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 Link from '@docusaurus/Link';
11
+ import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
12
+ import ThemedImage from '@theme/ThemedImage';
13
+ import type {Props} from '@theme/Footer/Logo';
14
+
15
+ import styles from './styles.module.css';
16
+
17
+ function LogoImage({logo}: Props) {
18
+ const {withBaseUrl} = useBaseUrlUtils();
19
+ const sources = {
20
+ light: withBaseUrl(logo.src),
21
+ dark: withBaseUrl(logo.srcDark ?? logo.src),
22
+ };
23
+ return (
24
+ <ThemedImage
25
+ className={clsx('footer__logo', logo.className)}
26
+ alt={logo.alt}
27
+ sources={sources}
28
+ width={logo.width}
29
+ height={logo.height}
30
+ style={logo.style}
31
+ />
32
+ );
33
+ }
34
+
35
+ export default function FooterLogo({logo}: Props): JSX.Element {
36
+ return logo.href ? (
37
+ <Link
38
+ href={logo.href}
39
+ className={styles.footerLogoLink}
40
+ target={logo.target}>
41
+ <LogoImage logo={logo} />
42
+ </Link>
43
+ ) : (
44
+ <LogoImage logo={logo} />
45
+ );
46
+ }