@docusaurus/theme-classic 2.0.0-beta.2 → 2.0.0-beta.22

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 (743) 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 +108 -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/prism-include-languages.d.ts +7 -0
  10. package/lib/prism-include-languages.js +0 -2
  11. package/lib/theme/Admonition/index.d.ts +9 -0
  12. package/lib/theme/Admonition/index.js +183 -0
  13. package/lib/theme/Admonition/styles.module.css +38 -0
  14. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  15. package/lib/theme/AnnouncementBar/index.js +39 -63
  16. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  17. package/lib/theme/BackToTopButton/index.d.ts +8 -0
  18. package/lib/theme/BackToTopButton/index.js +32 -0
  19. package/lib/theme/BackToTopButton/styles.module.css +44 -0
  20. package/lib/theme/BlogArchivePage/index.d.ts +10 -0
  21. package/lib/theme/BlogArchivePage/index.js +80 -0
  22. package/lib/theme/BlogLayout/index.d.ts +9 -0
  23. package/lib/theme/BlogLayout/index.js +33 -0
  24. package/lib/theme/BlogListPage/index.d.ts +10 -0
  25. package/lib/theme/BlogListPage/index.js +44 -61
  26. package/lib/theme/BlogListPaginator/index.d.ts +9 -0
  27. package/lib/theme/BlogListPaginator/index.js +41 -56
  28. package/lib/theme/BlogPostItem/Container/index.d.ts +9 -0
  29. package/lib/theme/BlogPostItem/Container/index.js +26 -0
  30. package/{lib-next/theme/Heading/styles.module.css → lib/theme/BlogPostItem/Content/index.d.ts} +3 -9
  31. package/lib/theme/BlogPostItem/Content/index.js +23 -0
  32. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +9 -0
  33. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js +38 -0
  34. package/lib/theme/BlogPostItem/Footer/index.d.ts +8 -0
  35. package/lib/theme/BlogPostItem/Footer/index.js +52 -0
  36. package/{src/theme/IconEdit → lib/theme/BlogPostItem/Footer}/styles.module.css +2 -3
  37. package/lib/theme/BlogPostItem/Header/Author/index.d.ts +9 -0
  38. package/lib/theme/BlogPostItem/Header/Author/index.js +47 -0
  39. package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +9 -0
  40. package/lib/theme/BlogPostItem/Header/Authors/index.js +48 -0
  41. package/{lib-next/theme/Toggle → lib/theme/BlogPostItem/Header/Authors}/styles.module.css +11 -7
  42. package/lib/theme/BlogPostItem/Header/Info/index.d.ts +9 -0
  43. package/lib/theme/BlogPostItem/Header/Info/index.js +60 -0
  44. package/{lib-next/theme/MDXPage → lib/theme/BlogPostItem/Header/Info}/styles.module.css +2 -2
  45. package/lib/theme/BlogPostItem/Header/Title/index.d.ts +9 -0
  46. package/lib/theme/BlogPostItem/Header/Title/index.js +27 -0
  47. package/{src/theme/BlogPostItem → lib/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  48. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  49. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  50. package/lib/theme/BlogPostItem/index.d.ts +9 -0
  51. package/lib/theme/BlogPostItem/index.js +20 -153
  52. package/lib/theme/BlogPostItems/index.d.ts +9 -0
  53. package/lib/theme/BlogPostItems/index.js +27 -0
  54. package/lib/theme/BlogPostPage/Metadata/index.d.ts +8 -0
  55. package/lib/theme/BlogPostPage/Metadata/index.js +41 -0
  56. package/lib/theme/BlogPostPage/index.d.ts +10 -0
  57. package/lib/theme/BlogPostPage/index.js +51 -60
  58. package/lib/theme/BlogPostPaginator/index.d.ts +9 -0
  59. package/lib/theme/BlogPostPaginator/index.js +40 -57
  60. package/lib/theme/BlogSidebar/Desktop/index.d.ts +9 -0
  61. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/index.js +19 -23
  62. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  63. package/lib/theme/BlogSidebar/Mobile/index.d.ts +9 -0
  64. package/lib/theme/BlogSidebar/Mobile/index.js +34 -0
  65. package/lib/theme/BlogSidebar/index.d.ts +9 -0
  66. package/lib/theme/BlogSidebar/index.js +13 -43
  67. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  68. package/lib/theme/BlogTagsListPage/index.js +27 -69
  69. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  70. package/lib/theme/BlogTagsPostsPage/index.js +78 -89
  71. package/lib/theme/CodeBlock/Container/index.d.ts +10 -0
  72. package/lib/theme/CodeBlock/Container/index.js +27 -0
  73. package/lib/theme/CodeBlock/Container/styles.module.css +14 -0
  74. package/lib/theme/CodeBlock/Content/Element.d.ts +9 -0
  75. package/lib/theme/CodeBlock/Content/Element.js +23 -0
  76. package/lib/theme/CodeBlock/Content/String.d.ts +9 -0
  77. package/lib/theme/CodeBlock/Content/String.js +103 -0
  78. package/{lib-next/theme/CodeBlock → lib/theme/CodeBlock/Content}/styles.module.css +45 -27
  79. package/lib/theme/CodeBlock/CopyButton/index.d.ts +9 -0
  80. package/lib/theme/CodeBlock/CopyButton/index.js +62 -0
  81. package/lib/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  82. package/lib/theme/CodeBlock/Line/index.d.ts +9 -0
  83. package/lib/theme/CodeBlock/Line/index.js +42 -0
  84. package/lib/theme/CodeBlock/Line/styles.module.css +51 -0
  85. package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +9 -0
  86. package/lib/theme/CodeBlock/WordWrapButton/index.js +40 -0
  87. package/lib/theme/{BlogPostItem → CodeBlock/WordWrapButton}/styles.module.css +5 -8
  88. package/lib/theme/CodeBlock/index.d.ts +9 -0
  89. package/lib/theme/CodeBlock/index.js +31 -246
  90. package/lib/theme/ColorModeToggle/index.d.ts +11 -0
  91. package/lib/theme/ColorModeToggle/index.js +60 -0
  92. package/lib/theme/ColorModeToggle/styles.module.css +35 -0
  93. package/lib/theme/Details/index.d.ts +9 -0
  94. package/lib/theme/Details/index.js +21 -0
  95. package/lib/theme/Details/styles.module.css +13 -0
  96. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  97. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  98. package/{lib-next/theme/Heading/styles.css → lib/theme/DocBreadcrumbs/styles.module.css} +9 -13
  99. package/lib/theme/DocCard/index.d.ts +9 -0
  100. package/lib/theme/DocCard/index.js +86 -0
  101. package/lib/theme/DocCard/styles.module.css +34 -0
  102. package/lib/theme/DocCardList/index.d.ts +9 -0
  103. package/lib/theme/DocCardList/index.js +30 -0
  104. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  105. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +74 -0
  106. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  107. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  108. package/lib/theme/DocItem/Content/index.js +44 -0
  109. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  110. package/lib/theme/DocItem/Footer/index.js +74 -0
  111. package/lib/theme/DocItem/{styles.module.css → Footer/styles.module.css} +1 -9
  112. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  113. package/lib/theme/DocItem/Layout/index.js +59 -0
  114. package/{src/theme/DocItem → lib/theme/DocItem/Layout}/styles.module.css +3 -12
  115. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  116. package/lib/theme/DocItem/Metadata/index.js +20 -0
  117. package/lib/theme/DocItem/Paginator/index.d.ts +12 -0
  118. package/lib/theme/DocItem/Paginator/index.js +17 -0
  119. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  120. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  121. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  122. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  123. package/lib/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  124. package/lib/theme/DocItem/index.d.ts +10 -0
  125. package/lib/theme/DocItem/index.js +18 -122
  126. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  127. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  128. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  129. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  130. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  131. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  132. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  133. package/lib/theme/DocPage/Layout/Sidebar/index.js +66 -0
  134. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  135. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  136. package/lib/theme/DocPage/Layout/index.js +34 -0
  137. package/{lib-next/theme/IconExternalLink → lib/theme/DocPage/Layout}/styles.module.css +7 -4
  138. package/lib/theme/DocPage/index.d.ts +10 -0
  139. package/lib/theme/DocPage/index.js +42 -165
  140. package/lib/theme/DocPaginator/index.d.ts +9 -0
  141. package/lib/theme/DocPaginator/index.js +40 -56
  142. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  143. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  144. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  145. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  146. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  147. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  148. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  149. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  150. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  151. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  152. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  153. package/lib/theme/DocSidebar/index.d.ts +9 -0
  154. package/lib/theme/DocSidebar/index.js +17 -299
  155. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  156. package/lib/theme/DocSidebarItem/Category/index.js +185 -0
  157. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  158. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  159. package/lib/theme/DocSidebarItem/Html/styles.module.css +13 -0
  160. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  161. package/lib/theme/DocSidebarItem/Link/index.js +54 -0
  162. package/lib/theme/DocSidebarItem/Link/styles.module.css +10 -0
  163. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  164. package/lib/theme/DocSidebarItem/index.js +21 -0
  165. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  166. package/lib/theme/DocSidebarItems/index.js +22 -0
  167. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  168. package/lib/theme/DocTagDocListPage/index.js +89 -0
  169. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  170. package/lib/theme/DocTagsListPage/index.js +40 -0
  171. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  172. package/lib/theme/DocVersionBadge/index.js +31 -0
  173. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  174. package/lib/theme/DocVersionBanner/index.js +105 -102
  175. package/lib/theme/EditThisPage/index.d.ts +9 -0
  176. package/lib/theme/EditThisPage/index.js +19 -24
  177. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  178. package/lib/theme/ErrorPageContent.js +35 -0
  179. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  180. package/lib/theme/Footer/Copyright/index.js +17 -0
  181. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  182. package/lib/theme/Footer/Layout/index.js +26 -0
  183. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  184. package/lib/theme/Footer/LinkItem/index.js +31 -0
  185. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  186. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  187. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  188. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  189. package/lib/theme/Footer/Links/index.d.ts +9 -0
  190. package/lib/theme/Footer/Links/index.js +17 -0
  191. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  192. package/lib/theme/Footer/Logo/index.js +41 -0
  193. package/{src/theme/Footer → lib/theme/Footer/Logo}/styles.module.css +2 -1
  194. package/{lib-next/theme/Footer/styles.module.css → lib/theme/Footer/index.d.ts} +4 -9
  195. package/lib/theme/Footer/index.js +17 -97
  196. package/lib/theme/Heading/index.d.ts +9 -0
  197. package/lib/theme/Heading/index.js +35 -68
  198. package/lib/theme/Heading/styles.module.css +25 -5
  199. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  200. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +2 -5
  201. package/lib/theme/Icon/Close/index.d.ts +9 -0
  202. package/lib/theme/Icon/Close/index.js +23 -0
  203. package/lib/theme/Icon/DarkMode/index.d.ts +9 -0
  204. package/lib/theme/Icon/DarkMode/index.js +17 -0
  205. package/lib/theme/Icon/Edit/index.d.ts +9 -0
  206. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/index.js +2 -5
  207. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/styles.module.css +0 -0
  208. package/lib/theme/Icon/ExternalLink/index.d.ts +9 -0
  209. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/index.js +2 -5
  210. package/lib/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -2
  211. package/lib/theme/Icon/Home/index.d.ts +9 -0
  212. package/lib/theme/Icon/Home/index.js +17 -0
  213. package/lib/theme/Icon/Language/index.d.ts +9 -0
  214. package/lib/theme/Icon/Language/index.js +22 -0
  215. package/lib/theme/Icon/LightMode/index.d.ts +9 -0
  216. package/lib/theme/Icon/LightMode/index.js +17 -0
  217. package/lib/theme/Icon/Menu/index.d.ts +9 -0
  218. package/{lib-next/theme/IconMenu → lib/theme/Icon/Menu}/index.js +7 -5
  219. package/lib/theme/LastUpdated/index.d.ts +9 -0
  220. package/lib/theme/LastUpdated/index.js +57 -42
  221. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  222. package/lib/theme/Layout/Provider/index.js +29 -0
  223. package/lib/theme/Layout/index.d.ts +9 -0
  224. package/lib/theme/Layout/index.js +39 -50
  225. package/lib/theme/Layout/{styles.css → styles.module.css} +10 -12
  226. package/lib/theme/Logo/index.d.ts +9 -0
  227. package/lib/theme/Logo/index.js +57 -51
  228. package/lib/theme/MDXComponents/A.d.ts +9 -0
  229. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  230. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  231. package/lib/theme/MDXComponents/Code.js +28 -0
  232. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  233. package/lib/theme/MDXComponents/Details.js +22 -0
  234. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  235. package/lib/theme/MDXComponents/Head.js +23 -0
  236. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  237. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  238. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  239. package/lib/theme/MDXComponents/Img/index.js +22 -0
  240. package/lib/theme/MDXComponents/Img/styles.module.css +10 -0
  241. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  242. package/lib/theme/MDXComponents/Pre.js +19 -0
  243. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  244. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  245. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  246. package/lib/theme/MDXComponents/index.d.ts +9 -0
  247. package/lib/theme/MDXComponents/index.js +25 -57
  248. package/lib/theme/MDXContent/index.d.ts +9 -0
  249. package/lib/theme/MDXContent/index.js +12 -0
  250. package/lib/theme/MDXPage/index.d.ts +10 -0
  251. package/lib/theme/MDXPage/index.js +46 -56
  252. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  253. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  254. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  255. package/lib/theme/Navbar/Content/index.js +71 -0
  256. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  257. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  258. package/lib/theme/Navbar/Layout/index.js +52 -0
  259. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -6
  260. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  261. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  262. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  263. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  264. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  265. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  266. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  267. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  268. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  269. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  270. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  271. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  272. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  273. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  274. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  275. package/lib/theme/Navbar/Search/index.js +12 -0
  276. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  277. package/{lib-next/theme/hooks/styles.css → lib/theme/Navbar/index.d.ts} +2 -4
  278. package/lib/theme/Navbar/index.js +9 -140
  279. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  280. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  281. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  282. package/lib/theme/NavbarItem/DefaultNavbarItem.js +36 -193
  283. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  284. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -52
  285. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  286. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  287. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  288. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +73 -62
  289. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  290. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  291. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  292. package/lib/theme/NavbarItem/DropdownNavbarItem.js +161 -0
  293. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  294. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  295. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  296. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +68 -0
  297. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  298. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  299. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  300. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  301. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  302. package/lib/theme/NavbarItem/index.d.ts +9 -0
  303. package/lib/theme/NavbarItem/index.js +15 -45
  304. package/lib/theme/NotFound.d.ts +8 -0
  305. package/lib/theme/NotFound.js +44 -49
  306. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  307. package/lib/theme/PaginatorNavLink/index.js +23 -0
  308. package/lib/theme/SearchBar.d.ts +7 -0
  309. package/lib/theme/SearchBar.js +11 -15
  310. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  311. package/lib/theme/SearchMetadata/index.js +34 -0
  312. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  313. package/lib/theme/SiteMetadata/index.js +116 -0
  314. package/lib/theme/SkipToContent/index.d.ts +8 -0
  315. package/lib/theme/SkipToContent/index.js +16 -54
  316. package/lib/theme/SkipToContent/styles.module.css +7 -0
  317. package/lib/theme/TOC/index.d.ts +9 -0
  318. package/lib/theme/TOC/index.js +18 -52
  319. package/lib/theme/TOC/styles.module.css +1 -1
  320. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  321. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  322. package/lib/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  323. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  324. package/lib/theme/TOCCollapsible/index.js +42 -0
  325. package/lib/theme/TOCCollapsible/styles.module.css +31 -0
  326. package/lib/theme/TOCInline/index.d.ts +9 -0
  327. package/lib/theme/TOCInline/index.js +15 -46
  328. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  329. package/lib/theme/TOCItems/Tree.js +37 -0
  330. package/lib/theme/TOCItems/index.d.ts +9 -0
  331. package/lib/theme/TOCItems/index.js +53 -0
  332. package/lib/theme/TabItem/index.d.ts +9 -0
  333. package/lib/theme/TabItem/index.js +11 -24
  334. package/lib/theme/TabItem/styles.module.css +10 -0
  335. package/lib/theme/Tabs/index.d.ts +9 -0
  336. package/lib/theme/Tabs/index.js +159 -123
  337. package/lib/theme/Tabs/styles.module.css +4 -13
  338. package/lib/theme/Tag/index.d.ts +9 -0
  339. package/lib/theme/Tag/index.js +23 -0
  340. package/lib/theme/Tag/styles.module.css +70 -0
  341. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  342. package/lib/theme/TagsListByLetter/index.js +38 -0
  343. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  344. package/lib/theme/TagsListInline/index.d.ts +9 -0
  345. package/lib/theme/TagsListInline/index.js +31 -0
  346. package/lib/theme/TagsListInline/styles.module.css +15 -0
  347. package/lib/theme/ThemedImage/index.d.ts +9 -0
  348. package/lib/theme/ThemedImage/index.js +33 -43
  349. package/lib/theme/ThemedImage/styles.module.css +2 -2
  350. package/lib/theme/prism-include-languages.d.ts +8 -0
  351. package/lib/theme/prism-include-languages.js +19 -33
  352. package/lib/translations.d.ts +15 -0
  353. package/lib/translations.js +122 -122
  354. package/lib/validateThemeConfig.d.ts +12 -0
  355. package/lib/validateThemeConfig.js +362 -284
  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 +57 -76
  360. package/src/nprogress.css +41 -0
  361. package/src/nprogress.ts +31 -0
  362. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  363. package/src/theme/Admonition/index.tsx +209 -0
  364. package/src/theme/Admonition/styles.module.css +38 -0
  365. package/src/theme/AnnouncementBar/index.tsx +11 -16
  366. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  367. package/src/theme/BackToTopButton/index.tsx +35 -0
  368. package/src/theme/BackToTopButton/styles.module.css +44 -0
  369. package/src/theme/BlogArchivePage/index.tsx +92 -0
  370. package/src/theme/BlogLayout/index.tsx +38 -0
  371. package/src/theme/BlogListPage/index.tsx +37 -36
  372. package/src/theme/BlogListPaginator/index.tsx +27 -32
  373. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  374. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  375. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  376. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  377. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  378. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  379. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  380. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  381. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  382. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  383. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  384. package/{lib-next/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  385. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  386. package/src/theme/BlogPostItem/index.tsx +19 -151
  387. package/src/theme/BlogPostItems/index.tsx +30 -0
  388. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  389. package/src/theme/BlogPostPage/index.tsx +55 -42
  390. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  391. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  392. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +5 -4
  393. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  394. package/src/theme/BlogSidebar/index.tsx +10 -33
  395. package/src/theme/BlogTagsListPage/index.tsx +24 -67
  396. package/src/theme/BlogTagsPostsPage/index.tsx +58 -50
  397. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  398. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  399. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  400. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  401. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +45 -27
  402. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  403. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  404. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  405. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  406. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  407. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  408. package/src/theme/CodeBlock/index.tsx +29 -253
  409. package/src/theme/ColorModeToggle/index.tsx +67 -0
  410. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  411. package/src/theme/Details/index.tsx +26 -0
  412. package/src/theme/Details/styles.module.css +13 -0
  413. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  414. package/src/theme/DocBreadcrumbs/styles.module.css +19 -0
  415. package/src/theme/DocCard/index.tsx +120 -0
  416. package/src/theme/DocCard/styles.module.css +34 -0
  417. package/src/theme/DocCardList/index.tsx +35 -0
  418. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
  419. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  420. package/src/theme/DocItem/Content/index.tsx +48 -0
  421. package/src/theme/DocItem/Footer/index.tsx +89 -0
  422. package/{lib-next/theme/DocItem → src/theme/DocItem/Footer}/styles.module.css +1 -9
  423. package/src/theme/DocItem/Layout/index.tsx +68 -0
  424. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  425. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  426. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  427. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  428. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  429. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  430. package/src/theme/DocItem/index.tsx +15 -102
  431. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  432. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  433. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  434. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  435. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  436. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  437. package/src/theme/DocPage/Layout/index.tsx +38 -0
  438. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  439. package/src/theme/DocPage/index.tsx +38 -167
  440. package/src/theme/DocPaginator/index.tsx +28 -40
  441. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  442. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  443. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  444. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  445. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  446. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  447. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  448. package/src/theme/DocSidebar/index.tsx +14 -350
  449. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  450. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  451. package/src/theme/DocSidebarItem/Html/styles.module.css +13 -0
  452. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  453. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  454. package/src/theme/DocSidebarItem/index.tsx +27 -0
  455. package/src/theme/DocSidebarItems/index.tsx +27 -0
  456. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  457. package/src/theme/DocTagsListPage/index.tsx +43 -0
  458. package/src/theme/DocVersionBadge/index.tsx +36 -0
  459. package/src/theme/DocVersionBanner/index.tsx +53 -28
  460. package/src/theme/EditThisPage/index.tsx +7 -3
  461. package/src/theme/ErrorPageContent.tsx +41 -0
  462. package/src/theme/Footer/Copyright/index.tsx +20 -0
  463. package/src/theme/Footer/Layout/index.tsx +34 -0
  464. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  465. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  466. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  467. package/src/theme/Footer/Links/index.tsx +21 -0
  468. package/src/theme/Footer/Logo/index.tsx +46 -0
  469. package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  470. package/src/theme/Footer/index.tsx +13 -113
  471. package/src/theme/Heading/index.tsx +31 -58
  472. package/src/theme/Heading/styles.module.css +25 -5
  473. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +3 -5
  474. package/src/theme/Icon/Close/index.tsx +26 -0
  475. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  476. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +6 -6
  477. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  478. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +4 -6
  479. package/src/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -2
  480. package/src/theme/Icon/Home/index.tsx +20 -0
  481. package/src/theme/Icon/Language/index.tsx +29 -0
  482. package/src/theme/Icon/LightMode/index.tsx +20 -0
  483. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +4 -6
  484. package/src/theme/LastUpdated/index.tsx +4 -2
  485. package/src/theme/Layout/Provider/index.tsx +33 -0
  486. package/src/theme/Layout/index.tsx +23 -15
  487. package/{lib-next/theme/Layout/styles.css → src/theme/Layout/styles.module.css} +10 -12
  488. package/src/theme/Logo/index.tsx +57 -26
  489. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  490. package/src/theme/MDXComponents/Code.tsx +40 -0
  491. package/src/theme/MDXComponents/Details.tsx +28 -0
  492. package/src/theme/MDXComponents/Head.tsx +29 -0
  493. package/src/theme/MDXComponents/Heading.tsx +14 -0
  494. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  495. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  496. package/src/theme/MDXComponents/Pre.tsx +23 -0
  497. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  498. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  499. package/src/theme/MDXComponents/index.tsx +25 -42
  500. package/src/theme/MDXContent/index.tsx +15 -0
  501. package/src/theme/MDXPage/index.tsx +40 -35
  502. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  503. package/src/theme/Navbar/Content/index.tsx +86 -0
  504. package/src/theme/Navbar/Content/styles.module.css +15 -0
  505. package/src/theme/Navbar/Layout/index.tsx +57 -0
  506. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -6
  507. package/src/theme/Navbar/Logo/index.tsx +19 -0
  508. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  509. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  510. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  511. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  512. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  513. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  514. package/src/theme/Navbar/Search/index.tsx +19 -0
  515. package/src/theme/Navbar/Search/styles.module.css +20 -0
  516. package/src/theme/Navbar/index.tsx +7 -147
  517. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  518. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +36 -208
  519. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -41
  520. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  521. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +57 -52
  522. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  523. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +190 -0
  524. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  525. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  526. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  527. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  528. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  529. package/src/theme/NavbarItem/index.tsx +15 -32
  530. package/src/theme/NotFound.tsx +40 -37
  531. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  532. package/src/theme/SearchBar.tsx +2 -1
  533. package/src/theme/SearchMetadata/index.tsx +43 -0
  534. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -45
  535. package/src/theme/SkipToContent/index.tsx +7 -32
  536. package/src/theme/SkipToContent/styles.module.css +7 -0
  537. package/src/theme/TOC/index.tsx +14 -44
  538. package/src/theme/TOC/styles.module.css +1 -1
  539. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  540. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  541. package/src/theme/TOCCollapsible/index.tsx +46 -0
  542. package/src/theme/TOCCollapsible/styles.module.css +31 -0
  543. package/src/theme/TOCInline/index.tsx +15 -35
  544. package/src/theme/TOCItems/Tree.tsx +46 -0
  545. package/src/theme/TOCItems/index.tsx +61 -0
  546. package/src/theme/TabItem/index.tsx +12 -4
  547. package/src/theme/TabItem/styles.module.css +10 -0
  548. package/src/theme/Tabs/index.tsx +121 -62
  549. package/src/theme/Tabs/styles.module.css +4 -13
  550. package/src/theme/Tag/index.tsx +27 -0
  551. package/src/theme/Tag/styles.module.css +70 -0
  552. package/src/theme/TagsListByLetter/index.tsx +43 -0
  553. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  554. package/src/theme/TagsListInline/index.tsx +35 -0
  555. package/src/theme/TagsListInline/styles.module.css +15 -0
  556. package/src/theme/ThemedImage/index.tsx +10 -12
  557. package/src/theme/ThemedImage/styles.module.css +2 -2
  558. package/src/theme/prism-include-languages.ts +20 -15
  559. package/src/theme-classic.d.ts +1364 -0
  560. package/src/translations.ts +85 -60
  561. package/src/validateThemeConfig.ts +444 -0
  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 -86
  591. package/lib/theme/DocSidebar/styles.module.css +0 -124
  592. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  593. package/lib/theme/Heading/styles.css +0 -23
  594. package/lib/theme/IconArrow/index.js +0 -28
  595. package/lib/theme/IconEdit/index.js +0 -34
  596. package/lib/theme/IconExternalLink/index.js +0 -30
  597. package/lib/theme/IconLanguage/index.js +0 -29
  598. package/lib/theme/IconMenu/index.js +0 -30
  599. package/lib/theme/LayoutHead/index.js +0 -144
  600. package/lib/theme/LayoutProviders/index.js +0 -36
  601. package/lib/theme/Navbar/styles.module.css +0 -20
  602. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  603. package/lib/theme/SearchMetadatas/index.js +0 -33
  604. package/lib/theme/Seo/index.js +0 -49
  605. package/lib/theme/ThemeContext.js +0 -21
  606. package/lib/theme/ThemeProvider/index.js +0 -38
  607. package/lib/theme/Toggle/index.js +0 -94
  608. package/lib/theme/Toggle/styles.css +0 -103
  609. package/lib/theme/Toggle/styles.module.css +0 -17
  610. package/lib/theme/UserPreferencesContext.js +0 -18
  611. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  612. package/lib/theme/hooks/styles.css +0 -10
  613. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  614. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  615. package/lib/theme/hooks/useDocs.js +0 -18
  616. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  617. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  618. package/lib/theme/hooks/useLocationHash.js +0 -28
  619. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  620. package/lib/theme/hooks/usePrismTheme.js +0 -36
  621. package/lib/theme/hooks/useScrollPosition.js +0 -49
  622. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  623. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  624. package/lib/theme/hooks/useTheme.js +0 -99
  625. package/lib/theme/hooks/useThemeContext.js +0 -31
  626. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  627. package/lib/theme/hooks/useWindowSize.js +0 -55
  628. package/lib/types.d.ts +0 -598
  629. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  630. package/lib-next/__tests__/translations.test.js +0 -128
  631. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  632. package/lib-next/index.js +0 -221
  633. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  634. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  635. package/lib-next/theme/BlogListPage/index.js +0 -56
  636. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  637. package/lib-next/theme/BlogPostItem/index.js +0 -168
  638. package/lib-next/theme/BlogPostPage/index.js +0 -55
  639. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  640. package/lib-next/theme/BlogTagsListPage/index.js +0 -75
  641. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -92
  642. package/lib-next/theme/CodeBlock/index.js +0 -268
  643. package/lib-next/theme/DocItem/index.js +0 -117
  644. package/lib-next/theme/DocPage/index.js +0 -173
  645. package/lib-next/theme/DocPage/styles.module.css +0 -86
  646. package/lib-next/theme/DocPaginator/index.js +0 -59
  647. package/lib-next/theme/DocSidebar/index.js +0 -351
  648. package/lib-next/theme/DocSidebar/styles.module.css +0 -124
  649. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  650. package/lib-next/theme/DocVersionSuggestions/index.js +0 -126
  651. package/lib-next/theme/EditThisPage/index.js +0 -21
  652. package/lib-next/theme/Footer/index.js +0 -120
  653. package/lib-next/theme/Heading/index.js +0 -67
  654. package/lib-next/theme/IconLanguage/index.js +0 -25
  655. package/lib-next/theme/LastUpdated/index.js +0 -77
  656. package/lib-next/theme/Layout/index.js +0 -46
  657. package/lib-next/theme/LayoutHead/index.js +0 -137
  658. package/lib-next/theme/LayoutProviders/index.js +0 -26
  659. package/lib-next/theme/Logo/index.js +0 -54
  660. package/lib-next/theme/MDXComponents/index.js +0 -51
  661. package/lib-next/theme/MDXPage/index.js +0 -51
  662. package/lib-next/theme/Navbar/index.js +0 -146
  663. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -227
  664. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -57
  665. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  666. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  667. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  668. package/lib-next/theme/NavbarItem/index.js +0 -41
  669. package/lib-next/theme/NotFound.js +0 -50
  670. package/lib-next/theme/SearchBar.js +0 -11
  671. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  672. package/lib-next/theme/Seo/index.js +0 -36
  673. package/lib-next/theme/SkipToContent/index.js +0 -50
  674. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  675. package/lib-next/theme/TOC/index.js +0 -52
  676. package/lib-next/theme/TOC/styles.module.css +0 -23
  677. package/lib-next/theme/TOCInline/index.js +0 -43
  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 -41
  682. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  683. package/lib-next/theme/Toggle/index.js +0 -80
  684. package/lib-next/theme/Toggle/styles.css +0 -103
  685. package/lib-next/theme/UserPreferencesContext.js +0 -9
  686. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  687. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  688. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  689. package/lib-next/theme/hooks/useDocs.js +0 -10
  690. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  691. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  692. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  693. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  694. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  695. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  696. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  697. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  698. package/lib-next/theme/hooks/useTheme.js +0 -82
  699. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  700. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  701. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  702. package/lib-next/theme/prism-include-languages.js +0 -23
  703. package/lib-next/translations.js +0 -145
  704. package/lib-next/types.d.ts +0 -598
  705. package/lib-next/validateThemeConfig.js +0 -317
  706. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  707. package/src/__tests__/translations.test.ts +0 -116
  708. package/src/__tests__/validateThemeConfig.test.js +0 -333
  709. package/src/prism-include-languages.js +0 -11
  710. package/src/theme/DocPage/styles.module.css +0 -86
  711. package/src/theme/DocSidebar/styles.module.css +0 -124
  712. package/src/theme/Heading/styles.css +0 -23
  713. package/src/theme/IconLanguage/index.tsx +0 -31
  714. package/src/theme/Layout/styles.css +0 -27
  715. package/src/theme/LayoutProviders/index.tsx +0 -29
  716. package/src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx +0 -67
  717. package/src/theme/SearchMetadatas/index.tsx +0 -28
  718. package/src/theme/Seo/index.tsx +0 -46
  719. package/src/theme/ThemeProvider/index.tsx +0 -24
  720. package/src/theme/Toggle/index.tsx +0 -100
  721. package/src/theme/Toggle/styles.css +0 -103
  722. package/src/theme/Toggle/styles.module.css +0 -17
  723. package/src/theme/UserPreferencesContext.ts +0 -12
  724. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  725. package/src/theme/hooks/styles.css +0 -10
  726. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  727. package/src/theme/hooks/useDocs.ts +0 -11
  728. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  729. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  730. package/src/theme/hooks/useLocationHash.ts +0 -25
  731. package/src/theme/hooks/usePrismTheme.ts +0 -22
  732. package/src/theme/hooks/useScrollPosition.ts +0 -45
  733. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  734. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  735. package/src/theme/hooks/useTheme.ts +0 -92
  736. package/src/theme/hooks/useThemeContext.ts +0 -23
  737. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  738. package/src/theme/hooks/useWindowSize.ts +0 -51
  739. package/src/types.d.ts +0 -598
  740. package/src/validateThemeConfig.js +0 -317
  741. package/tsconfig.json +0 -12
  742. package/update-code-translations.js +0 -240
  743. package/update-code-translations.test.js +0 -33
@@ -0,0 +1,209 @@
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, {type ReactNode} from 'react';
9
+ import clsx from 'clsx';
10
+ import {ThemeClassNames} from '@docusaurus/theme-common';
11
+ import Translate from '@docusaurus/Translate';
12
+ import type {Props} from '@theme/Admonition';
13
+
14
+ import styles from './styles.module.css';
15
+
16
+ function NoteIcon() {
17
+ return (
18
+ <svg viewBox="0 0 14 16">
19
+ <path
20
+ fillRule="evenodd"
21
+ d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
22
+ />
23
+ </svg>
24
+ );
25
+ }
26
+
27
+ function TipIcon() {
28
+ return (
29
+ <svg viewBox="0 0 12 16">
30
+ <path
31
+ fillRule="evenodd"
32
+ d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
33
+ />
34
+ </svg>
35
+ );
36
+ }
37
+
38
+ function DangerIcon() {
39
+ return (
40
+ <svg viewBox="0 0 12 16">
41
+ <path
42
+ fillRule="evenodd"
43
+ d="M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"
44
+ />
45
+ </svg>
46
+ );
47
+ }
48
+
49
+ function InfoIcon() {
50
+ return (
51
+ <svg viewBox="0 0 14 16">
52
+ <path
53
+ fillRule="evenodd"
54
+ d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
55
+ />
56
+ </svg>
57
+ );
58
+ }
59
+
60
+ function CautionIcon() {
61
+ return (
62
+ <svg viewBox="0 0 16 16">
63
+ <path
64
+ fillRule="evenodd"
65
+ d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
66
+ />
67
+ </svg>
68
+ );
69
+ }
70
+
71
+ type AdmonitionConfig = {
72
+ iconComponent: React.ComponentType;
73
+ infimaClassName: string;
74
+ label: ReactNode;
75
+ };
76
+
77
+ // eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
78
+ const AdmonitionConfigs: Record<Props['type'], AdmonitionConfig> = {
79
+ note: {
80
+ infimaClassName: 'secondary',
81
+ iconComponent: NoteIcon,
82
+ label: (
83
+ <Translate
84
+ id="theme.admonition.note"
85
+ description="The default label used for the Note admonition (:::note)">
86
+ note
87
+ </Translate>
88
+ ),
89
+ },
90
+ tip: {
91
+ infimaClassName: 'success',
92
+ iconComponent: TipIcon,
93
+ label: (
94
+ <Translate
95
+ id="theme.admonition.tip"
96
+ description="The default label used for the Tip admonition (:::tip)">
97
+ tip
98
+ </Translate>
99
+ ),
100
+ },
101
+ danger: {
102
+ infimaClassName: 'danger',
103
+ iconComponent: DangerIcon,
104
+ label: (
105
+ <Translate
106
+ id="theme.admonition.danger"
107
+ description="The default label used for the Danger admonition (:::danger)">
108
+ danger
109
+ </Translate>
110
+ ),
111
+ },
112
+ info: {
113
+ infimaClassName: 'info',
114
+ iconComponent: InfoIcon,
115
+ label: (
116
+ <Translate
117
+ id="theme.admonition.info"
118
+ description="The default label used for the Info admonition (:::info)">
119
+ info
120
+ </Translate>
121
+ ),
122
+ },
123
+ caution: {
124
+ infimaClassName: 'warning',
125
+ iconComponent: CautionIcon,
126
+ label: (
127
+ <Translate
128
+ id="theme.admonition.caution"
129
+ description="The default label used for the Caution admonition (:::caution)">
130
+ caution
131
+ </Translate>
132
+ ),
133
+ },
134
+ };
135
+
136
+ // Legacy aliases, undocumented but kept for retro-compatibility
137
+ const aliases = {
138
+ secondary: 'note',
139
+ important: 'info',
140
+ success: 'tip',
141
+ warning: 'danger',
142
+ } as const;
143
+
144
+ function getAdmonitionConfig(unsafeType: string): AdmonitionConfig {
145
+ const type =
146
+ (aliases as {[key: string]: Props['type']})[unsafeType] ?? unsafeType;
147
+ const config = (AdmonitionConfigs as {[key: string]: AdmonitionConfig})[type];
148
+ if (config) {
149
+ return config;
150
+ }
151
+ console.warn(
152
+ `No admonition config found for admonition type "${type}". Using Info as fallback.`,
153
+ );
154
+ return AdmonitionConfigs.info;
155
+ }
156
+
157
+ // Workaround because it's difficult in MDX v1 to provide a MDX title as props
158
+ // See https://github.com/facebook/docusaurus/pull/7152#issuecomment-1145779682
159
+ function extractMDXAdmonitionTitle(children: ReactNode): {
160
+ mdxAdmonitionTitle: ReactNode | undefined;
161
+ rest: ReactNode;
162
+ } {
163
+ const items = React.Children.toArray(children);
164
+ const mdxAdmonitionTitle = items.find(
165
+ (item) =>
166
+ React.isValidElement(item) &&
167
+ (item.props as {mdxType: string} | null)?.mdxType ===
168
+ 'mdxAdmonitionTitle',
169
+ );
170
+ const rest = <>{items.filter((item) => item !== mdxAdmonitionTitle)}</>;
171
+ return {
172
+ mdxAdmonitionTitle,
173
+ rest,
174
+ };
175
+ }
176
+
177
+ function processAdmonitionProps(props: Props): Props {
178
+ const {mdxAdmonitionTitle, rest} = extractMDXAdmonitionTitle(props.children);
179
+ return {
180
+ ...props,
181
+ title: props.title ?? mdxAdmonitionTitle,
182
+ children: rest,
183
+ };
184
+ }
185
+
186
+ export default function Admonition(props: Props): JSX.Element {
187
+ const {children, type, title, icon: iconProp} = processAdmonitionProps(props);
188
+
189
+ const typeConfig = getAdmonitionConfig(type);
190
+ const titleLabel = title ?? typeConfig.label;
191
+ const {iconComponent: IconComponent} = typeConfig;
192
+ const icon = iconProp ?? <IconComponent />;
193
+ return (
194
+ <div
195
+ className={clsx(
196
+ ThemeClassNames.common.admonition,
197
+ ThemeClassNames.common.admonitionType(props.type),
198
+ 'alert',
199
+ `alert--${typeConfig.infimaClassName}`,
200
+ styles.admonition,
201
+ )}>
202
+ <div className={styles.admonitionHeading}>
203
+ <span className={styles.admonitionIcon}>{icon}</span>
204
+ {titleLabel}
205
+ </div>
206
+ <div className={styles.admonitionContent}>{children}</div>
207
+ </div>
208
+ );
209
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .admonition {
9
+ margin-bottom: 1em;
10
+ }
11
+
12
+ .admonitionHeading {
13
+ font: var(--ifm-heading-font-weight) var(--ifm-h5-font-size) /
14
+ var(--ifm-heading-line-height) var(--ifm-heading-font-family);
15
+ text-transform: uppercase;
16
+ margin-bottom: 0.3rem;
17
+ }
18
+
19
+ .admonitionHeading code {
20
+ text-transform: none;
21
+ }
22
+
23
+ .admonitionIcon {
24
+ display: inline-block;
25
+ vertical-align: middle;
26
+ margin-right: 0.4em;
27
+ }
28
+
29
+ .admonitionIcon svg {
30
+ display: inline-block;
31
+ height: 1.6em;
32
+ width: 1.6em;
33
+ fill: var(--ifm-alert-foreground-color);
34
+ }
35
+
36
+ .admonitionContent > :last-child {
37
+ margin-bottom: 0;
38
+ }
@@ -7,34 +7,31 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
- import {useThemeConfig, useAnnouncementBar} from '@docusaurus/theme-common';
10
+ import {useThemeConfig} from '@docusaurus/theme-common';
11
+ import {useAnnouncementBar} from '@docusaurus/theme-common/internal';
11
12
  import {translate} from '@docusaurus/Translate';
13
+ import IconClose from '@theme/Icon/Close';
12
14
 
13
15
  import styles from './styles.module.css';
14
16
 
15
- function AnnouncementBar(): JSX.Element | null {
16
- const {isClosed, close} = useAnnouncementBar();
17
+ export default function AnnouncementBar(): JSX.Element | null {
18
+ const {isActive, close} = useAnnouncementBar();
17
19
  const {announcementBar} = useThemeConfig();
18
20
 
19
- if (!announcementBar) {
21
+ if (!isActive) {
20
22
  return null;
21
23
  }
22
24
 
23
- const {content, backgroundColor, textColor, isCloseable} = announcementBar;
24
-
25
- if (!content || (isCloseable && isClosed)) {
26
- return null;
27
- }
25
+ const {content, backgroundColor, textColor, isCloseable} = announcementBar!;
28
26
 
29
27
  return (
30
28
  <div
31
29
  className={styles.announcementBar}
32
30
  style={{backgroundColor, color: textColor}}
33
31
  role="banner">
32
+ {isCloseable && <div className={styles.announcementBarPlaceholder} />}
34
33
  <div
35
- className={clsx(styles.announcementBarContent, {
36
- [styles.announcementBarCloseable]: isCloseable,
37
- })}
34
+ className={styles.announcementBarContent}
38
35
  // Developer provided the HTML, so assume it's safe.
39
36
  // eslint-disable-next-line react/no-danger
40
37
  dangerouslySetInnerHTML={{__html: content}}
@@ -42,18 +39,16 @@ function AnnouncementBar(): JSX.Element | null {
42
39
  {isCloseable ? (
43
40
  <button
44
41
  type="button"
45
- className={clsx(styles.announcementBarClose, 'clean-btn')}
42
+ className={clsx('clean-btn close', styles.announcementBarClose)}
46
43
  onClick={close}
47
44
  aria-label={translate({
48
45
  id: 'theme.AnnouncementBar.closeButtonAriaLabel',
49
46
  message: 'Close',
50
47
  description: 'The ARIA label for close button of announcement bar',
51
48
  })}>
52
- <span aria-hidden="true">×</span>
49
+ <IconClose width={14} height={14} strokeWidth={3.1} />
53
50
  </button>
54
51
  ) : null}
55
52
  </div>
56
53
  );
57
54
  }
58
-
59
- export default AnnouncementBar;
@@ -10,8 +10,8 @@
10
10
  }
11
11
 
12
12
  .announcementBar {
13
- position: relative;
14
- width: 100%;
13
+ display: flex;
14
+ align-items: center;
15
15
  height: var(--docusaurus-announcement-bar-height);
16
16
  background-color: var(--ifm-color-white);
17
17
  color: var(--ifm-color-black);
@@ -22,47 +22,27 @@ html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
22
22
  display: none;
23
23
  }
24
24
 
25
- @media print {
26
- .announcementBar {
27
- display: none;
28
- }
29
- }
30
-
31
- @media screen and (min-width: 1024px) {
32
- :root {
33
- --docusaurus-announcement-bar-height: 30px;
34
- }
25
+ .announcementBarPlaceholder {
26
+ flex: 0 0 10px;
35
27
  }
36
28
 
37
29
  .announcementBarClose {
38
- position: absolute;
39
- right: 0;
40
- top: 0;
41
- width: 55px;
42
- font-size: 1.25rem;
43
- height: 100%;
30
+ flex: 0 0 30px;
31
+ align-self: stretch;
32
+ padding: 0;
33
+ line-height: 0;
44
34
  }
45
35
 
46
36
  .announcementBarContent {
37
+ flex: 1 1 auto;
47
38
  font-size: 85%;
48
- width: 100%;
49
39
  text-align: center;
50
40
  padding: 5px 0;
51
41
  }
52
42
 
53
- .announcementBarCloseable {
54
- margin-right: 55px;
55
- }
56
-
57
- @media screen and (max-width: 576px) {
58
- .announcementBarClose {
59
- width: 35px;
60
- }
61
- .announcementBarContent {
62
- width: auto;
63
- }
64
- .announcementBarCloseable {
65
- margin-right: 35px;
43
+ @media print {
44
+ .announcementBar {
45
+ display: none;
66
46
  }
67
47
  }
68
48
 
@@ -70,3 +50,14 @@ html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
70
50
  color: inherit;
71
51
  text-decoration: underline;
72
52
  }
53
+
54
+ @media (min-width: 997px) {
55
+ :root {
56
+ --docusaurus-announcement-bar-height: 30px;
57
+ }
58
+
59
+ .announcementBarPlaceholder,
60
+ .announcementBarClose {
61
+ flex-basis: 50px;
62
+ }
63
+ }
@@ -0,0 +1,35 @@
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 {useBackToTopButton} from '@docusaurus/theme-common/internal';
13
+
14
+ import styles from './styles.module.css';
15
+
16
+ export default function BackToTopButton(): JSX.Element {
17
+ const {shown, scrollToTop} = useBackToTopButton({threshold: 300});
18
+ return (
19
+ <button
20
+ aria-label={translate({
21
+ id: 'theme.BackToTopButton.buttonAriaLabel',
22
+ message: 'Scroll back to top',
23
+ description: 'The ARIA label for the back to top button',
24
+ })}
25
+ className={clsx(
26
+ 'clean-btn',
27
+ ThemeClassNames.common.backToTopButton,
28
+ styles.backToTopButton,
29
+ shown && styles.backToTopButtonShow,
30
+ )}
31
+ type="button"
32
+ onClick={scrollToTop}
33
+ />
34
+ );
35
+ }
@@ -0,0 +1,44 @@
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
+ .backToTopButton {
9
+ position: fixed;
10
+ right: 1.3rem;
11
+ bottom: 1.3rem;
12
+ border-radius: 50%;
13
+ background-color: var(--ifm-color-emphasis-200);
14
+ width: 3rem;
15
+ height: 3rem;
16
+ z-index: calc(var(--ifm-z-index-fixed) - 1);
17
+ box-shadow: var(--ifm-global-shadow-lw);
18
+ transition: all var(--ifm-transition-fast)
19
+ var(--ifm-transition-timing-default);
20
+ opacity: 0;
21
+ transform: scale(0);
22
+ visibility: hidden;
23
+ }
24
+
25
+ .backToTopButton::after {
26
+ content: ' ';
27
+ display: inline-block;
28
+ mask: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem no-repeat;
29
+ background-color: var(--ifm-color-emphasis-1000);
30
+ width: 100%;
31
+ height: 100%;
32
+ }
33
+
34
+ @media (hover: hover) {
35
+ .backToTopButton:hover {
36
+ background-color: var(--ifm-color-emphasis-300);
37
+ }
38
+ }
39
+
40
+ .backToTopButtonShow {
41
+ opacity: 1;
42
+ transform: scale(1);
43
+ visibility: visible;
44
+ }
@@ -0,0 +1,92 @@
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 Link from '@docusaurus/Link';
10
+ import {translate} from '@docusaurus/Translate';
11
+ import {PageMetadata} from '@docusaurus/theme-common';
12
+ import Layout from '@theme/Layout';
13
+ import type {ArchiveBlogPost, Props} from '@theme/BlogArchivePage';
14
+
15
+ type YearProp = {
16
+ year: string;
17
+ posts: ArchiveBlogPost[];
18
+ };
19
+
20
+ function Year({year, posts}: YearProp) {
21
+ return (
22
+ <>
23
+ <h3>{year}</h3>
24
+ <ul>
25
+ {posts.map((post) => (
26
+ <li key={post.metadata.date}>
27
+ <Link to={post.metadata.permalink}>
28
+ {post.metadata.formattedDate} - {post.metadata.title}
29
+ </Link>
30
+ </li>
31
+ ))}
32
+ </ul>
33
+ </>
34
+ );
35
+ }
36
+
37
+ function YearsSection({years}: {years: YearProp[]}) {
38
+ return (
39
+ <section className="margin-vert--lg">
40
+ <div className="container">
41
+ <div className="row">
42
+ {years.map((_props, idx) => (
43
+ <div key={idx} className="col col--4 margin-vert--lg">
44
+ <Year {..._props} />
45
+ </div>
46
+ ))}
47
+ </div>
48
+ </div>
49
+ </section>
50
+ );
51
+ }
52
+
53
+ function listPostsByYears(blogPosts: readonly ArchiveBlogPost[]): YearProp[] {
54
+ const postsByYear = blogPosts.reduceRight((posts, post) => {
55
+ const year = post.metadata.date.split('-')[0]!;
56
+ const yearPosts = posts.get(year) ?? [];
57
+ return posts.set(year, [post, ...yearPosts]);
58
+ }, new Map<string, ArchiveBlogPost[]>());
59
+
60
+ return Array.from(postsByYear, ([year, posts]) => ({
61
+ year,
62
+ posts,
63
+ }));
64
+ }
65
+
66
+ export default function BlogArchive({archive}: Props): JSX.Element {
67
+ const title = translate({
68
+ id: 'theme.blog.archive.title',
69
+ message: 'Archive',
70
+ description: 'The page & hero title of the blog archive page',
71
+ });
72
+ const description = translate({
73
+ id: 'theme.blog.archive.description',
74
+ message: 'Archive',
75
+ description: 'The page & hero description of the blog archive page',
76
+ });
77
+ const years = listPostsByYears(archive.blogPosts);
78
+ return (
79
+ <>
80
+ <PageMetadata title={title} description={description} />
81
+ <Layout>
82
+ <header className="hero hero--primary">
83
+ <div className="container">
84
+ <h1 className="hero__title">{title}</h1>
85
+ <p className="hero__subtitle">{description}</p>
86
+ </div>
87
+ </header>
88
+ <main>{years.length > 0 && <YearsSection years={years} />}</main>
89
+ </Layout>
90
+ </>
91
+ );
92
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React from 'react';
9
+ import clsx from 'clsx';
10
+ import Layout from '@theme/Layout';
11
+ import BlogSidebar from '@theme/BlogSidebar';
12
+
13
+ import type {Props} from '@theme/BlogLayout';
14
+
15
+ export default function BlogLayout(props: Props): JSX.Element {
16
+ const {sidebar, toc, children, ...layoutProps} = props;
17
+ const hasSidebar = sidebar && sidebar.items.length > 0;
18
+
19
+ return (
20
+ <Layout {...layoutProps}>
21
+ <div className="container margin-vert--lg">
22
+ <div className="row">
23
+ <BlogSidebar sidebar={sidebar} />
24
+ <main
25
+ className={clsx('col', {
26
+ 'col--7': hasSidebar,
27
+ 'col--9 col--offset-1': !hasSidebar,
28
+ })}
29
+ itemScope
30
+ itemType="http://schema.org/Blog">
31
+ {children}
32
+ </main>
33
+ {toc && <div className="col col--2">{toc}</div>}
34
+ </div>
35
+ </div>
36
+ </Layout>
37
+ );
38
+ }
@@ -6,17 +6,22 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
+ import clsx from 'clsx';
9
10
 
10
11
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
11
- import Layout from '@theme/Layout';
12
- import BlogPostItem from '@theme/BlogPostItem';
12
+ import {
13
+ PageMetadata,
14
+ HtmlClassNameProvider,
15
+ ThemeClassNames,
16
+ } from '@docusaurus/theme-common';
17
+ import BlogLayout from '@theme/BlogLayout';
13
18
  import BlogListPaginator from '@theme/BlogListPaginator';
19
+ import SearchMetadata from '@theme/SearchMetadata';
14
20
  import type {Props} from '@theme/BlogListPage';
15
- import BlogSidebar from '@theme/BlogSidebar';
16
- import {ThemeClassNames} from '@docusaurus/theme-common';
21
+ import BlogPostItems from '@theme/BlogPostItems';
17
22
 
18
- function BlogListPage(props: Props): JSX.Element {
19
- const {metadata, items, sidebar} = props;
23
+ function BlogListPageMetadata(props: Props): JSX.Element {
24
+ const {metadata} = props;
20
25
  const {
21
26
  siteConfig: {title: siteTitle},
22
27
  } = useDocusaurusContext();
@@ -24,36 +29,32 @@ function BlogListPage(props: Props): JSX.Element {
24
29
  const isBlogOnlyMode = permalink === '/';
25
30
  const title = isBlogOnlyMode ? siteTitle : blogTitle;
26
31
  return (
27
- <Layout
28
- title={title}
29
- description={blogDescription}
30
- wrapperClassName={ThemeClassNames.wrapper.blogPages}
31
- pageClassName={ThemeClassNames.page.blogListPage}
32
- searchMetadatas={{
33
- // assign unique search tag to exclude this page from search results!
34
- tag: 'blog_posts_list',
35
- }}>
36
- <div className="container margin-vert--lg">
37
- <div className="row">
38
- <aside className="col col--3">
39
- <BlogSidebar sidebar={sidebar} />
40
- </aside>
41
- <main className="col col--7">
42
- {items.map(({content: BlogPostContent}) => (
43
- <BlogPostItem
44
- key={BlogPostContent.metadata.permalink}
45
- frontMatter={BlogPostContent.frontMatter}
46
- metadata={BlogPostContent.metadata}
47
- truncated={BlogPostContent.metadata.truncated}>
48
- <BlogPostContent />
49
- </BlogPostItem>
50
- ))}
51
- <BlogListPaginator metadata={metadata} />
52
- </main>
53
- </div>
54
- </div>
55
- </Layout>
32
+ <>
33
+ <PageMetadata title={title} description={blogDescription} />
34
+ <SearchMetadata tag="blog_posts_list" />
35
+ </>
56
36
  );
57
37
  }
58
38
 
59
- export default BlogListPage;
39
+ function BlogListPageContent(props: Props): JSX.Element {
40
+ const {metadata, items, sidebar} = props;
41
+ return (
42
+ <BlogLayout sidebar={sidebar}>
43
+ <BlogPostItems items={items} />
44
+ <BlogListPaginator metadata={metadata} />
45
+ </BlogLayout>
46
+ );
47
+ }
48
+
49
+ export default function BlogListPage(props: Props): JSX.Element {
50
+ return (
51
+ <HtmlClassNameProvider
52
+ className={clsx(
53
+ ThemeClassNames.wrapper.blogPages,
54
+ ThemeClassNames.page.blogListPage,
55
+ )}>
56
+ <BlogListPageMetadata {...props} />
57
+ <BlogListPageContent {...props} />
58
+ </HtmlClassNameProvider>
59
+ );
60
+ }