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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/README.md +2 -2
  2. package/lib/getSwizzleConfig.d.ts +8 -0
  3. package/lib/getSwizzleConfig.js +228 -0
  4. package/lib/index.d.ts +12 -0
  5. package/lib/index.js +107 -170
  6. package/lib/nprogress.css +41 -0
  7. package/lib/nprogress.d.ts +10 -0
  8. package/lib/nprogress.js +25 -0
  9. package/lib/options.d.ts +14 -0
  10. package/lib/options.js +409 -0
  11. package/lib/prism-include-languages.d.ts +7 -0
  12. package/lib/prism-include-languages.js +0 -2
  13. package/lib/theme/Admonition/index.d.ts +9 -0
  14. package/lib/theme/Admonition/index.js +183 -0
  15. package/lib/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  16. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  17. package/lib/theme/AnnouncementBar/index.js +39 -63
  18. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  19. package/lib/theme/BackToTopButton/index.d.ts +8 -0
  20. package/lib/theme/BackToTopButton/index.js +25 -121
  21. package/lib/theme/BackToTopButton/styles.module.css +20 -15
  22. package/lib/theme/BlogArchivePage/index.d.ts +10 -0
  23. package/lib/theme/BlogArchivePage/index.js +80 -0
  24. package/lib/theme/BlogLayout/index.d.ts +9 -0
  25. package/lib/theme/BlogLayout/index.js +19 -41
  26. package/lib/theme/BlogListPage/index.d.ts +10 -0
  27. package/lib/theme/BlogListPage/index.js +44 -50
  28. package/lib/theme/BlogListPaginator/index.d.ts +9 -0
  29. package/lib/theme/BlogListPaginator/index.js +41 -56
  30. package/lib/theme/BlogPostItem/Container/index.d.ts +9 -0
  31. package/lib/theme/BlogPostItem/Container/index.js +26 -0
  32. package/lib/theme/BlogPostItem/Content/index.d.ts +9 -0
  33. package/lib/theme/BlogPostItem/Content/index.js +23 -0
  34. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +9 -0
  35. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js +38 -0
  36. package/lib/theme/BlogPostItem/Footer/index.d.ts +8 -0
  37. package/lib/theme/BlogPostItem/Footer/index.js +52 -0
  38. package/{src/theme/IconEdit → lib/theme/BlogPostItem/Footer}/styles.module.css +2 -3
  39. package/lib/theme/BlogPostItem/Header/Author/index.d.ts +9 -0
  40. package/lib/theme/BlogPostItem/Header/Author/index.js +47 -0
  41. package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +9 -0
  42. package/lib/theme/BlogPostItem/Header/Authors/index.js +48 -0
  43. package/{lib-next/theme/Toggle → lib/theme/BlogPostItem/Header/Authors}/styles.module.css +11 -7
  44. package/lib/theme/BlogPostItem/Header/Info/index.d.ts +9 -0
  45. package/lib/theme/BlogPostItem/Header/Info/index.js +60 -0
  46. package/{lib-next/theme/MDXPage → lib/theme/BlogPostItem/Header/Info}/styles.module.css +2 -2
  47. package/lib/theme/BlogPostItem/Header/Title/index.d.ts +9 -0
  48. package/lib/theme/BlogPostItem/Header/Title/index.js +27 -0
  49. package/{src/theme/BlogPostItem → lib/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  50. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  51. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  52. package/{lib-next/theme/Footer/styles.module.css → lib/theme/BlogPostItem/index.d.ts} +3 -9
  53. package/lib/theme/BlogPostItem/index.js +20 -153
  54. package/lib/theme/BlogPostItems/index.d.ts +9 -0
  55. package/lib/theme/BlogPostItems/index.js +27 -0
  56. package/lib/theme/BlogPostPage/Metadata/index.d.ts +8 -0
  57. package/lib/theme/BlogPostPage/Metadata/index.js +41 -0
  58. package/lib/theme/BlogPostPage/index.d.ts +10 -0
  59. package/lib/theme/BlogPostPage/index.js +51 -44
  60. package/lib/theme/BlogPostPaginator/index.d.ts +9 -0
  61. package/lib/theme/BlogPostPaginator/index.js +40 -57
  62. package/lib/theme/BlogSidebar/Desktop/index.d.ts +9 -0
  63. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/index.js +19 -23
  64. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  65. package/lib/theme/BlogSidebar/Mobile/index.d.ts +9 -0
  66. package/lib/theme/BlogSidebar/Mobile/index.js +34 -0
  67. package/lib/theme/BlogSidebar/index.d.ts +9 -0
  68. package/lib/theme/BlogSidebar/index.js +13 -43
  69. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  70. package/lib/theme/BlogTagsListPage/index.js +27 -58
  71. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  72. package/lib/theme/BlogTagsPostsPage/index.js +73 -73
  73. package/lib/theme/CodeBlock/Container/index.d.ts +10 -0
  74. package/lib/theme/CodeBlock/Container/index.js +27 -0
  75. package/lib/theme/CodeBlock/Container/styles.module.css +14 -0
  76. package/lib/theme/CodeBlock/Content/Element.d.ts +9 -0
  77. package/lib/theme/CodeBlock/Content/Element.js +23 -0
  78. package/lib/theme/CodeBlock/Content/String.d.ts +9 -0
  79. package/lib/theme/CodeBlock/Content/String.js +103 -0
  80. package/lib/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +46 -26
  81. package/lib/theme/CodeBlock/CopyButton/index.d.ts +9 -0
  82. package/lib/theme/CodeBlock/CopyButton/index.js +62 -0
  83. package/lib/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  84. package/lib/theme/CodeBlock/Line/index.d.ts +9 -0
  85. package/lib/theme/CodeBlock/Line/index.js +42 -0
  86. package/lib/theme/CodeBlock/Line/styles.module.css +51 -0
  87. package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +9 -0
  88. package/lib/theme/CodeBlock/WordWrapButton/index.js +40 -0
  89. package/lib/theme/{BlogPostItem → CodeBlock/WordWrapButton}/styles.module.css +5 -8
  90. package/lib/theme/CodeBlock/index.d.ts +9 -0
  91. package/lib/theme/CodeBlock/index.js +31 -244
  92. package/lib/theme/ColorModeToggle/index.d.ts +11 -0
  93. package/lib/theme/ColorModeToggle/index.js +60 -0
  94. package/lib/theme/ColorModeToggle/styles.module.css +35 -0
  95. package/lib/theme/Details/index.d.ts +9 -0
  96. package/lib/theme/Details/index.js +14 -23
  97. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  98. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  99. package/{src/theme/IconExternalLink → lib/theme/DocBreadcrumbs}/styles.module.css +9 -2
  100. package/lib/theme/DocCard/index.d.ts +9 -0
  101. package/lib/theme/DocCard/index.js +86 -0
  102. package/lib/theme/DocCard/styles.module.css +34 -0
  103. package/lib/theme/DocCardList/index.d.ts +9 -0
  104. package/lib/theme/DocCardList/index.js +30 -0
  105. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  106. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +65 -0
  107. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  108. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  109. package/lib/theme/DocItem/Content/index.js +44 -0
  110. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  111. package/lib/theme/DocItem/Footer/index.js +74 -0
  112. package/{src/theme/DocSidebarItem → lib/theme/DocItem/Footer}/styles.module.css +8 -5
  113. package/lib/theme/DocItem/Layout/index.d.ts +9 -0
  114. package/lib/theme/DocItem/Layout/index.js +59 -0
  115. package/lib/theme/DocItem/Layout/styles.module.css +17 -0
  116. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  117. package/lib/theme/DocItem/Metadata/index.js +20 -0
  118. package/lib/theme/DocItem/Paginator/index.d.ts +12 -0
  119. package/lib/theme/DocItem/Paginator/index.js +17 -0
  120. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  121. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  122. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  123. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  124. package/lib/theme/DocItem/{styles.module.css → TOC/Mobile/styles.module.css} +6 -19
  125. package/lib/theme/DocItem/index.d.ts +10 -0
  126. package/lib/theme/DocItem/index.js +18 -131
  127. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  128. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  129. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  130. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  131. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  132. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  133. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  134. package/lib/theme/DocPage/Layout/Sidebar/index.js +66 -0
  135. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  136. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  137. package/lib/theme/DocPage/Layout/index.js +34 -0
  138. package/lib/theme/DocPage/Layout/styles.module.css +15 -0
  139. package/lib/theme/DocPage/index.d.ts +10 -0
  140. package/lib/theme/DocPage/index.js +42 -134
  141. package/lib/theme/DocPaginator/index.d.ts +9 -0
  142. package/lib/theme/DocPaginator/index.js +40 -56
  143. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  144. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  145. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  146. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  147. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  148. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  149. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  150. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  151. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  152. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  153. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  154. package/lib/theme/DocSidebar/index.d.ts +9 -0
  155. package/lib/theme/DocSidebar/index.js +17 -124
  156. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  157. package/lib/theme/DocSidebarItem/Category/index.js +185 -0
  158. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  159. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  160. package/{lib-next/theme/DocSidebarItem → lib/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  161. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  162. package/lib/theme/DocSidebarItem/Link/index.js +54 -0
  163. package/lib/theme/DocSidebarItem/Link/styles.module.css +10 -0
  164. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  165. package/lib/theme/DocSidebarItem/index.js +7 -161
  166. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  167. package/lib/theme/DocSidebarItems/index.js +22 -0
  168. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  169. package/lib/theme/DocTagDocListPage/index.js +89 -0
  170. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  171. package/lib/theme/DocTagsListPage/index.js +40 -0
  172. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  173. package/lib/theme/DocVersionBadge/index.js +31 -0
  174. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  175. package/lib/theme/DocVersionBanner/index.js +105 -102
  176. package/lib/theme/EditThisPage/index.d.ts +9 -0
  177. package/lib/theme/EditThisPage/index.js +19 -24
  178. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  179. package/lib/theme/ErrorPageContent.js +35 -0
  180. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  181. package/lib/theme/Footer/Copyright/index.js +17 -0
  182. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  183. package/lib/theme/Footer/Layout/index.js +26 -0
  184. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  185. package/lib/theme/Footer/LinkItem/index.js +31 -0
  186. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  187. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  188. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  189. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  190. package/lib/theme/Footer/Links/index.d.ts +9 -0
  191. package/lib/theme/Footer/Links/index.js +17 -0
  192. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  193. package/lib/theme/Footer/Logo/index.js +41 -0
  194. package/{src/theme/Footer → lib/theme/Footer/Logo}/styles.module.css +2 -1
  195. package/lib/theme/Footer/index.d.ts +10 -0
  196. package/lib/theme/Footer/index.js +17 -104
  197. package/lib/theme/Heading/index.d.ts +9 -0
  198. package/lib/theme/Heading/index.js +35 -68
  199. package/lib/theme/Heading/styles.module.css +25 -5
  200. package/lib/theme/Icon/Arrow/index.d.ts +9 -0
  201. package/{lib-next/theme/IconArrow → lib/theme/Icon/Arrow}/index.js +2 -5
  202. package/lib/theme/Icon/Close/index.d.ts +9 -0
  203. package/lib/theme/Icon/Close/index.js +23 -0
  204. package/lib/theme/Icon/DarkMode/index.d.ts +9 -0
  205. package/lib/theme/Icon/DarkMode/index.js +17 -0
  206. package/lib/theme/Icon/Edit/index.d.ts +9 -0
  207. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/index.js +2 -5
  208. package/{lib-next/theme/IconEdit → lib/theme/Icon/Edit}/styles.module.css +0 -0
  209. package/lib/theme/Icon/ExternalLink/index.d.ts +9 -0
  210. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/index.js +2 -5
  211. package/{lib-next/theme/IconExternalLink → lib/theme/Icon/ExternalLink}/styles.module.css +0 -2
  212. package/lib/theme/Icon/Home/index.d.ts +9 -0
  213. package/lib/theme/Icon/Home/index.js +17 -0
  214. package/lib/theme/Icon/Language/index.d.ts +9 -0
  215. package/lib/theme/Icon/Language/index.js +22 -0
  216. package/lib/theme/Icon/LightMode/index.d.ts +9 -0
  217. package/lib/theme/Icon/LightMode/index.js +17 -0
  218. package/lib/theme/Icon/Menu/index.d.ts +9 -0
  219. package/{lib-next/theme/IconMenu → lib/theme/Icon/Menu}/index.js +7 -5
  220. package/lib/theme/LastUpdated/index.d.ts +9 -0
  221. package/lib/theme/LastUpdated/index.js +57 -42
  222. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  223. package/lib/theme/Layout/Provider/index.js +29 -0
  224. package/lib/theme/Layout/index.d.ts +9 -0
  225. package/lib/theme/Layout/index.js +39 -50
  226. package/{lib-next/theme/Layout/styles.css → lib/theme/Layout/styles.module.css} +9 -10
  227. package/lib/theme/Logo/index.d.ts +9 -0
  228. package/lib/theme/Logo/index.js +57 -51
  229. package/lib/theme/MDXComponents/A.d.ts +9 -0
  230. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  231. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  232. package/lib/theme/MDXComponents/Code.js +28 -0
  233. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  234. package/lib/theme/MDXComponents/Details.js +22 -0
  235. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  236. package/lib/theme/MDXComponents/Head.js +23 -0
  237. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  238. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  239. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  240. package/lib/theme/MDXComponents/Img/index.js +22 -0
  241. package/lib/theme/MDXComponents/Img/styles.module.css +10 -0
  242. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  243. package/lib/theme/MDXComponents/Pre.js +19 -0
  244. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  245. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  246. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  247. package/lib/theme/MDXComponents/index.d.ts +9 -0
  248. package/lib/theme/MDXComponents/index.js +25 -72
  249. package/lib/theme/MDXContent/index.d.ts +9 -0
  250. package/lib/theme/MDXContent/index.js +12 -0
  251. package/lib/theme/MDXPage/index.d.ts +10 -0
  252. package/lib/theme/MDXPage/index.js +46 -56
  253. package/lib/theme/Navbar/ColorModeToggle/index.d.ts +9 -0
  254. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  255. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  256. package/lib/theme/Navbar/Content/index.js +71 -0
  257. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  258. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  259. package/lib/theme/Navbar/Layout/index.js +52 -0
  260. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -9
  261. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  262. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  263. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  264. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  265. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  266. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  267. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  268. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  269. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  270. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  271. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  272. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  273. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  274. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  275. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  276. package/lib/theme/Navbar/Search/index.js +12 -0
  277. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  278. package/{lib-next/theme/hooks/styles.css → lib/theme/Navbar/index.d.ts} +2 -4
  279. package/lib/theme/Navbar/index.js +9 -242
  280. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  281. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  282. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  283. package/lib/theme/NavbarItem/DefaultNavbarItem.js +30 -83
  284. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  285. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -51
  286. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  287. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  288. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  289. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +71 -61
  290. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  291. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  292. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  293. package/lib/theme/NavbarItem/DropdownNavbarItem.js +109 -103
  294. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  295. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  296. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  297. package/{src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx → lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js} +28 -27
  298. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  299. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  300. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  301. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  302. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  303. package/lib/theme/NavbarItem/index.d.ts +9 -0
  304. package/lib/theme/NavbarItem/index.js +11 -56
  305. package/lib/theme/NotFound.d.ts +8 -0
  306. package/lib/theme/NotFound.js +44 -49
  307. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  308. package/lib/theme/PaginatorNavLink/index.js +23 -0
  309. package/lib/theme/SearchBar.d.ts +7 -0
  310. package/lib/theme/SearchBar.js +11 -15
  311. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  312. package/lib/theme/SearchMetadata/index.js +34 -0
  313. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  314. package/lib/theme/SiteMetadata/index.js +116 -0
  315. package/lib/theme/SkipToContent/index.d.ts +8 -0
  316. package/lib/theme/SkipToContent/index.js +16 -62
  317. package/lib/theme/SkipToContent/styles.module.css +7 -0
  318. package/lib/theme/TOC/index.d.ts +9 -0
  319. package/lib/theme/TOC/index.js +18 -53
  320. package/lib/theme/TOC/styles.module.css +1 -1
  321. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  322. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  323. package/{lib-next/theme/TOCCollapsible → lib/theme/TOCCollapsible/CollapseButton}/styles.module.css +2 -23
  324. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  325. package/lib/theme/TOCCollapsible/index.js +33 -42
  326. package/lib/theme/TOCCollapsible/styles.module.css +1 -20
  327. package/lib/theme/TOCInline/index.d.ts +9 -0
  328. package/lib/theme/TOCInline/index.js +15 -46
  329. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  330. package/lib/theme/TOCItems/Tree.js +37 -0
  331. package/lib/theme/TOCItems/index.d.ts +9 -0
  332. package/lib/theme/TOCItems/index.js +53 -0
  333. package/lib/theme/TabItem/index.d.ts +9 -0
  334. package/lib/theme/TabItem/index.js +11 -24
  335. package/lib/theme/TabItem/styles.module.css +10 -0
  336. package/lib/theme/Tabs/index.d.ts +9 -0
  337. package/lib/theme/Tabs/index.js +159 -123
  338. package/lib/theme/Tabs/styles.module.css +4 -13
  339. package/lib/theme/Tag/index.d.ts +9 -0
  340. package/lib/theme/Tag/index.js +23 -0
  341. package/lib/theme/Tag/styles.module.css +70 -0
  342. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  343. package/lib/theme/TagsListByLetter/index.js +38 -0
  344. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  345. package/lib/theme/TagsListInline/index.d.ts +9 -0
  346. package/lib/theme/TagsListInline/index.js +31 -0
  347. package/lib/theme/TagsListInline/styles.module.css +15 -0
  348. package/lib/theme/ThemedImage/index.d.ts +9 -0
  349. package/lib/theme/ThemedImage/index.js +33 -43
  350. package/lib/theme/ThemedImage/styles.module.css +2 -2
  351. package/lib/theme/prism-include-languages.d.ts +8 -0
  352. package/lib/theme/prism-include-languages.js +19 -33
  353. package/lib/translations.d.ts +15 -0
  354. package/lib/translations.js +122 -122
  355. package/package.json +41 -36
  356. package/src/deps.d.ts +13 -0
  357. package/src/getSwizzleConfig.ts +245 -0
  358. package/src/index.ts +53 -79
  359. package/src/nprogress.css +41 -0
  360. package/src/nprogress.ts +31 -0
  361. package/{lib/validateThemeConfig.js → src/options.ts} +204 -72
  362. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  363. package/src/theme/Admonition/index.tsx +209 -0
  364. package/src/{admonitions.css → theme/Admonition/styles.module.css} +17 -14
  365. package/src/theme/AnnouncementBar/index.tsx +11 -16
  366. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  367. package/src/theme/BackToTopButton/index.tsx +18 -105
  368. package/src/theme/BackToTopButton/styles.module.css +20 -15
  369. package/src/theme/BlogArchivePage/index.tsx +92 -0
  370. package/src/theme/BlogLayout/index.tsx +6 -16
  371. package/src/theme/BlogListPage/index.tsx +33 -24
  372. package/src/theme/BlogListPaginator/index.tsx +27 -32
  373. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  374. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  375. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  376. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  377. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  378. package/src/theme/BlogPostItem/Header/Author/index.tsx +55 -0
  379. package/src/theme/BlogPostItem/Header/Authors/index.tsx +53 -0
  380. package/src/theme/BlogPostItem/Header/Authors/styles.module.css +21 -0
  381. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  382. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  383. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  384. package/{lib-next/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +8 -7
  385. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  386. package/src/theme/BlogPostItem/index.tsx +19 -151
  387. package/src/theme/BlogPostItems/index.tsx +30 -0
  388. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  389. package/src/theme/BlogPostPage/index.tsx +47 -22
  390. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  391. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  392. package/{lib/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  393. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  394. package/src/theme/BlogSidebar/index.tsx +10 -33
  395. package/src/theme/BlogTagsListPage/index.tsx +23 -57
  396. package/src/theme/BlogTagsPostsPage/index.tsx +48 -31
  397. package/src/theme/CodeBlock/Container/index.tsx +32 -0
  398. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  399. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  400. package/src/theme/CodeBlock/Content/String.tsx +110 -0
  401. package/{lib-next/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +46 -26
  402. package/src/theme/CodeBlock/CopyButton/index.tsx +68 -0
  403. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  404. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  405. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  406. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  407. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  408. package/src/theme/CodeBlock/index.tsx +29 -251
  409. package/src/theme/ColorModeToggle/index.tsx +67 -0
  410. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  411. package/src/theme/Details/index.tsx +4 -2
  412. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  413. package/{lib-next/theme/Heading/styles.css → src/theme/DocBreadcrumbs/styles.module.css} +9 -13
  414. package/src/theme/DocCard/index.tsx +120 -0
  415. package/src/theme/DocCard/styles.module.css +34 -0
  416. package/src/theme/DocCardList/index.tsx +35 -0
  417. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +77 -0
  418. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  419. package/src/theme/DocItem/Content/index.tsx +48 -0
  420. package/src/theme/DocItem/Footer/index.tsx +89 -0
  421. package/src/theme/DocItem/Footer/styles.module.css +18 -0
  422. package/src/theme/DocItem/Layout/index.tsx +68 -0
  423. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  424. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  425. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  426. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  427. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  428. package/src/theme/DocItem/TOC/Mobile/styles.module.css +19 -0
  429. package/src/theme/DocItem/index.tsx +15 -120
  430. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  431. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  432. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  433. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  434. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  435. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  436. package/src/theme/DocPage/Layout/index.tsx +38 -0
  437. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  438. package/src/theme/DocPage/index.tsx +39 -150
  439. package/src/theme/DocPaginator/index.tsx +28 -40
  440. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  441. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  442. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  443. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  444. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  445. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  446. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  447. package/src/theme/DocSidebar/index.tsx +6 -110
  448. package/src/theme/DocSidebarItem/Category/index.tsx +211 -0
  449. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  450. package/{lib/theme/DocSidebarItem → src/theme/DocSidebarItem/Html}/styles.module.css +3 -5
  451. package/src/theme/DocSidebarItem/Link/index.tsx +58 -0
  452. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  453. package/src/theme/DocSidebarItem/index.tsx +7 -167
  454. package/src/theme/DocSidebarItems/index.tsx +27 -0
  455. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  456. package/src/theme/DocTagsListPage/index.tsx +43 -0
  457. package/src/theme/DocVersionBadge/index.tsx +36 -0
  458. package/src/theme/DocVersionBanner/index.tsx +53 -28
  459. package/src/theme/EditThisPage/index.tsx +7 -3
  460. package/src/theme/ErrorPageContent.tsx +41 -0
  461. package/src/theme/Footer/Copyright/index.tsx +20 -0
  462. package/src/theme/Footer/Layout/index.tsx +34 -0
  463. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  464. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  465. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  466. package/src/theme/Footer/Links/index.tsx +21 -0
  467. package/src/theme/Footer/Logo/index.tsx +46 -0
  468. package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  469. package/src/theme/Footer/index.tsx +13 -122
  470. package/src/theme/Heading/index.tsx +31 -58
  471. package/src/theme/Heading/styles.module.css +25 -5
  472. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +3 -5
  473. package/src/theme/Icon/Close/index.tsx +26 -0
  474. package/src/theme/Icon/DarkMode/index.tsx +20 -0
  475. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +6 -6
  476. package/{lib/theme/IconEdit → src/theme/Icon/Edit}/styles.module.css +0 -0
  477. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +4 -6
  478. package/{lib/theme/IconExternalLink → src/theme/Icon/ExternalLink}/styles.module.css +0 -2
  479. package/src/theme/Icon/Home/index.tsx +20 -0
  480. package/src/theme/Icon/Language/index.tsx +29 -0
  481. package/src/theme/Icon/LightMode/index.tsx +20 -0
  482. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +4 -6
  483. package/src/theme/LastUpdated/index.tsx +4 -2
  484. package/src/theme/Layout/Provider/index.tsx +33 -0
  485. package/src/theme/Layout/index.tsx +23 -15
  486. package/src/theme/Layout/{styles.css → styles.module.css} +9 -10
  487. package/src/theme/Logo/index.tsx +57 -26
  488. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  489. package/src/theme/MDXComponents/Code.tsx +40 -0
  490. package/src/theme/MDXComponents/Details.tsx +28 -0
  491. package/src/theme/MDXComponents/Head.tsx +29 -0
  492. package/src/theme/MDXComponents/Heading.tsx +14 -0
  493. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  494. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  495. package/src/theme/MDXComponents/Pre.tsx +23 -0
  496. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  497. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  498. package/src/theme/MDXComponents/index.tsx +25 -57
  499. package/src/theme/MDXContent/index.tsx +15 -0
  500. package/src/theme/MDXPage/index.tsx +40 -35
  501. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  502. package/src/theme/Navbar/Content/index.tsx +86 -0
  503. package/src/theme/Navbar/Content/styles.module.css +15 -0
  504. package/src/theme/Navbar/Layout/index.tsx +57 -0
  505. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -9
  506. package/src/theme/Navbar/Logo/index.tsx +19 -0
  507. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  508. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  509. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  510. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +39 -0
  511. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  512. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  513. package/src/theme/Navbar/Search/index.tsx +19 -0
  514. package/src/theme/Navbar/Search/styles.module.css +20 -0
  515. package/src/theme/Navbar/index.tsx +7 -261
  516. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  517. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +16 -65
  518. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -34
  519. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  520. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +43 -41
  521. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  522. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +36 -28
  523. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  524. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  525. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  526. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  527. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  528. package/src/theme/NavbarItem/index.tsx +11 -48
  529. package/src/theme/NotFound.tsx +40 -37
  530. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  531. package/src/theme/SearchBar.tsx +2 -1
  532. package/src/theme/SearchMetadata/index.tsx +43 -0
  533. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -45
  534. package/src/theme/SkipToContent/index.tsx +5 -33
  535. package/src/theme/SkipToContent/styles.module.css +7 -0
  536. package/src/theme/TOC/index.tsx +14 -37
  537. package/src/theme/TOC/styles.module.css +1 -1
  538. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  539. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  540. package/src/theme/TOCCollapsible/index.tsx +17 -20
  541. package/src/theme/TOCCollapsible/styles.module.css +1 -20
  542. package/src/theme/TOCInline/index.tsx +15 -35
  543. package/src/theme/TOCItems/Tree.tsx +46 -0
  544. package/src/theme/TOCItems/index.tsx +61 -0
  545. package/src/theme/TabItem/index.tsx +12 -4
  546. package/src/theme/TabItem/styles.module.css +10 -0
  547. package/src/theme/Tabs/index.tsx +121 -62
  548. package/src/theme/Tabs/styles.module.css +4 -13
  549. package/src/theme/Tag/index.tsx +27 -0
  550. package/src/theme/Tag/styles.module.css +70 -0
  551. package/src/theme/TagsListByLetter/index.tsx +43 -0
  552. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  553. package/src/theme/TagsListInline/index.tsx +35 -0
  554. package/src/theme/TagsListInline/styles.module.css +15 -0
  555. package/src/theme/ThemedImage/index.tsx +10 -12
  556. package/src/theme/ThemedImage/styles.module.css +2 -2
  557. package/src/theme/prism-include-languages.ts +20 -15
  558. package/src/theme-classic.d.ts +1368 -0
  559. package/src/translations.ts +85 -60
  560. package/babel.config.js +0 -35
  561. package/codeTranslations/README.md +0 -20
  562. package/codeTranslations/ar.json +0 -56
  563. package/codeTranslations/base.json +0 -110
  564. package/codeTranslations/bn.json +0 -56
  565. package/codeTranslations/da.json +0 -56
  566. package/codeTranslations/de.json +0 -56
  567. package/codeTranslations/es.json +0 -56
  568. package/codeTranslations/fa.json +0 -56
  569. package/codeTranslations/fil.json +0 -56
  570. package/codeTranslations/fr.json +0 -56
  571. package/codeTranslations/he.json +0 -56
  572. package/codeTranslations/hi.json +0 -56
  573. package/codeTranslations/ja.json +0 -56
  574. package/codeTranslations/ko.json +0 -56
  575. package/codeTranslations/pl.json +0 -56
  576. package/codeTranslations/pt-BR.json +0 -56
  577. package/codeTranslations/pt-PT.json +0 -56
  578. package/codeTranslations/ru.json +0 -56
  579. package/codeTranslations/tr.json +0 -56
  580. package/codeTranslations/vi.json +0 -56
  581. package/codeTranslations/zh-Hans.json +0 -56
  582. package/codeTranslations/zh-Hant.json +0 -56
  583. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  584. package/lib/__tests__/translations.test.js +0 -112
  585. package/lib/__tests__/validateThemeConfig.test.js +0 -457
  586. package/lib/theme/DocPage/styles.module.css +0 -85
  587. package/lib/theme/DocSidebar/styles.module.css +0 -106
  588. package/lib/theme/Heading/styles.css +0 -23
  589. package/lib/theme/IconArrow/index.js +0 -28
  590. package/lib/theme/IconEdit/index.js +0 -34
  591. package/lib/theme/IconExternalLink/index.js +0 -30
  592. package/lib/theme/IconLanguage/index.js +0 -29
  593. package/lib/theme/IconMenu/index.js +0 -30
  594. package/lib/theme/Layout/styles.css +0 -27
  595. package/lib/theme/LayoutHead/index.js +0 -144
  596. package/lib/theme/LayoutProviders/index.js +0 -38
  597. package/lib/theme/Navbar/styles.module.css +0 -23
  598. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  599. package/lib/theme/SearchMetadatas/index.js +0 -33
  600. package/lib/theme/Seo/index.js +0 -49
  601. package/lib/theme/ThemeContext.js +0 -21
  602. package/lib/theme/ThemeProvider/index.js +0 -38
  603. package/lib/theme/Toggle/index.js +0 -94
  604. package/lib/theme/Toggle/styles.css +0 -103
  605. package/lib/theme/Toggle/styles.module.css +0 -17
  606. package/lib/theme/UserPreferencesContext.js +0 -18
  607. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  608. package/lib/theme/hooks/styles.css +0 -10
  609. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  610. package/lib/theme/hooks/useDocs.js +0 -18
  611. package/lib/theme/hooks/useHideableNavbar.js +0 -91
  612. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  613. package/lib/theme/hooks/useLocationHash.js +0 -28
  614. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  615. package/lib/theme/hooks/usePrismTheme.js +0 -36
  616. package/lib/theme/hooks/useScrollPosition.js +0 -51
  617. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  618. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  619. package/lib/theme/hooks/useTheme.js +0 -99
  620. package/lib/theme/hooks/useThemeContext.js +0 -31
  621. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  622. package/lib/theme/hooks/useWindowSize.js +0 -73
  623. package/lib/types.d.ts +0 -696
  624. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  625. package/lib-next/__tests__/translations.test.js +0 -128
  626. package/lib-next/__tests__/validateThemeConfig.test.js +0 -457
  627. package/lib-next/admonitions.css +0 -35
  628. package/lib-next/index.js +0 -222
  629. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  630. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  631. package/lib-next/theme/BackToTopButton/index.js +0 -113
  632. package/lib-next/theme/BackToTopButton/styles.module.css +0 -39
  633. package/lib-next/theme/BlogLayout/index.js +0 -43
  634. package/lib-next/theme/BlogListPage/index.js +0 -47
  635. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  636. package/lib-next/theme/BlogPostItem/index.js +0 -168
  637. package/lib-next/theme/BlogPostPage/index.js +0 -43
  638. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  639. package/lib-next/theme/BlogTagsListPage/index.js +0 -66
  640. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -83
  641. package/lib-next/theme/CodeBlock/index.js +0 -266
  642. package/lib-next/theme/Details/index.js +0 -20
  643. package/lib-next/theme/Details/styles.module.css +0 -13
  644. package/lib-next/theme/DocItem/index.js +0 -131
  645. package/lib-next/theme/DocItem/styles.module.css +0 -32
  646. package/lib-next/theme/DocPage/index.js +0 -149
  647. package/lib-next/theme/DocPage/styles.module.css +0 -85
  648. package/lib-next/theme/DocPaginator/index.js +0 -59
  649. package/lib-next/theme/DocSidebar/index.js +0 -121
  650. package/lib-next/theme/DocSidebar/styles.module.css +0 -106
  651. package/lib-next/theme/DocSidebarItem/index.js +0 -161
  652. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  653. package/lib-next/theme/EditThisPage/index.js +0 -21
  654. package/lib-next/theme/Footer/index.js +0 -129
  655. package/lib-next/theme/Heading/index.js +0 -67
  656. package/lib-next/theme/Heading/styles.module.css +0 -15
  657. package/lib-next/theme/IconLanguage/index.js +0 -25
  658. package/lib-next/theme/LastUpdated/index.js +0 -77
  659. package/lib-next/theme/Layout/index.js +0 -46
  660. package/lib-next/theme/LayoutHead/index.js +0 -137
  661. package/lib-next/theme/LayoutProviders/index.js +0 -29
  662. package/lib-next/theme/Logo/index.js +0 -54
  663. package/lib-next/theme/MDXComponents/index.js +0 -59
  664. package/lib-next/theme/MDXPage/index.js +0 -51
  665. package/lib-next/theme/Navbar/index.js +0 -254
  666. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -114
  667. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -56
  668. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -87
  669. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  670. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +0 -160
  671. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  672. package/lib-next/theme/NavbarItem/index.js +0 -52
  673. package/lib-next/theme/NotFound.js +0 -50
  674. package/lib-next/theme/SearchBar.js +0 -11
  675. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  676. package/lib-next/theme/Seo/index.js +0 -36
  677. package/lib-next/theme/SkipToContent/index.js +0 -53
  678. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  679. package/lib-next/theme/TOC/index.js +0 -52
  680. package/lib-next/theme/TOC/styles.module.css +0 -23
  681. package/lib-next/theme/TOCCollapsible/index.js +0 -45
  682. package/lib-next/theme/TOCInline/index.js +0 -43
  683. package/lib-next/theme/Tabs/index.js +0 -144
  684. package/lib-next/theme/Tabs/styles.module.css +0 -23
  685. package/lib-next/theme/ThemeProvider/index.js +0 -25
  686. package/lib-next/theme/ThemedImage/index.js +0 -41
  687. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  688. package/lib-next/theme/Toggle/index.js +0 -80
  689. package/lib-next/theme/Toggle/styles.css +0 -103
  690. package/lib-next/theme/UserPreferencesContext.js +0 -9
  691. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  692. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  693. package/lib-next/theme/hooks/useDocs.js +0 -10
  694. package/lib-next/theme/hooks/useHideableNavbar.js +0 -82
  695. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  696. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  697. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  698. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  699. package/lib-next/theme/hooks/useScrollPosition.js +0 -42
  700. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  701. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  702. package/lib-next/theme/hooks/useTheme.js +0 -82
  703. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  704. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  705. package/lib-next/theme/hooks/useWindowSize.js +0 -63
  706. package/lib-next/theme/prism-include-languages.js +0 -23
  707. package/lib-next/translations.js +0 -145
  708. package/lib-next/types.d.ts +0 -696
  709. package/lib-next/validateThemeConfig.js +0 -337
  710. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  711. package/src/__tests__/translations.test.ts +0 -116
  712. package/src/__tests__/validateThemeConfig.test.js +0 -457
  713. package/src/prism-include-languages.js +0 -11
  714. package/src/theme/BlogSidebar/styles.module.css +0 -44
  715. package/src/theme/CodeBlock/styles.module.css +0 -66
  716. package/src/theme/DocItem/styles.module.css +0 -32
  717. package/src/theme/DocPage/styles.module.css +0 -85
  718. package/src/theme/DocSidebar/styles.module.css +0 -106
  719. package/src/theme/Heading/styles.css +0 -23
  720. package/src/theme/IconLanguage/index.tsx +0 -31
  721. package/src/theme/LayoutProviders/index.tsx +0 -32
  722. package/src/theme/SearchMetadatas/index.tsx +0 -28
  723. package/src/theme/Seo/index.tsx +0 -46
  724. package/src/theme/ThemeProvider/index.tsx +0 -24
  725. package/src/theme/Toggle/index.tsx +0 -100
  726. package/src/theme/Toggle/styles.css +0 -103
  727. package/src/theme/Toggle/styles.module.css +0 -17
  728. package/src/theme/UserPreferencesContext.ts +0 -12
  729. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  730. package/src/theme/hooks/styles.css +0 -10
  731. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  732. package/src/theme/hooks/useDocs.ts +0 -11
  733. package/src/theme/hooks/useHideableNavbar.ts +0 -87
  734. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  735. package/src/theme/hooks/useLocationHash.ts +0 -25
  736. package/src/theme/hooks/usePrismTheme.ts +0 -22
  737. package/src/theme/hooks/useScrollPosition.ts +0 -52
  738. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  739. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  740. package/src/theme/hooks/useTheme.ts +0 -92
  741. package/src/theme/hooks/useThemeContext.ts +0 -23
  742. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  743. package/src/theme/hooks/useWindowSize.ts +0 -74
  744. package/src/types.d.ts +0 -696
  745. package/src/validateThemeConfig.js +0 -337
  746. package/tsconfig.json +0 -12
  747. package/update-code-translations.js +0 -242
  748. package/update-code-translations.test.js +0 -33
@@ -1,168 +0,0 @@
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
- import React from 'react';
8
- import clsx from 'clsx';
9
- import {MDXProvider} from '@mdx-js/react';
10
- import Translate, {translate} from '@docusaurus/Translate';
11
- import Link from '@docusaurus/Link';
12
- import {usePluralForm} from '@docusaurus/theme-common';
13
- import MDXComponents from '@theme/MDXComponents';
14
- import Seo from '@theme/Seo';
15
- import EditThisPage from '@theme/EditThisPage';
16
- import styles from './styles.module.css'; // Very simple pluralization: probably good enough for now
17
-
18
- function useReadingTimePlural() {
19
- const {selectMessage} = usePluralForm();
20
- return (readingTimeFloat) => {
21
- const readingTime = Math.ceil(readingTimeFloat);
22
- return selectMessage(
23
- readingTime,
24
- translate(
25
- {
26
- id: 'theme.blog.post.readingTime.plurals',
27
- description:
28
- 'Pluralized label for "{readingTime} min read". 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)',
29
- message: 'One min read|{readingTime} min read',
30
- },
31
- {
32
- readingTime,
33
- },
34
- ),
35
- );
36
- };
37
- }
38
-
39
- function BlogPostItem(props) {
40
- const readingTimePlural = useReadingTimePlural();
41
- const {
42
- children,
43
- frontMatter,
44
- metadata,
45
- truncated,
46
- isBlogPostPage = false,
47
- } = props;
48
- const {
49
- date,
50
- formattedDate,
51
- permalink,
52
- tags,
53
- readingTime,
54
- title,
55
- editUrl,
56
- } = metadata;
57
- const {author, image, keywords} = frontMatter;
58
- const authorURL = frontMatter.author_url || frontMatter.authorURL;
59
- const authorTitle = frontMatter.author_title || frontMatter.authorTitle;
60
- const authorImageURL =
61
- frontMatter.author_image_url || frontMatter.authorImageURL;
62
-
63
- const renderPostHeader = () => {
64
- const TitleHeading = isBlogPostPage ? 'h1' : 'h2';
65
- return (
66
- <header>
67
- <TitleHeading className={styles.blogPostTitle}>
68
- {isBlogPostPage ? title : <Link to={permalink}>{title}</Link>}
69
- </TitleHeading>
70
- <div className={clsx(styles.blogPostData, 'margin-vert--md')}>
71
- <time dateTime={date}>{formattedDate}</time>
72
-
73
- {readingTime && (
74
- <>
75
- {' · '}
76
- {readingTimePlural(readingTime)}
77
- </>
78
- )}
79
- </div>
80
- <div className="avatar margin-vert--md">
81
- {authorImageURL && (
82
- <Link className="avatar__photo-link avatar__photo" href={authorURL}>
83
- <img src={authorImageURL} alt={author} />
84
- </Link>
85
- )}
86
- <div className="avatar__intro">
87
- {author && (
88
- <>
89
- <div className="avatar__name">
90
- <Link href={authorURL}>{author}</Link>
91
- </div>
92
- <small className="avatar__subtitle">{authorTitle}</small>
93
- </>
94
- )}
95
- </div>
96
- </div>
97
- </header>
98
- );
99
- };
100
-
101
- return (
102
- <>
103
- <Seo
104
- {...{
105
- keywords,
106
- image,
107
- }}
108
- />
109
-
110
- <article className={!isBlogPostPage ? 'margin-bottom--xl' : undefined}>
111
- {renderPostHeader()}
112
- <div className="markdown">
113
- <MDXProvider components={MDXComponents}>{children}</MDXProvider>
114
- </div>
115
- {(tags.length > 0 || truncated) && (
116
- <footer
117
- className={clsx('row docusaurus-mt-lg', {
118
- [styles.blogPostDetailsFull]: isBlogPostPage,
119
- })}>
120
- {tags.length > 0 && (
121
- <div className="col">
122
- <b>
123
- <Translate
124
- id="theme.tags.tagsListLabel"
125
- description="The label alongside a tag list">
126
- Tags:
127
- </Translate>
128
- </b>
129
- {tags.map(({label, permalink: tagPermalink}) => (
130
- <Link
131
- key={tagPermalink}
132
- className="margin-horiz--sm"
133
- to={tagPermalink}>
134
- {label}
135
- </Link>
136
- ))}
137
- </div>
138
- )}
139
-
140
- {isBlogPostPage && editUrl && (
141
- <div className="col margin-top--sm">
142
- <EditThisPage editUrl={editUrl} />
143
- </div>
144
- )}
145
-
146
- {!isBlogPostPage && truncated && (
147
- <div className="col text--right">
148
- <Link
149
- to={metadata.permalink}
150
- aria-label={`Read more about ${title}`}>
151
- <b>
152
- <Translate
153
- id="theme.blog.post.readMore"
154
- description="The label used in blog post item excerpts to link to full blog posts">
155
- Read More
156
- </Translate>
157
- </b>
158
- </Link>
159
- </div>
160
- )}
161
- </footer>
162
- )}
163
- </article>
164
- </>
165
- );
166
- }
167
-
168
- export default BlogPostItem;
@@ -1,43 +0,0 @@
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
- import React from 'react';
8
- import BlogLayout from '@theme/BlogLayout';
9
- import BlogPostItem from '@theme/BlogPostItem';
10
- import BlogPostPaginator from '@theme/BlogPostPaginator';
11
- import {ThemeClassNames} from '@docusaurus/theme-common';
12
-
13
- function BlogPostPage(props) {
14
- const {content: BlogPostContents, sidebar} = props;
15
- const {frontMatter, metadata} = BlogPostContents;
16
- const {title, description, nextItem, prevItem} = metadata;
17
- const {hide_table_of_contents: hideTableOfContents} = frontMatter;
18
- return (
19
- <BlogLayout
20
- title={title}
21
- description={description}
22
- wrapperClassName={ThemeClassNames.wrapper.blogPages}
23
- pageClassName={ThemeClassNames.page.blogPostPage}
24
- sidebar={sidebar}
25
- toc={
26
- !hideTableOfContents && BlogPostContents.toc
27
- ? BlogPostContents.toc
28
- : undefined
29
- }>
30
- <BlogPostItem
31
- frontMatter={frontMatter}
32
- metadata={metadata}
33
- isBlogPostPage>
34
- <BlogPostContents />
35
- </BlogPostItem>
36
- {(nextItem || prevItem) && (
37
- <BlogPostPaginator nextItem={nextItem} prevItem={prevItem} />
38
- )}
39
- </BlogLayout>
40
- );
41
- }
42
-
43
- export default BlogPostPage;
@@ -1,57 +0,0 @@
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
- import React from 'react';
8
- import Translate, {translate} from '@docusaurus/Translate';
9
- import Link from '@docusaurus/Link';
10
-
11
- function BlogPostPaginator(props) {
12
- const {nextItem, prevItem} = props;
13
- return (
14
- <nav
15
- className="pagination-nav docusaurus-mt-lg"
16
- aria-label={translate({
17
- id: 'theme.blog.post.paginator.navAriaLabel',
18
- message: 'Blog post page navigation',
19
- description: 'The ARIA label for the blog posts pagination',
20
- })}>
21
- <div className="pagination-nav__item">
22
- {prevItem && (
23
- <Link className="pagination-nav__link" to={prevItem.permalink}>
24
- <div className="pagination-nav__sublabel">
25
- <Translate
26
- id="theme.blog.post.paginator.newerPost"
27
- description="The blog post button label to navigate to the newer/previous post">
28
- Newer Post
29
- </Translate>
30
- </div>
31
- <div className="pagination-nav__label">
32
- &laquo; {prevItem.title}
33
- </div>
34
- </Link>
35
- )}
36
- </div>
37
- <div className="pagination-nav__item pagination-nav__item--next">
38
- {nextItem && (
39
- <Link className="pagination-nav__link" to={nextItem.permalink}>
40
- <div className="pagination-nav__sublabel">
41
- <Translate
42
- id="theme.blog.post.paginator.olderPost"
43
- description="The blog post button label to navigate to the older/next post">
44
- Older Post
45
- </Translate>
46
- </div>
47
- <div className="pagination-nav__label">
48
- {nextItem.title} &raquo;
49
- </div>
50
- </Link>
51
- )}
52
- </div>
53
- </nav>
54
- );
55
- }
56
-
57
- export default BlogPostPaginator;
@@ -1,66 +0,0 @@
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
- import React from 'react';
8
- import Link from '@docusaurus/Link';
9
- import BlogLayout from '@theme/BlogLayout';
10
- import {translate} from '@docusaurus/Translate';
11
- import {ThemeClassNames} from '@docusaurus/theme-common';
12
-
13
- function getCategoryOfTag(tag) {
14
- // tag's category should be customizable
15
- return tag[0].toUpperCase();
16
- }
17
-
18
- function BlogTagsListPage(props) {
19
- const {tags, sidebar} = props;
20
- const title = translate({
21
- id: 'theme.tags.tagsPageTitle',
22
- message: 'Tags',
23
- description: 'The title of the tag list page',
24
- });
25
- const tagCategories = {};
26
- Object.keys(tags).forEach((tag) => {
27
- const category = getCategoryOfTag(tag);
28
- tagCategories[category] = tagCategories[category] || [];
29
- tagCategories[category].push(tag);
30
- });
31
- const tagsList = Object.entries(tagCategories).sort(([a], [b]) =>
32
- a.localeCompare(b),
33
- );
34
- const tagsSection = tagsList
35
- .map(([category, tagsForCategory]) => (
36
- <article key={category}>
37
- <h2>{category}</h2>
38
- {tagsForCategory.map((tag) => (
39
- <Link
40
- className="padding-right--md"
41
- href={tags[tag].permalink}
42
- key={tag}>
43
- {tags[tag].name} ({tags[tag].count})
44
- </Link>
45
- ))}
46
- <hr />
47
- </article>
48
- ))
49
- .filter((item) => item != null);
50
- return (
51
- <BlogLayout
52
- title={title}
53
- wrapperClassName={ThemeClassNames.wrapper.blogPages}
54
- pageClassName={ThemeClassNames.page.blogTagsListPage}
55
- searchMetadatas={{
56
- // assign unique search tag to exclude this page from search results!
57
- tag: 'blog_tags_list',
58
- }}
59
- sidebar={sidebar}>
60
- <h1>{title}</h1>
61
- <section className="margin-vert--lg">{tagsSection}</section>
62
- </BlogLayout>
63
- );
64
- }
65
-
66
- export default BlogTagsListPage;
@@ -1,83 +0,0 @@
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
- import React from 'react';
8
- import Link from '@docusaurus/Link';
9
- import BlogLayout from '@theme/BlogLayout';
10
- import BlogPostItem from '@theme/BlogPostItem';
11
- import Translate, {translate} from '@docusaurus/Translate';
12
- import {ThemeClassNames, usePluralForm} from '@docusaurus/theme-common'; // Very simple pluralization: probably good enough for now
13
-
14
- function useBlogPostsPlural() {
15
- const {selectMessage} = usePluralForm();
16
- return (count) =>
17
- selectMessage(
18
- count,
19
- translate(
20
- {
21
- id: 'theme.blog.post.plurals',
22
- description:
23
- 'Pluralized label for "{count} posts". 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)',
24
- message: 'One post|{count} posts',
25
- },
26
- {
27
- count,
28
- },
29
- ),
30
- );
31
- }
32
-
33
- function BlogTagsPostPage(props) {
34
- const {metadata, items, sidebar} = props;
35
- const {allTagsPath, name: tagName, count} = metadata;
36
- const blogPostsPlural = useBlogPostsPlural();
37
- const title = translate(
38
- {
39
- id: 'theme.blog.tagTitle',
40
- description: 'The title of the page for a blog tag',
41
- message: '{nPosts} tagged with "{tagName}"',
42
- },
43
- {
44
- nPosts: blogPostsPlural(count),
45
- tagName,
46
- },
47
- );
48
- return (
49
- <BlogLayout
50
- title={title}
51
- wrapperClassName={ThemeClassNames.wrapper.blogPages}
52
- pageClassName={ThemeClassNames.page.blogTagsPostPage}
53
- searchMetadatas={{
54
- // assign unique search tag to exclude this page from search results!
55
- tag: 'blog_tags_posts',
56
- }}
57
- sidebar={sidebar}>
58
- <header className="margin-bottom--xl">
59
- <h1>{title}</h1>
60
-
61
- <Link href={allTagsPath}>
62
- <Translate
63
- id="theme.tags.tagsPageLink"
64
- description="The label of the link targeting the tag list page">
65
- View All Tags
66
- </Translate>
67
- </Link>
68
- </header>
69
-
70
- {items.map(({content: BlogPostContent}) => (
71
- <BlogPostItem
72
- key={BlogPostContent.metadata.permalink}
73
- frontMatter={BlogPostContent.frontMatter}
74
- metadata={BlogPostContent.metadata}
75
- truncated>
76
- <BlogPostContent />
77
- </BlogPostItem>
78
- ))}
79
- </BlogLayout>
80
- );
81
- }
82
-
83
- export default BlogTagsPostPage;
@@ -1,266 +0,0 @@
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
- import React, {useEffect, useState, useRef} from 'react';
8
- import clsx from 'clsx';
9
- import Highlight, {defaultProps} from 'prism-react-renderer';
10
- import copy from 'copy-text-to-clipboard';
11
- import rangeParser from 'parse-numeric-range';
12
- import usePrismTheme from '@theme/hooks/usePrismTheme';
13
- import Translate, {translate} from '@docusaurus/Translate';
14
- import styles from './styles.module.css';
15
- import {useThemeConfig, parseCodeBlockTitle} from '@docusaurus/theme-common';
16
- const highlightLinesRangeRegex = /{([\d,-]+)}/;
17
-
18
- const getHighlightDirectiveRegex = (
19
- languages = ['js', 'jsBlock', 'jsx', 'python', 'html'],
20
- ) => {
21
- // supported types of comments
22
- const comments = {
23
- js: {
24
- start: '\\/\\/',
25
- end: '',
26
- },
27
- jsBlock: {
28
- start: '\\/\\*',
29
- end: '\\*\\/',
30
- },
31
- jsx: {
32
- start: '\\{\\s*\\/\\*',
33
- end: '\\*\\/\\s*\\}',
34
- },
35
- python: {
36
- start: '#',
37
- end: '',
38
- },
39
- html: {
40
- start: '<!--',
41
- end: '-->',
42
- },
43
- }; // supported directives
44
-
45
- const directives = [
46
- 'highlight-next-line',
47
- 'highlight-start',
48
- 'highlight-end',
49
- ].join('|'); // to be more reliable, the opening and closing comment must match
50
-
51
- const commentPattern = languages
52
- .map(
53
- (lang) =>
54
- `(?:${comments[lang].start}\\s*(${directives})\\s*${comments[lang].end})`,
55
- )
56
- .join('|'); // white space is allowed, but otherwise it should be on it's own line
57
-
58
- return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
59
- }; // select comment styles based on language
60
-
61
- const highlightDirectiveRegex = (lang) => {
62
- switch (lang) {
63
- case 'js':
64
- case 'javascript':
65
- case 'ts':
66
- case 'typescript':
67
- return getHighlightDirectiveRegex(['js', 'jsBlock']);
68
-
69
- case 'jsx':
70
- case 'tsx':
71
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'jsx']);
72
-
73
- case 'html':
74
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'html']);
75
-
76
- case 'python':
77
- case 'py':
78
- return getHighlightDirectiveRegex(['python']);
79
-
80
- default:
81
- // all comment types
82
- return getHighlightDirectiveRegex();
83
- }
84
- };
85
-
86
- export default function CodeBlock({
87
- children,
88
- className: languageClassName,
89
- metastring,
90
- title,
91
- }) {
92
- const {prism} = useThemeConfig();
93
- const [showCopied, setShowCopied] = useState(false);
94
- const [mounted, setMounted] = useState(false); // The Prism theme on SSR is always the default theme but the site theme
95
- // can be in a different mode. React hydration doesn't update DOM styles
96
- // that come from SSR. Hence force a re-render after mounting to apply the
97
- // current relevant styles. There will be a flash seen of the original
98
- // styles seen using this current approach but that's probably ok. Fixing
99
- // the flash will require changing the theming approach and is not worth it
100
- // at this point.
101
-
102
- useEffect(() => {
103
- setMounted(true);
104
- }, []); // TODO: the title is provided by MDX as props automatically
105
- // so we probably don't need to parse the metastring
106
- // (note: title="xyz" => title prop still has the quotes)
107
-
108
- const codeBlockTitle = parseCodeBlockTitle(metastring) || title;
109
- const button = useRef(null);
110
- let highlightLines = [];
111
- const prismTheme = usePrismTheme(); // In case interleaved Markdown (e.g. when using CodeBlock as standalone component).
112
-
113
- const content = Array.isArray(children) ? children.join('') : children;
114
-
115
- if (metastring && highlightLinesRangeRegex.test(metastring)) {
116
- // Tested above
117
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
118
- const highlightLinesRange = metastring.match(highlightLinesRangeRegex)[1];
119
- highlightLines = rangeParser(highlightLinesRange).filter((n) => n > 0);
120
- }
121
-
122
- let language =
123
- languageClassName && // Force Prism's language union type to `any` because it does not contain all available languages
124
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
- languageClassName.replace(/language-/, '');
126
-
127
- if (!language && prism.defaultLanguage) {
128
- language = prism.defaultLanguage;
129
- } // only declaration OR directive highlight can be used for a block
130
-
131
- let code = content.replace(/\n$/, '');
132
-
133
- if (highlightLines.length === 0 && language !== undefined) {
134
- let range = '';
135
- const directiveRegex = highlightDirectiveRegex(language); // go through line by line
136
-
137
- const lines = content.replace(/\n$/, '').split('\n');
138
- let blockStart; // loop through lines
139
-
140
- for (let index = 0; index < lines.length; ) {
141
- const line = lines[index]; // adjust for 0-index
142
-
143
- const lineNumber = index + 1;
144
- const match = line.match(directiveRegex);
145
-
146
- if (match !== null) {
147
- const directive = match
148
- .slice(1)
149
- .reduce((final, item) => final || item, undefined);
150
-
151
- switch (directive) {
152
- case 'highlight-next-line':
153
- range += `${lineNumber},`;
154
- break;
155
-
156
- case 'highlight-start':
157
- blockStart = lineNumber;
158
- break;
159
-
160
- case 'highlight-end':
161
- range += `${blockStart}-${lineNumber - 1},`;
162
- break;
163
-
164
- default:
165
- break;
166
- }
167
-
168
- lines.splice(index, 1);
169
- } else {
170
- // lines without directives are unchanged
171
- index += 1;
172
- }
173
- }
174
-
175
- highlightLines = rangeParser(range);
176
- code = lines.join('\n');
177
- }
178
-
179
- const handleCopyCode = () => {
180
- copy(code);
181
- setShowCopied(true);
182
- setTimeout(() => setShowCopied(false), 2000);
183
- };
184
-
185
- return (
186
- <Highlight
187
- {...defaultProps}
188
- key={String(mounted)}
189
- theme={prismTheme}
190
- code={code}
191
- language={language}>
192
- {({className, style, tokens, getLineProps, getTokenProps}) => (
193
- <div className={styles.codeBlockContainer}>
194
- {codeBlockTitle && (
195
- <div style={style} className={styles.codeBlockTitle}>
196
- {codeBlockTitle}
197
- </div>
198
- )}
199
- <div className={clsx(styles.codeBlockContent, language)}>
200
- <pre
201
- /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
202
- tabIndex={0}
203
- className={clsx(className, styles.codeBlock, 'thin-scrollbar')}
204
- style={style}>
205
- <code className={styles.codeBlockLines}>
206
- {tokens.map((line, i) => {
207
- if (line.length === 1 && line[0].content === '') {
208
- line[0].content = '\n'; // eslint-disable-line no-param-reassign
209
- }
210
-
211
- const lineProps = getLineProps({
212
- line,
213
- key: i,
214
- });
215
-
216
- if (highlightLines.includes(i + 1)) {
217
- lineProps.className += ' docusaurus-highlight-code-line';
218
- }
219
-
220
- return (
221
- <span key={i} {...lineProps}>
222
- {line.map((token, key) => (
223
- <span
224
- key={key}
225
- {...getTokenProps({
226
- token,
227
- key,
228
- })}
229
- />
230
- ))}
231
- </span>
232
- );
233
- })}
234
- </code>
235
- </pre>
236
-
237
- <button
238
- ref={button}
239
- type="button"
240
- aria-label={translate({
241
- id: 'theme.CodeBlock.copyButtonAriaLabel',
242
- message: 'Copy code to clipboard',
243
- description: 'The ARIA label for copy code blocks button',
244
- })}
245
- className={clsx(styles.copyButton, 'clean-btn')}
246
- onClick={handleCopyCode}>
247
- {showCopied ? (
248
- <Translate
249
- id="theme.CodeBlock.copied"
250
- description="The copied button label on code blocks">
251
- Copied
252
- </Translate>
253
- ) : (
254
- <Translate
255
- id="theme.CodeBlock.copy"
256
- description="The copy button label on code blocks">
257
- Copy
258
- </Translate>
259
- )}
260
- </button>
261
- </div>
262
- </div>
263
- )}
264
- </Highlight>
265
- );
266
- }