@docusaurus/theme-classic 2.0.0-beta.1ec2c95e3 → 2.0.0-beta.21

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 (675) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +39 -0
  3. package/lib/getSwizzleConfig.d.ts +8 -0
  4. package/lib/getSwizzleConfig.js +228 -0
  5. package/lib/index.d.ts +12 -0
  6. package/lib/index.js +106 -170
  7. package/lib/nprogress.css +41 -0
  8. package/lib/nprogress.d.ts +10 -0
  9. package/lib/nprogress.js +25 -0
  10. package/lib/prism-include-languages.d.ts +7 -0
  11. package/lib/prism-include-languages.js +0 -2
  12. package/lib/theme/Admonition/index.d.ts +9 -0
  13. package/lib/theme/Admonition/index.js +101 -0
  14. package/lib/theme/AnnouncementBar/index.d.ts +8 -0
  15. package/lib/theme/AnnouncementBar/index.js +38 -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 +31 -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 +53 -61
  26. package/lib/theme/BlogListPaginator/index.d.ts +9 -0
  27. package/lib/theme/BlogListPaginator/index.js +41 -56
  28. package/lib/theme/BlogPostAuthor/index.d.ts +9 -0
  29. package/lib/theme/BlogPostAuthor/index.js +46 -0
  30. package/lib/theme/BlogPostAuthors/index.d.ts +9 -0
  31. package/lib/theme/BlogPostAuthors/index.js +42 -0
  32. package/{src/theme/Toggle → lib/theme/BlogPostAuthors}/styles.module.css +11 -7
  33. package/lib/theme/BlogPostItem/index.d.ts +9 -0
  34. package/lib/theme/BlogPostItem/index.js +120 -127
  35. package/lib/theme/BlogPostItem/styles.module.css +9 -0
  36. package/lib/theme/BlogPostPage/index.d.ts +10 -0
  37. package/lib/theme/BlogPostPage/index.js +90 -60
  38. package/lib/theme/BlogPostPaginator/index.d.ts +9 -0
  39. package/lib/theme/BlogPostPaginator/index.js +40 -57
  40. package/lib/theme/BlogSidebar/Desktop/index.d.ts +9 -0
  41. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/index.js +19 -23
  42. package/{lib-next/theme/BlogSidebar → lib/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  43. package/lib/theme/BlogSidebar/Mobile/index.d.ts +9 -0
  44. package/lib/theme/BlogSidebar/Mobile/index.js +34 -0
  45. package/lib/theme/BlogSidebar/index.d.ts +9 -0
  46. package/lib/theme/BlogSidebar/index.js +13 -43
  47. package/lib/theme/BlogTagsListPage/index.d.ts +10 -0
  48. package/lib/theme/BlogTagsListPage/index.js +27 -69
  49. package/lib/theme/BlogTagsPostsPage/index.d.ts +10 -0
  50. package/lib/theme/BlogTagsPostsPage/index.js +72 -89
  51. package/lib/theme/CodeBlock/Container/index.d.ts +10 -0
  52. package/lib/theme/CodeBlock/Container/index.js +30 -0
  53. package/lib/theme/CodeBlock/Container/styles.module.css +14 -0
  54. package/lib/theme/CodeBlock/Content/Element.d.ts +9 -0
  55. package/lib/theme/CodeBlock/Content/Element.js +23 -0
  56. package/lib/theme/CodeBlock/Content/String.d.ts +9 -0
  57. package/lib/theme/CodeBlock/Content/String.js +104 -0
  58. package/{lib-next/theme/CodeBlock → lib/theme/CodeBlock/Content}/styles.module.css +45 -27
  59. package/lib/theme/CodeBlock/CopyButton/index.d.ts +9 -0
  60. package/lib/theme/CodeBlock/CopyButton/index.js +61 -0
  61. package/lib/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  62. package/lib/theme/CodeBlock/Line/index.d.ts +9 -0
  63. package/lib/theme/CodeBlock/Line/index.js +42 -0
  64. package/lib/theme/CodeBlock/Line/styles.module.css +51 -0
  65. package/lib/theme/CodeBlock/WordWrapButton/index.d.ts +9 -0
  66. package/lib/theme/CodeBlock/WordWrapButton/index.js +40 -0
  67. package/lib/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  68. package/lib/theme/CodeBlock/index.d.ts +9 -0
  69. package/lib/theme/CodeBlock/index.js +31 -246
  70. package/lib/theme/ColorModeToggle/index.d.ts +11 -0
  71. package/lib/theme/ColorModeToggle/index.js +60 -0
  72. package/lib/theme/ColorModeToggle/styles.module.css +35 -0
  73. package/lib/theme/Details/index.d.ts +9 -0
  74. package/lib/theme/Details/index.js +21 -0
  75. package/lib/theme/Details/styles.module.css +13 -0
  76. package/lib/theme/DocBreadcrumbs/index.d.ts +8 -0
  77. package/lib/theme/DocBreadcrumbs/index.js +115 -0
  78. package/lib/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
  79. package/lib/theme/DocCard/index.d.ts +9 -0
  80. package/lib/theme/DocCard/index.js +83 -0
  81. package/lib/theme/DocCard/styles.module.css +34 -0
  82. package/lib/theme/DocCardList/index.d.ts +9 -0
  83. package/lib/theme/DocCardList/index.js +30 -0
  84. package/lib/theme/DocCategoryGeneratedIndexPage/index.d.ts +10 -0
  85. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +74 -0
  86. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  87. package/lib/theme/DocItem/index.d.ts +10 -0
  88. package/lib/theme/DocItem/index.js +102 -113
  89. package/lib/theme/DocItem/styles.module.css +12 -10
  90. package/lib/theme/DocItemFooter/index.d.ts +10 -0
  91. package/lib/theme/DocItemFooter/index.js +74 -0
  92. package/{lib-next/theme/DocItem → lib/theme/DocItemFooter}/styles.module.css +1 -9
  93. package/lib/theme/DocPage/Layout/Main/index.d.ts +9 -0
  94. package/lib/theme/DocPage/Layout/Main/index.js +29 -0
  95. package/lib/theme/DocPage/Layout/Main/styles.module.css +28 -0
  96. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.d.ts +9 -0
  97. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  98. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  99. package/lib/theme/DocPage/Layout/Sidebar/index.d.ts +9 -0
  100. package/lib/theme/DocPage/Layout/Sidebar/index.js +65 -0
  101. package/lib/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  102. package/lib/theme/DocPage/Layout/index.d.ts +9 -0
  103. package/lib/theme/DocPage/Layout/index.js +34 -0
  104. package/{lib-next/theme/IconExternalLink → lib/theme/DocPage/Layout}/styles.module.css +7 -4
  105. package/lib/theme/DocPage/index.d.ts +10 -0
  106. package/lib/theme/DocPage/index.js +43 -165
  107. package/lib/theme/DocPaginator/index.d.ts +9 -0
  108. package/lib/theme/DocPaginator/index.js +40 -56
  109. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.d.ts +9 -0
  110. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  111. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  112. package/lib/theme/DocSidebar/Desktop/Content/index.d.ts +9 -0
  113. package/lib/theme/DocSidebar/Desktop/Content/index.js +44 -0
  114. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  115. package/lib/theme/DocSidebar/Desktop/index.d.ts +11 -0
  116. package/lib/theme/DocSidebar/Desktop/index.js +34 -0
  117. package/lib/theme/DocSidebar/Desktop/styles.module.css +50 -0
  118. package/lib/theme/DocSidebar/Mobile/index.d.ts +11 -0
  119. package/lib/theme/DocSidebar/Mobile/index.js +45 -0
  120. package/lib/theme/DocSidebar/index.d.ts +9 -0
  121. package/lib/theme/DocSidebar/index.js +17 -302
  122. package/lib/theme/DocSidebarItem/Category/index.d.ts +9 -0
  123. package/lib/theme/DocSidebarItem/Category/index.js +183 -0
  124. package/lib/theme/DocSidebarItem/Html/index.d.ts +9 -0
  125. package/lib/theme/DocSidebarItem/Html/index.js +26 -0
  126. package/lib/theme/DocSidebarItem/Html/styles.module.css +13 -0
  127. package/lib/theme/DocSidebarItem/Link/index.d.ts +9 -0
  128. package/lib/theme/DocSidebarItem/Link/index.js +53 -0
  129. package/{lib-next/theme/MDXPage → lib/theme/DocSidebarItem/Link}/styles.module.css +2 -2
  130. package/lib/theme/DocSidebarItem/index.d.ts +9 -0
  131. package/lib/theme/DocSidebarItem/index.js +21 -0
  132. package/lib/theme/DocSidebarItems/index.d.ts +11 -0
  133. package/lib/theme/DocSidebarItems/index.js +22 -0
  134. package/lib/theme/DocTagDocListPage/index.d.ts +10 -0
  135. package/lib/theme/DocTagDocListPage/index.js +89 -0
  136. package/lib/theme/DocTagsListPage/index.d.ts +10 -0
  137. package/lib/theme/DocTagsListPage/index.js +40 -0
  138. package/lib/theme/DocVersionBadge/index.d.ts +9 -0
  139. package/lib/theme/DocVersionBadge/index.js +30 -0
  140. package/lib/theme/DocVersionBanner/index.d.ts +9 -0
  141. package/lib/theme/DocVersionBanner/index.js +105 -102
  142. package/lib/theme/EditThisPage/index.d.ts +9 -0
  143. package/lib/theme/EditThisPage/index.js +19 -24
  144. package/{src/theme/hooks/useLockBodyScroll.ts → lib/theme/ErrorPageContent.d.ts} +4 -14
  145. package/lib/theme/ErrorPageContent.js +35 -0
  146. package/lib/theme/Footer/Copyright/index.d.ts +9 -0
  147. package/lib/theme/Footer/Copyright/index.js +17 -0
  148. package/lib/theme/Footer/Layout/index.d.ts +9 -0
  149. package/lib/theme/Footer/Layout/index.js +26 -0
  150. package/lib/theme/Footer/LinkItem/index.d.ts +9 -0
  151. package/lib/theme/Footer/LinkItem/index.js +31 -0
  152. package/lib/theme/Footer/Links/MultiColumn/index.d.ts +9 -0
  153. package/lib/theme/Footer/Links/MultiColumn/index.js +43 -0
  154. package/lib/theme/Footer/Links/Simple/index.d.ts +9 -0
  155. package/lib/theme/Footer/Links/Simple/index.js +37 -0
  156. package/lib/theme/Footer/Links/index.d.ts +9 -0
  157. package/lib/theme/Footer/Links/index.js +17 -0
  158. package/lib/theme/Footer/Logo/index.d.ts +9 -0
  159. package/lib/theme/Footer/Logo/index.js +36 -0
  160. package/lib/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  161. package/{lib-next/theme/Footer/styles.module.css → lib/theme/Footer/index.d.ts} +4 -9
  162. package/lib/theme/Footer/index.js +17 -104
  163. package/lib/theme/Heading/index.d.ts +9 -0
  164. package/lib/theme/Heading/index.js +35 -68
  165. package/lib/theme/Heading/styles.module.css +25 -5
  166. package/lib/theme/IconArrow/index.d.ts +9 -0
  167. package/lib/theme/IconArrow/index.js +7 -18
  168. package/lib/theme/IconClose/index.d.ts +9 -0
  169. package/lib/theme/IconClose/index.js +23 -0
  170. package/lib/theme/IconDarkMode/index.d.ts +9 -0
  171. package/lib/theme/IconDarkMode/index.js +17 -0
  172. package/lib/theme/IconEdit/index.d.ts +9 -0
  173. package/lib/theme/IconEdit/index.js +16 -25
  174. package/lib/theme/IconExternalLink/index.d.ts +9 -0
  175. package/lib/theme/IconExternalLink/index.js +17 -24
  176. package/lib/theme/IconExternalLink/styles.module.css +0 -2
  177. package/lib/theme/IconHome/index.d.ts +9 -0
  178. package/lib/theme/IconHome/index.js +17 -0
  179. package/lib/theme/IconLanguage/index.d.ts +9 -0
  180. package/lib/theme/IconLanguage/index.js +16 -23
  181. package/lib/theme/IconLightMode/index.d.ts +9 -0
  182. package/lib/theme/IconLightMode/index.js +17 -0
  183. package/lib/theme/IconMenu/index.d.ts +9 -0
  184. package/lib/theme/IconMenu/index.js +21 -20
  185. package/lib/theme/LastUpdated/index.d.ts +9 -0
  186. package/lib/theme/LastUpdated/index.js +57 -42
  187. package/lib/theme/Layout/index.d.ts +10 -0
  188. package/lib/theme/Layout/index.js +33 -46
  189. package/lib/theme/LayoutProviders/index.d.ts +9 -0
  190. package/lib/theme/LayoutProviders/index.js +27 -30
  191. package/{lib-next/theme/BlogPostItem/styles.module.css → lib/theme/Logo/index.d.ts} +3 -12
  192. package/lib/theme/Logo/index.js +37 -49
  193. package/lib/theme/MDXComponents/A.d.ts +9 -0
  194. package/{lib-next/theme/ThemeContext.js → lib/theme/MDXComponents/A.js} +4 -2
  195. package/lib/theme/MDXComponents/Code.d.ts +9 -0
  196. package/lib/theme/MDXComponents/Code.js +28 -0
  197. package/lib/theme/MDXComponents/Details.d.ts +9 -0
  198. package/lib/theme/MDXComponents/Details.js +22 -0
  199. package/lib/theme/MDXComponents/Head.d.ts +9 -0
  200. package/lib/theme/MDXComponents/Head.js +23 -0
  201. package/lib/theme/MDXComponents/Heading.d.ts +9 -0
  202. package/{lib-next/theme/NavbarItem/SearchNavbarItem.js → lib/theme/MDXComponents/Heading.js} +3 -7
  203. package/lib/theme/MDXComponents/Img/index.d.ts +9 -0
  204. package/lib/theme/MDXComponents/Img/index.js +22 -0
  205. package/{lib-next/theme/IconEdit → lib/theme/MDXComponents/Img}/styles.module.css +2 -3
  206. package/lib/theme/MDXComponents/Pre.d.ts +9 -0
  207. package/lib/theme/MDXComponents/Pre.js +19 -0
  208. package/lib/theme/MDXComponents/Ul/index.d.ts +9 -0
  209. package/lib/theme/MDXComponents/Ul/index.js +21 -0
  210. package/lib/theme/MDXComponents/Ul/styles.module.css +14 -0
  211. package/lib/theme/MDXComponents/index.d.ts +9 -0
  212. package/lib/theme/MDXComponents/index.js +23 -57
  213. package/lib/theme/MDXContent/index.d.ts +9 -0
  214. package/lib/theme/MDXContent/index.js +12 -0
  215. package/lib/theme/MDXPage/index.d.ts +10 -0
  216. package/lib/theme/MDXPage/index.js +44 -56
  217. package/{lib-next/theme/Heading/styles.module.css → lib/theme/Navbar/ColorModeToggle/index.d.ts} +3 -9
  218. package/lib/theme/Navbar/ColorModeToggle/index.js +23 -0
  219. package/lib/theme/Navbar/Content/index.d.ts +8 -0
  220. package/lib/theme/Navbar/Content/index.js +71 -0
  221. package/lib/theme/Navbar/Content/styles.module.css +15 -0
  222. package/lib/theme/Navbar/Layout/index.d.ts +9 -0
  223. package/lib/theme/Navbar/Layout/index.js +52 -0
  224. package/{lib-next/theme/Navbar → lib/theme/Navbar/Layout}/styles.module.css +0 -6
  225. package/lib/theme/Navbar/Logo/index.d.ts +8 -0
  226. package/{lib-next/theme/TabItem → lib/theme/Navbar/Logo}/index.js +7 -12
  227. package/lib/theme/Navbar/MobileSidebar/Header/index.d.ts +8 -0
  228. package/lib/theme/Navbar/MobileSidebar/Header/index.js +31 -0
  229. package/lib/theme/Navbar/MobileSidebar/Layout/index.d.ts +9 -0
  230. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  231. package/{lib-next/theme/TOCInline/styles.module.css → lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.d.ts} +2 -6
  232. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +32 -0
  233. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.d.ts +8 -0
  234. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +35 -0
  235. package/lib/theme/Navbar/MobileSidebar/Toggle/index.d.ts +8 -0
  236. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  237. package/lib/theme/Navbar/MobileSidebar/index.d.ts +8 -0
  238. package/lib/theme/Navbar/MobileSidebar/index.js +29 -0
  239. package/lib/theme/Navbar/Search/index.d.ts +9 -0
  240. package/lib/theme/Navbar/Search/index.js +12 -0
  241. package/lib/theme/Navbar/Search/styles.module.css +20 -0
  242. package/lib/theme/Navbar/index.d.ts +8 -0
  243. package/lib/theme/Navbar/index.js +9 -140
  244. package/lib/theme/NavbarItem/ComponentTypes.d.ts +9 -0
  245. package/lib/theme/NavbarItem/ComponentTypes.js +27 -0
  246. package/lib/theme/NavbarItem/DefaultNavbarItem.d.ts +10 -0
  247. package/lib/theme/NavbarItem/DefaultNavbarItem.js +36 -193
  248. package/lib/theme/NavbarItem/DocNavbarItem.d.ts +9 -0
  249. package/lib/theme/NavbarItem/DocNavbarItem.js +24 -52
  250. package/lib/theme/NavbarItem/DocSidebarNavbarItem.d.ts +9 -0
  251. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +33 -0
  252. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.d.ts +9 -0
  253. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +75 -62
  254. package/lib/theme/NavbarItem/DocsVersionNavbarItem.d.ts +9 -0
  255. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +11 -32
  256. package/lib/theme/NavbarItem/DropdownNavbarItem.d.ts +9 -0
  257. package/lib/theme/NavbarItem/DropdownNavbarItem.js +162 -0
  258. package/lib/theme/NavbarItem/HtmlNavbarItem.d.ts +9 -0
  259. package/lib/theme/NavbarItem/HtmlNavbarItem.js +28 -0
  260. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +9 -0
  261. package/{src/theme/NavbarItem/LocaleDropdownNavbarItem.tsx → lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js} +28 -27
  262. package/{lib-next/theme/hooks/styles.css → lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
  263. package/lib/theme/NavbarItem/NavbarNavLink.d.ts +9 -0
  264. package/lib/theme/NavbarItem/NavbarNavLink.js +68 -0
  265. package/lib/theme/NavbarItem/SearchNavbarItem.d.ts +9 -0
  266. package/lib/theme/NavbarItem/SearchNavbarItem.js +10 -19
  267. package/lib/theme/NavbarItem/index.d.ts +9 -0
  268. package/lib/theme/NavbarItem/index.js +15 -45
  269. package/lib/theme/NotFound.d.ts +8 -0
  270. package/lib/theme/NotFound.js +44 -49
  271. package/lib/theme/PaginatorNavLink/index.d.ts +9 -0
  272. package/lib/theme/PaginatorNavLink/index.js +23 -0
  273. package/lib/theme/SearchBar.d.ts +7 -0
  274. package/lib/theme/SearchBar.js +11 -15
  275. package/lib/theme/SearchMetadata/index.d.ts +9 -0
  276. package/lib/theme/SearchMetadata/index.js +34 -0
  277. package/lib/theme/SiteMetadata/index.d.ts +8 -0
  278. package/lib/theme/SiteMetadata/index.js +117 -0
  279. package/lib/theme/SkipToContent/index.d.ts +8 -0
  280. package/lib/theme/SkipToContent/index.js +16 -62
  281. package/lib/theme/SkipToContent/styles.module.css +7 -0
  282. package/lib/theme/TOC/index.d.ts +9 -0
  283. package/lib/theme/TOC/index.js +18 -52
  284. package/lib/theme/TOC/styles.module.css +1 -1
  285. package/lib/theme/TOCCollapsible/CollapseButton/index.d.ts +9 -0
  286. package/lib/theme/TOCCollapsible/CollapseButton/index.js +29 -0
  287. package/lib/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  288. package/lib/theme/TOCCollapsible/index.d.ts +9 -0
  289. package/lib/theme/TOCCollapsible/index.js +42 -0
  290. package/lib/theme/TOCCollapsible/styles.module.css +31 -0
  291. package/lib/theme/TOCInline/index.d.ts +9 -0
  292. package/lib/theme/TOCInline/index.js +15 -46
  293. package/lib/theme/TOCItems/Tree.d.ts +11 -0
  294. package/lib/theme/TOCItems/Tree.js +37 -0
  295. package/lib/theme/TOCItems/index.d.ts +9 -0
  296. package/lib/theme/TOCItems/index.js +53 -0
  297. package/lib/theme/TabItem/index.d.ts +9 -0
  298. package/lib/theme/TabItem/index.js +11 -24
  299. package/lib/theme/{hooks/styles.css → TabItem/styles.module.css} +2 -2
  300. package/lib/theme/Tabs/index.d.ts +9 -0
  301. package/lib/theme/Tabs/index.js +159 -123
  302. package/lib/theme/Tabs/styles.module.css +4 -13
  303. package/lib/theme/Tag/index.d.ts +9 -0
  304. package/lib/theme/Tag/index.js +23 -0
  305. package/lib/theme/Tag/styles.module.css +70 -0
  306. package/lib/theme/TagsListByLetter/index.d.ts +9 -0
  307. package/lib/theme/TagsListByLetter/index.js +38 -0
  308. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  309. package/lib/theme/TagsListInline/index.d.ts +9 -0
  310. package/lib/theme/TagsListInline/index.js +31 -0
  311. package/lib/theme/TagsListInline/styles.module.css +15 -0
  312. package/lib/theme/ThemedImage/index.d.ts +9 -0
  313. package/lib/theme/ThemedImage/index.js +33 -43
  314. package/lib/theme/ThemedImage/styles.module.css +2 -2
  315. package/lib/theme/prism-include-languages.d.ts +8 -0
  316. package/lib/theme/prism-include-languages.js +19 -33
  317. package/lib/translations.d.ts +15 -0
  318. package/lib/translations.js +122 -122
  319. package/lib/validateThemeConfig.d.ts +12 -0
  320. package/lib/validateThemeConfig.js +367 -284
  321. package/package.json +36 -35
  322. package/src/admonitions.css +39 -0
  323. package/src/deps.d.ts +13 -0
  324. package/src/getSwizzleConfig.ts +245 -0
  325. package/src/index.ts +55 -76
  326. package/src/nprogress.css +41 -0
  327. package/src/nprogress.ts +31 -0
  328. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  329. package/src/theme/Admonition/index.tsx +106 -0
  330. package/src/theme/AnnouncementBar/index.tsx +9 -15
  331. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  332. package/src/theme/BackToTopButton/index.tsx +34 -0
  333. package/src/theme/BackToTopButton/styles.module.css +44 -0
  334. package/src/theme/BlogArchivePage/index.tsx +92 -0
  335. package/src/theme/BlogLayout/index.tsx +38 -0
  336. package/src/theme/BlogListPage/index.tsx +45 -35
  337. package/src/theme/BlogListPaginator/index.tsx +27 -32
  338. package/src/theme/BlogPostAuthor/index.tsx +50 -0
  339. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  340. package/{lib/theme/Toggle → src/theme/BlogPostAuthors}/styles.module.css +11 -7
  341. package/src/theme/BlogPostItem/index.tsx +86 -92
  342. package/src/theme/BlogPostItem/styles.module.css +9 -0
  343. package/src/theme/BlogPostPage/index.tsx +85 -39
  344. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  345. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  346. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +5 -4
  347. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  348. package/src/theme/BlogSidebar/index.tsx +10 -33
  349. package/src/theme/BlogTagsListPage/index.tsx +24 -67
  350. package/src/theme/BlogTagsPostsPage/index.tsx +50 -49
  351. package/src/theme/CodeBlock/Container/index.tsx +35 -0
  352. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  353. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  354. package/src/theme/CodeBlock/Content/String.tsx +111 -0
  355. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +45 -27
  356. package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
  357. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  358. package/src/theme/CodeBlock/Line/index.tsx +49 -0
  359. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  360. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  361. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  362. package/src/theme/CodeBlock/index.tsx +29 -253
  363. package/src/theme/ColorModeToggle/index.tsx +67 -0
  364. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  365. package/src/theme/Details/index.tsx +26 -0
  366. package/src/theme/Details/styles.module.css +13 -0
  367. package/src/theme/DocBreadcrumbs/index.tsx +141 -0
  368. package/{lib-next/theme/Heading/styles.css → src/theme/DocBreadcrumbs/styles.module.css} +9 -13
  369. package/src/theme/DocCard/index.tsx +117 -0
  370. package/src/theme/DocCard/styles.module.css +34 -0
  371. package/src/theme/DocCardList/index.tsx +35 -0
  372. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
  373. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  374. package/src/theme/DocItem/index.tsx +92 -77
  375. package/src/theme/DocItem/styles.module.css +12 -10
  376. package/src/theme/DocItemFooter/index.tsx +90 -0
  377. package/{lib-next/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
  378. package/src/theme/DocPage/Layout/Main/index.tsx +36 -0
  379. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  380. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  381. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  382. package/src/theme/DocPage/Layout/Sidebar/index.tsx +73 -0
  383. package/src/theme/DocPage/Layout/Sidebar/styles.module.css +32 -0
  384. package/src/theme/DocPage/Layout/index.tsx +38 -0
  385. package/src/theme/DocPage/Layout/styles.module.css +15 -0
  386. package/src/theme/DocPage/index.tsx +39 -167
  387. package/src/theme/DocPaginator/index.tsx +28 -39
  388. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  389. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  390. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  391. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  392. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  393. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  394. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  395. package/src/theme/DocSidebar/index.tsx +14 -351
  396. package/src/theme/DocSidebarItem/Category/index.tsx +209 -0
  397. package/src/theme/DocSidebarItem/Html/index.tsx +34 -0
  398. package/src/theme/DocSidebarItem/Html/styles.module.css +13 -0
  399. package/src/theme/DocSidebarItem/Link/index.tsx +57 -0
  400. package/src/theme/DocSidebarItem/Link/styles.module.css +10 -0
  401. package/src/theme/DocSidebarItem/index.tsx +27 -0
  402. package/src/theme/DocSidebarItems/index.tsx +27 -0
  403. package/src/theme/DocTagDocListPage/index.tsx +95 -0
  404. package/src/theme/DocTagsListPage/index.tsx +43 -0
  405. package/src/theme/DocVersionBadge/index.tsx +35 -0
  406. package/src/theme/DocVersionBanner/index.tsx +53 -27
  407. package/src/theme/EditThisPage/index.tsx +7 -3
  408. package/src/theme/ErrorPageContent.tsx +41 -0
  409. package/src/theme/Footer/Copyright/index.tsx +20 -0
  410. package/src/theme/Footer/Layout/index.tsx +34 -0
  411. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  412. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  413. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  414. package/src/theme/Footer/Links/index.tsx +21 -0
  415. package/src/theme/Footer/Logo/index.tsx +41 -0
  416. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  417. package/src/theme/Footer/index.tsx +13 -122
  418. package/src/theme/Heading/index.tsx +31 -58
  419. package/src/theme/Heading/styles.module.css +25 -5
  420. package/src/theme/IconArrow/index.tsx +2 -4
  421. package/src/theme/IconClose/index.tsx +26 -0
  422. package/src/theme/IconDarkMode/index.tsx +20 -0
  423. package/src/theme/IconEdit/index.tsx +5 -5
  424. package/src/theme/IconExternalLink/index.tsx +3 -5
  425. package/src/theme/IconExternalLink/styles.module.css +0 -2
  426. package/src/theme/IconHome/index.tsx +20 -0
  427. package/src/theme/IconLanguage/index.tsx +6 -8
  428. package/src/theme/IconLightMode/index.tsx +20 -0
  429. package/src/theme/IconMenu/index.tsx +3 -5
  430. package/src/theme/LastUpdated/index.tsx +4 -2
  431. package/src/theme/Layout/index.tsx +22 -16
  432. package/src/theme/LayoutProviders/index.tsx +16 -9
  433. package/src/theme/Logo/index.tsx +23 -22
  434. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  435. package/src/theme/MDXComponents/Code.tsx +37 -0
  436. package/src/theme/MDXComponents/Details.tsx +27 -0
  437. package/src/theme/MDXComponents/Head.tsx +31 -0
  438. package/src/theme/MDXComponents/Heading.tsx +14 -0
  439. package/src/theme/MDXComponents/Img/index.tsx +27 -0
  440. package/src/theme/MDXComponents/Img/styles.module.css +10 -0
  441. package/src/theme/MDXComponents/Pre.tsx +22 -0
  442. package/src/theme/MDXComponents/Ul/index.tsx +26 -0
  443. package/src/theme/MDXComponents/Ul/styles.module.css +14 -0
  444. package/src/theme/MDXComponents/index.tsx +23 -42
  445. package/src/theme/MDXContent/index.tsx +15 -0
  446. package/src/theme/MDXPage/index.tsx +38 -35
  447. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  448. package/src/theme/Navbar/Content/index.tsx +86 -0
  449. package/src/theme/Navbar/Content/styles.module.css +15 -0
  450. package/src/theme/Navbar/Layout/index.tsx +57 -0
  451. package/{lib/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -6
  452. package/src/theme/Navbar/Logo/index.tsx +19 -0
  453. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  454. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  455. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +37 -0
  456. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  457. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  458. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  459. package/src/theme/Navbar/Search/index.tsx +19 -0
  460. package/src/theme/Navbar/Search/styles.module.css +20 -0
  461. package/src/theme/Navbar/index.tsx +7 -147
  462. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  463. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +36 -208
  464. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -41
  465. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +36 -0
  466. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +59 -52
  467. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  468. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +191 -0
  469. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  470. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +77 -0
  471. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  472. package/src/theme/NavbarItem/NavbarNavLink.tsx +74 -0
  473. package/src/theme/NavbarItem/SearchNavbarItem.tsx +11 -3
  474. package/src/theme/NavbarItem/index.tsx +15 -32
  475. package/src/theme/NotFound.tsx +40 -37
  476. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  477. package/src/theme/SearchBar.tsx +2 -1
  478. package/src/theme/SearchMetadata/index.tsx +43 -0
  479. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -44
  480. package/src/theme/SkipToContent/index.tsx +5 -33
  481. package/src/theme/SkipToContent/styles.module.css +7 -0
  482. package/src/theme/TOC/index.tsx +14 -44
  483. package/src/theme/TOC/styles.module.css +1 -1
  484. package/src/theme/TOCCollapsible/CollapseButton/index.tsx +36 -0
  485. package/src/theme/TOCCollapsible/CollapseButton/styles.module.css +29 -0
  486. package/src/theme/TOCCollapsible/index.tsx +46 -0
  487. package/src/theme/TOCCollapsible/styles.module.css +31 -0
  488. package/src/theme/TOCInline/index.tsx +15 -35
  489. package/src/theme/TOCItems/Tree.tsx +46 -0
  490. package/src/theme/TOCItems/index.tsx +61 -0
  491. package/src/theme/TabItem/index.tsx +12 -4
  492. package/src/theme/TabItem/styles.module.css +10 -0
  493. package/src/theme/Tabs/index.tsx +121 -62
  494. package/src/theme/Tabs/styles.module.css +4 -13
  495. package/src/theme/Tag/index.tsx +27 -0
  496. package/src/theme/Tag/styles.module.css +70 -0
  497. package/src/theme/TagsListByLetter/index.tsx +43 -0
  498. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  499. package/src/theme/TagsListInline/index.tsx +35 -0
  500. package/src/theme/TagsListInline/styles.module.css +15 -0
  501. package/src/theme/ThemedImage/index.tsx +10 -12
  502. package/src/theme/ThemedImage/styles.module.css +2 -2
  503. package/src/theme/prism-include-languages.ts +20 -15
  504. package/src/theme-classic.d.ts +1272 -0
  505. package/src/translations.ts +85 -60
  506. package/src/validateThemeConfig.ts +448 -0
  507. package/babel.config.js +0 -35
  508. package/codeTranslations/README.md +0 -20
  509. package/codeTranslations/ar.json +0 -57
  510. package/codeTranslations/base.json +0 -112
  511. package/codeTranslations/bn.json +0 -56
  512. package/codeTranslations/da.json +0 -57
  513. package/codeTranslations/de.json +0 -57
  514. package/codeTranslations/es.json +0 -57
  515. package/codeTranslations/fa.json +0 -57
  516. package/codeTranslations/fil.json +0 -57
  517. package/codeTranslations/fr.json +0 -57
  518. package/codeTranslations/he.json +0 -57
  519. package/codeTranslations/hi.json +0 -57
  520. package/codeTranslations/ja.json +0 -57
  521. package/codeTranslations/ko.json +0 -57
  522. package/codeTranslations/pl.json +0 -57
  523. package/codeTranslations/pt-BR.json +0 -57
  524. package/codeTranslations/pt-PT.json +0 -57
  525. package/codeTranslations/ru.json +0 -57
  526. package/codeTranslations/tr.json +0 -57
  527. package/codeTranslations/vi.json +0 -57
  528. package/codeTranslations/zh-Hans.json +0 -57
  529. package/codeTranslations/zh-Hant.json +0 -57
  530. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  531. package/lib/__tests__/translations.test.js +0 -112
  532. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  533. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  534. package/lib/theme/CodeBlock/styles.module.css +0 -68
  535. package/lib/theme/DocPage/styles.module.css +0 -80
  536. package/lib/theme/DocSidebar/styles.module.css +0 -124
  537. package/lib/theme/LayoutHead/index.js +0 -144
  538. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  539. package/lib/theme/SearchMetadatas/index.js +0 -33
  540. package/lib/theme/Seo/index.js +0 -49
  541. package/lib/theme/ThemeContext.js +0 -21
  542. package/lib/theme/ThemeProvider/index.js +0 -38
  543. package/lib/theme/Toggle/index.js +0 -94
  544. package/lib/theme/Toggle/styles.css +0 -103
  545. package/lib/theme/UserPreferencesContext.js +0 -18
  546. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  547. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  548. package/lib/theme/hooks/useDocs.js +0 -18
  549. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  550. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  551. package/lib/theme/hooks/useLocationHash.js +0 -28
  552. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  553. package/lib/theme/hooks/usePrismTheme.js +0 -36
  554. package/lib/theme/hooks/useScrollPosition.js +0 -49
  555. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  556. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  557. package/lib/theme/hooks/useTheme.js +0 -99
  558. package/lib/theme/hooks/useThemeContext.js +0 -31
  559. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  560. package/lib/theme/hooks/useWindowSize.js +0 -55
  561. package/lib/types.d.ts +0 -598
  562. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  563. package/lib-next/__tests__/translations.test.js +0 -128
  564. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  565. package/lib-next/index.js +0 -221
  566. package/lib-next/theme/AnnouncementBar/index.js +0 -61
  567. package/lib-next/theme/AnnouncementBar/styles.module.css +0 -72
  568. package/lib-next/theme/BlogListPage/index.js +0 -56
  569. package/lib-next/theme/BlogListPaginator/index.js +0 -54
  570. package/lib-next/theme/BlogPostItem/index.js +0 -168
  571. package/lib-next/theme/BlogPostPage/index.js +0 -55
  572. package/lib-next/theme/BlogPostPaginator/index.js +0 -57
  573. package/lib-next/theme/BlogTagsListPage/index.js +0 -75
  574. package/lib-next/theme/BlogTagsPostsPage/index.js +0 -92
  575. package/lib-next/theme/CodeBlock/index.js +0 -268
  576. package/lib-next/theme/DocItem/index.js +0 -117
  577. package/lib-next/theme/DocPage/index.js +0 -173
  578. package/lib-next/theme/DocPage/styles.module.css +0 -80
  579. package/lib-next/theme/DocPaginator/index.js +0 -59
  580. package/lib-next/theme/DocSidebar/index.js +0 -352
  581. package/lib-next/theme/DocSidebar/styles.module.css +0 -124
  582. package/lib-next/theme/DocVersionBanner/index.js +0 -127
  583. package/lib-next/theme/EditThisPage/index.js +0 -21
  584. package/lib-next/theme/Footer/index.js +0 -129
  585. package/lib-next/theme/Heading/index.js +0 -67
  586. package/lib-next/theme/IconArrow/index.js +0 -20
  587. package/lib-next/theme/IconEdit/index.js +0 -28
  588. package/lib-next/theme/IconExternalLink/index.js +0 -26
  589. package/lib-next/theme/IconLanguage/index.js +0 -25
  590. package/lib-next/theme/IconMenu/index.js +0 -29
  591. package/lib-next/theme/LastUpdated/index.js +0 -77
  592. package/lib-next/theme/Layout/index.js +0 -46
  593. package/lib-next/theme/Layout/styles.css +0 -27
  594. package/lib-next/theme/LayoutHead/index.js +0 -137
  595. package/lib-next/theme/LayoutProviders/index.js +0 -26
  596. package/lib-next/theme/Logo/index.js +0 -54
  597. package/lib-next/theme/MDXComponents/index.js +0 -51
  598. package/lib-next/theme/MDXPage/index.js +0 -51
  599. package/lib-next/theme/Navbar/index.js +0 -146
  600. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +0 -227
  601. package/lib-next/theme/NavbarItem/DocNavbarItem.js +0 -57
  602. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  603. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +0 -28
  604. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -66
  605. package/lib-next/theme/NavbarItem/index.js +0 -41
  606. package/lib-next/theme/NotFound.js +0 -50
  607. package/lib-next/theme/SearchBar.js +0 -11
  608. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  609. package/lib-next/theme/Seo/index.js +0 -36
  610. package/lib-next/theme/SkipToContent/index.js +0 -53
  611. package/lib-next/theme/SkipToContent/styles.module.css +0 -14
  612. package/lib-next/theme/TOC/index.js +0 -52
  613. package/lib-next/theme/TOC/styles.module.css +0 -23
  614. package/lib-next/theme/TOCInline/index.js +0 -43
  615. package/lib-next/theme/Tabs/index.js +0 -144
  616. package/lib-next/theme/Tabs/styles.module.css +0 -23
  617. package/lib-next/theme/ThemeProvider/index.js +0 -25
  618. package/lib-next/theme/ThemedImage/index.js +0 -41
  619. package/lib-next/theme/ThemedImage/styles.module.css +0 -18
  620. package/lib-next/theme/Toggle/index.js +0 -80
  621. package/lib-next/theme/Toggle/styles.css +0 -103
  622. package/lib-next/theme/UserPreferencesContext.js +0 -9
  623. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  624. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  625. package/lib-next/theme/hooks/useDocs.js +0 -10
  626. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  627. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  628. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  629. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  630. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  631. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  632. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  633. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  634. package/lib-next/theme/hooks/useTheme.js +0 -82
  635. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  636. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  637. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  638. package/lib-next/theme/prism-include-languages.js +0 -23
  639. package/lib-next/translations.js +0 -145
  640. package/lib-next/types.d.ts +0 -598
  641. package/lib-next/validateThemeConfig.js +0 -317
  642. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  643. package/src/__tests__/translations.test.ts +0 -116
  644. package/src/__tests__/validateThemeConfig.test.js +0 -333
  645. package/src/prism-include-languages.js +0 -11
  646. package/src/theme/DocPage/styles.module.css +0 -80
  647. package/src/theme/DocSidebar/styles.module.css +0 -124
  648. package/src/theme/Heading/styles.css +0 -23
  649. package/src/theme/Navbar/styles.module.css +0 -20
  650. package/src/theme/SearchMetadatas/index.tsx +0 -28
  651. package/src/theme/Seo/index.tsx +0 -46
  652. package/src/theme/ThemeProvider/index.tsx +0 -24
  653. package/src/theme/Toggle/index.tsx +0 -100
  654. package/src/theme/Toggle/styles.css +0 -103
  655. package/src/theme/UserPreferencesContext.ts +0 -12
  656. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  657. package/src/theme/hooks/styles.css +0 -10
  658. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  659. package/src/theme/hooks/useDocs.ts +0 -11
  660. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  661. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  662. package/src/theme/hooks/useLocationHash.ts +0 -25
  663. package/src/theme/hooks/usePrismTheme.ts +0 -22
  664. package/src/theme/hooks/useScrollPosition.ts +0 -45
  665. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  666. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  667. package/src/theme/hooks/useTheme.ts +0 -92
  668. package/src/theme/hooks/useThemeContext.ts +0 -23
  669. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  670. package/src/theme/hooks/useWindowSize.ts +0 -51
  671. package/src/types.d.ts +0 -598
  672. package/src/validateThemeConfig.js +0 -317
  673. package/tsconfig.json +0 -12
  674. package/update-code-translations.js +0 -240
  675. package/update-code-translations.test.js +0 -33
@@ -18,9 +18,7 @@
18
18
  }
19
19
 
20
20
  .sidebarItemList {
21
- list-style: none;
22
21
  font-size: 0.9rem;
23
- padding-left: 0;
24
22
  }
25
23
 
26
24
  .sidebarItem {
@@ -29,15 +27,18 @@
29
27
 
30
28
  .sidebarItemLink {
31
29
  color: var(--ifm-font-color-base);
30
+ display: block;
32
31
  }
32
+
33
33
  .sidebarItemLink:hover {
34
34
  text-decoration: none;
35
35
  }
36
+
36
37
  .sidebarItemLinkActive {
37
- color: var(--ifm-color-primary);
38
+ color: var(--ifm-color-primary) !important;
38
39
  }
39
40
 
40
- @media only screen and (max-width: 996px) {
41
+ @media (max-width: 996px) {
41
42
  .sidebar {
42
43
  display: none;
43
44
  }
@@ -0,0 +1,9 @@
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
+ /// <reference types="react" />
8
+ import type { Props } from '@theme/BlogSidebar/Mobile';
9
+ export default function BlogSidebarMobile(props: Props): JSX.Element;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import Link from '@docusaurus/Link';
9
+ import {NavbarSecondaryMenuFiller} from '@docusaurus/theme-common';
10
+ function BlogSidebarMobileSecondaryMenu({sidebar}) {
11
+ return (
12
+ <ul className="menu__list">
13
+ {sidebar.items.map((item) => (
14
+ <li key={item.permalink} className="menu__list-item">
15
+ <Link
16
+ isNavLink
17
+ to={item.permalink}
18
+ className="menu__link"
19
+ activeClassName="menu__link--active">
20
+ {item.title}
21
+ </Link>
22
+ </li>
23
+ ))}
24
+ </ul>
25
+ );
26
+ }
27
+ export default function BlogSidebarMobile(props) {
28
+ return (
29
+ <NavbarSecondaryMenuFiller
30
+ component={BlogSidebarMobileSecondaryMenu}
31
+ props={props}
32
+ />
33
+ );
34
+ }
@@ -0,0 +1,9 @@
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
+ /// <reference types="react" />
8
+ import type { Props } from '@theme/BlogSidebar';
9
+ export default function BlogSidebar({ sidebar }: Props): JSX.Element | null;
@@ -1,51 +1,21 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = BlogSidebar;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _clsx = _interopRequireDefault(require("clsx"));
11
-
12
- var _Link = _interopRequireDefault(require("@docusaurus/Link"));
13
-
14
- var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
15
-
16
- var _Translate = require("@docusaurus/Translate");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
1
  /**
21
2
  * Copyright (c) Facebook, Inc. and its affiliates.
22
3
  *
23
4
  * This source code is licensed under the MIT license found in the
24
5
  * LICENSE file in the root directory of this source tree.
25
6
  */
26
- function BlogSidebar({
27
- sidebar
28
- }) {
29
- if (sidebar.items.length === 0) {
7
+ import React from 'react';
8
+ import {useWindowSize} from '@docusaurus/theme-common';
9
+ import BlogSidebarDesktop from '@theme/BlogSidebar/Desktop';
10
+ import BlogSidebarMobile from '@theme/BlogSidebar/Mobile';
11
+ export default function BlogSidebar({sidebar}) {
12
+ const windowSize = useWindowSize();
13
+ if (!sidebar?.items.length) {
30
14
  return null;
31
15
  }
32
-
33
- return <nav className={(0, _clsx.default)(_stylesModule.default.sidebar, 'thin-scrollbar')} aria-label={(0, _Translate.translate)({
34
- id: 'theme.blog.sidebar.navAriaLabel',
35
- message: 'Blog recent posts navigation',
36
- description: 'The ARIA label for recent posts in the blog sidebar'
37
- })}>
38
- <div className={(0, _clsx.default)(_stylesModule.default.sidebarItemTitle, 'margin-bottom--md')}>
39
- {sidebar.title}
40
- </div>
41
- <ul className={_stylesModule.default.sidebarItemList}>
42
- {sidebar.items.map(item => {
43
- return <li key={item.permalink} className={_stylesModule.default.sidebarItem}>
44
- <_Link.default isNavLink to={item.permalink} className={_stylesModule.default.sidebarItemLink} activeClassName={_stylesModule.default.sidebarItemLinkActive}>
45
- {item.title}
46
- </_Link.default>
47
- </li>;
48
- })}
49
- </ul>
50
- </nav>;
51
- }
16
+ // Mobile sidebar doesn't need to be server-rendered
17
+ if (windowSize === 'mobile') {
18
+ return <BlogSidebarMobile sidebar={sidebar} />;
19
+ }
20
+ return <BlogSidebarDesktop sidebar={sidebar} />;
21
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /// <reference types="@docusaurus/plugin-content-blog" />
8
+ /// <reference types="react" />
9
+ import type { Props } from '@theme/BlogTagsListPage';
10
+ export default function BlogTagsListPage({ tags, sidebar }: Props): JSX.Element;
@@ -1,76 +1,34 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _Layout = _interopRequireDefault(require("@theme/Layout"));
11
-
12
- var _Link = _interopRequireDefault(require("@docusaurus/Link"));
13
-
14
- var _BlogSidebar = _interopRequireDefault(require("@theme/BlogSidebar"));
15
-
16
- var _Translate = require("@docusaurus/Translate");
17
-
18
- var _themeCommon = require("@docusaurus/theme-common");
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
1
  /**
23
2
  * Copyright (c) Facebook, Inc. and its affiliates.
24
3
  *
25
4
  * This source code is licensed under the MIT license found in the
26
5
  * LICENSE file in the root directory of this source tree.
27
6
  */
28
- function getCategoryOfTag(tag) {
29
- // tag's category should be customizable
30
- return tag[0].toUpperCase();
7
+ import React from 'react';
8
+ import clsx from 'clsx';
9
+ import {
10
+ PageMetadata,
11
+ HtmlClassNameProvider,
12
+ ThemeClassNames,
13
+ translateTagsPageTitle,
14
+ } from '@docusaurus/theme-common';
15
+ import BlogLayout from '@theme/BlogLayout';
16
+ import TagsListByLetter from '@theme/TagsListByLetter';
17
+ import SearchMetadata from '../SearchMetadata';
18
+ export default function BlogTagsListPage({tags, sidebar}) {
19
+ const title = translateTagsPageTitle();
20
+ return (
21
+ <HtmlClassNameProvider
22
+ className={clsx(
23
+ ThemeClassNames.wrapper.blogPages,
24
+ ThemeClassNames.page.blogTagsListPage,
25
+ )}>
26
+ <PageMetadata title={title} />
27
+ <SearchMetadata tag="blog_tags_list" />
28
+ <BlogLayout sidebar={sidebar}>
29
+ <h1>{title}</h1>
30
+ <TagsListByLetter tags={tags} />
31
+ </BlogLayout>
32
+ </HtmlClassNameProvider>
33
+ );
31
34
  }
32
-
33
- function BlogTagsListPage(props) {
34
- const {
35
- tags,
36
- sidebar
37
- } = props;
38
- const title = (0, _Translate.translate)({
39
- id: 'theme.tags.tagsPageTitle',
40
- message: 'Tags',
41
- description: 'The title of the tag list page'
42
- });
43
- const tagCategories = {};
44
- Object.keys(tags).forEach(tag => {
45
- const category = getCategoryOfTag(tag);
46
- tagCategories[category] = tagCategories[category] || [];
47
- tagCategories[category].push(tag);
48
- });
49
- const tagsList = Object.entries(tagCategories).sort(([a], [b]) => a.localeCompare(b));
50
- const tagsSection = tagsList.map(([category, tagsForCategory]) => <article key={category}>
51
- <h2>{category}</h2>
52
- {tagsForCategory.map(tag => <_Link.default className="padding-right--md" href={tags[tag].permalink} key={tag}>
53
- {tags[tag].name} ({tags[tag].count})
54
- </_Link.default>)}
55
- <hr />
56
- </article>).filter(item => item != null);
57
- return <_Layout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsListPage} searchMetadatas={{
58
- // assign unique search tag to exclude this page from search results!
59
- tag: 'blog_tags_list'
60
- }}>
61
- <div className="container margin-vert--lg">
62
- <div className="row">
63
- <aside className="col col--3">
64
- <_BlogSidebar.default sidebar={sidebar} />
65
- </aside>
66
- <main className="col col--7">
67
- <h1>{title}</h1>
68
- <section className="margin-vert--lg">{tagsSection}</section>
69
- </main>
70
- </div>
71
- </div>
72
- </_Layout.default>;
73
- }
74
-
75
- var _default = BlogTagsListPage;
76
- exports.default = _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /// <reference types="@docusaurus/plugin-content-blog" />
8
+ /// <reference types="react" />
9
+ import type { Props } from '@theme/BlogTagsPostsPage';
10
+ export default function BlogTagsPostsPage({ tag, items, sidebar, listMetadata, }: Props): JSX.Element;
@@ -1,100 +1,83 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _Layout = _interopRequireDefault(require("@theme/Layout"));
11
-
12
- var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
13
-
14
- var _Link = _interopRequireDefault(require("@docusaurus/Link"));
15
-
16
- var _BlogSidebar = _interopRequireDefault(require("@theme/BlogSidebar"));
17
-
18
- var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
19
-
20
- var _themeCommon = require("@docusaurus/theme-common");
21
-
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
1
  /**
29
2
  * Copyright (c) Facebook, Inc. and its affiliates.
30
3
  *
31
4
  * This source code is licensed under the MIT license found in the
32
5
  * LICENSE file in the root directory of this source tree.
33
6
  */
7
+ import React from 'react';
8
+ import clsx from 'clsx';
9
+ import Translate, {translate} from '@docusaurus/Translate';
10
+ import {
11
+ PageMetadata,
12
+ HtmlClassNameProvider,
13
+ ThemeClassNames,
14
+ usePluralForm,
15
+ } from '@docusaurus/theme-common';
16
+ import Link from '@docusaurus/Link';
17
+ import BlogLayout from '@theme/BlogLayout';
18
+ import BlogPostItem from '@theme/BlogPostItem';
19
+ import BlogListPaginator from '@theme/BlogListPaginator';
20
+ import SearchMetadata from '@theme/SearchMetadata';
34
21
  // Very simple pluralization: probably good enough for now
35
22
  function useBlogPostsPlural() {
36
- const {
37
- selectMessage
38
- } = (0, _themeCommon.usePluralForm)();
39
- return count => selectMessage(count, (0, _Translate.translate)({
40
- id: 'theme.blog.post.plurals',
41
- description: '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)',
42
- message: 'One post|{count} posts'
43
- }, {
44
- count
45
- }));
23
+ const {selectMessage} = usePluralForm();
24
+ return (count) =>
25
+ selectMessage(
26
+ count,
27
+ translate(
28
+ {
29
+ id: 'theme.blog.post.plurals',
30
+ description:
31
+ '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)',
32
+ message: 'One post|{count} posts',
33
+ },
34
+ {count},
35
+ ),
36
+ );
46
37
  }
47
-
48
- function BlogTagsPostPage(props) {
49
- const {
50
- metadata,
51
- items,
52
- sidebar
53
- } = props;
54
- const {
55
- allTagsPath,
56
- name: tagName,
57
- count
58
- } = metadata;
38
+ export default function BlogTagsPostsPage({tag, items, sidebar, listMetadata}) {
59
39
  const blogPostsPlural = useBlogPostsPlural();
60
- const title = (0, _Translate.translate)({
61
- id: 'theme.blog.tagTitle',
62
- description: 'The title of the page for a blog tag',
63
- message: '{nPosts} tagged with "{tagName}"'
64
- }, {
65
- nPosts: blogPostsPlural(count),
66
- tagName
67
- });
68
- return <_Layout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsPostPage} searchMetadatas={{
69
- // assign unique search tag to exclude this page from search results!
70
- tag: 'blog_tags_posts'
71
- }}>
72
- <div className="container margin-vert--lg">
73
- <div className="row">
74
- <aside className="col col--3">
75
- <_BlogSidebar.default sidebar={sidebar} />
76
- </aside>
77
- <main className="col col--7">
78
- <header className="margin-bottom--xl">
79
- <h1>{title}</h1>
80
-
81
- <_Link.default href={allTagsPath}>
82
- <_Translate.default id="theme.tags.tagsPageLink" description="The label of the link targeting the tag list page">
83
- View All Tags
84
- </_Translate.default>
85
- </_Link.default>
86
- </header>
87
-
88
- {items.map(({
89
- content: BlogPostContent
90
- }) => <_BlogPostItem.default key={BlogPostContent.metadata.permalink} frontMatter={BlogPostContent.frontMatter} metadata={BlogPostContent.metadata} truncated>
91
- <BlogPostContent />
92
- </_BlogPostItem.default>)}
93
- </main>
94
- </div>
95
- </div>
96
- </_Layout.default>;
40
+ const title = translate(
41
+ {
42
+ id: 'theme.blog.tagTitle',
43
+ description: 'The title of the page for a blog tag',
44
+ message: '{nPosts} tagged with "{tagName}"',
45
+ },
46
+ {nPosts: blogPostsPlural(tag.count), tagName: tag.label},
47
+ );
48
+ return (
49
+ <HtmlClassNameProvider
50
+ className={clsx(
51
+ ThemeClassNames.wrapper.blogPages,
52
+ ThemeClassNames.page.blogTagPostListPage,
53
+ )}>
54
+ <PageMetadata title={title} />
55
+ <SearchMetadata tag="blog_tags_posts" />
56
+ <BlogLayout sidebar={sidebar}>
57
+ <header className="margin-bottom--xl">
58
+ <h1>{title}</h1>
59
+
60
+ <Link href={tag.allTagsPath}>
61
+ <Translate
62
+ id="theme.tags.tagsPageLink"
63
+ description="The label of the link targeting the tag list page">
64
+ View All Tags
65
+ </Translate>
66
+ </Link>
67
+ </header>
68
+
69
+ {items.map(({content: BlogPostContent}) => (
70
+ <BlogPostItem
71
+ key={BlogPostContent.metadata.permalink}
72
+ frontMatter={BlogPostContent.frontMatter}
73
+ assets={BlogPostContent.assets}
74
+ metadata={BlogPostContent.metadata}
75
+ truncated>
76
+ <BlogPostContent />
77
+ </BlogPostItem>
78
+ ))}
79
+ <BlogListPaginator metadata={listMetadata} />
80
+ </BlogLayout>
81
+ </HtmlClassNameProvider>
82
+ );
97
83
  }
98
-
99
- var _default = BlogTagsPostPage;
100
- exports.default = _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { type ComponentProps } from 'react';
8
+ export default function CodeBlockContainer<T extends 'div' | 'pre'>({ as: As, ...props }: {
9
+ as: T;
10
+ } & ComponentProps<T>): JSX.Element;
@@ -0,0 +1,30 @@
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 {
10
+ usePrismTheme,
11
+ getPrismCssVariables,
12
+ ThemeClassNames,
13
+ } from '@docusaurus/theme-common';
14
+ import styles from './styles.module.css';
15
+ export default function CodeBlockContainer({as: As, ...props}) {
16
+ const prismTheme = usePrismTheme();
17
+ const prismCssVariables = getPrismCssVariables(prismTheme);
18
+ return (
19
+ <As
20
+ // Polymorphic components are hard to type, without `oneOf` generics
21
+ {...props}
22
+ style={prismCssVariables}
23
+ className={clsx(
24
+ props.className,
25
+ styles.codeBlockContainer,
26
+ ThemeClassNames.common.codeBlock,
27
+ )}
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,14 @@
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
+ .codeBlockContainer {
9
+ background: var(--prism-background-color);
10
+ color: var(--prism-color);
11
+ margin-bottom: var(--ifm-leading);
12
+ box-shadow: var(--ifm-global-shadow-lw);
13
+ border-radius: var(--ifm-code-border-radius);
14
+ }
@@ -0,0 +1,9 @@
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
+ /// <reference types="react" />
8
+ import type { Props } from '@theme/CodeBlock/Content/Element';
9
+ export default function CodeBlockJSX({ children, className, }: Props): JSX.Element;
@@ -0,0 +1,23 @@
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 Container from '@theme/CodeBlock/Container';
10
+ import styles from './styles.module.css';
11
+ // <pre> tags in markdown map to CodeBlocks. They may contain JSX children. When
12
+ // the children is not a simple string, we just return a styled block without
13
+ // actually highlighting.
14
+ export default function CodeBlockJSX({children, className}) {
15
+ return (
16
+ <Container
17
+ as="pre"
18
+ tabIndex={0}
19
+ className={clsx(styles.codeBlockStandalone, 'thin-scrollbar', className)}>
20
+ <code className={styles.codeBlockLines}>{children}</code>
21
+ </Container>
22
+ );
23
+ }
@@ -0,0 +1,9 @@
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
+ /// <reference types="react" />
8
+ import type { Props } from '@theme/CodeBlock/Content/String';
9
+ export default function CodeBlockString({ children, className: blockClassName, metastring, title: titleProp, showLineNumbers: showLineNumbersProp, language: languageProp, }: Props): JSX.Element;
@@ -0,0 +1,104 @@
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 {
10
+ useThemeConfig,
11
+ parseCodeBlockTitle,
12
+ parseLanguage,
13
+ parseLines,
14
+ containsLineNumbers,
15
+ usePrismTheme,
16
+ useCodeWordWrap,
17
+ } from '@docusaurus/theme-common';
18
+ import Highlight, {defaultProps} from 'prism-react-renderer';
19
+ import Line from '@theme/CodeBlock/Line';
20
+ import CopyButton from '@theme/CodeBlock/CopyButton';
21
+ import WordWrapButton from '@theme/CodeBlock/WordWrapButton';
22
+ import Container from '@theme/CodeBlock/Container';
23
+ import styles from './styles.module.css';
24
+ export default function CodeBlockString({
25
+ children,
26
+ className: blockClassName = '',
27
+ metastring,
28
+ title: titleProp,
29
+ showLineNumbers: showLineNumbersProp,
30
+ language: languageProp,
31
+ }) {
32
+ const {
33
+ prism: {defaultLanguage, magicComments},
34
+ } = useThemeConfig();
35
+ const language =
36
+ languageProp ?? parseLanguage(blockClassName) ?? defaultLanguage;
37
+ const prismTheme = usePrismTheme();
38
+ const wordWrap = useCodeWordWrap();
39
+ // We still parse the metastring in case we want to support more syntax in the
40
+ // future. Note that MDX doesn't strip quotes when parsing metastring:
41
+ // "title=\"xyz\"" => title: "\"xyz\""
42
+ const title = parseCodeBlockTitle(metastring) || titleProp;
43
+ const {lineClassNames, code} = parseLines(children, {
44
+ metastring,
45
+ language,
46
+ magicComments,
47
+ });
48
+ const showLineNumbers =
49
+ showLineNumbersProp ?? containsLineNumbers(metastring);
50
+ return (
51
+ <Container
52
+ as="div"
53
+ className={clsx(
54
+ blockClassName,
55
+ language &&
56
+ !blockClassName.includes(`language-${language}`) &&
57
+ `language-${language}`,
58
+ )}>
59
+ {title && <div className={styles.codeBlockTitle}>{title}</div>}
60
+ <div className={styles.codeBlockContent}>
61
+ <Highlight
62
+ {...defaultProps}
63
+ theme={prismTheme}
64
+ code={code}
65
+ language={language ?? 'text'}>
66
+ {({className, tokens, getLineProps, getTokenProps}) => (
67
+ <pre
68
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
69
+ tabIndex={0}
70
+ ref={wordWrap.codeBlockRef}
71
+ className={clsx(className, styles.codeBlock, 'thin-scrollbar')}>
72
+ <code
73
+ className={clsx(
74
+ styles.codeBlockLines,
75
+ showLineNumbers && styles.codeBlockLinesWithNumbering,
76
+ )}>
77
+ {tokens.map((line, i) => (
78
+ <Line
79
+ key={i}
80
+ line={line}
81
+ getLineProps={getLineProps}
82
+ getTokenProps={getTokenProps}
83
+ classNames={lineClassNames[i]}
84
+ showLineNumbers={showLineNumbers}
85
+ />
86
+ ))}
87
+ </code>
88
+ </pre>
89
+ )}
90
+ </Highlight>
91
+ <div className={styles.buttonGroup}>
92
+ {(wordWrap.isEnabled || wordWrap.isCodeScrollable) && (
93
+ <WordWrapButton
94
+ className={styles.codeButton}
95
+ onClick={() => wordWrap.toggle()}
96
+ isEnabled={wordWrap.isEnabled}
97
+ />
98
+ )}
99
+ <CopyButton className={styles.codeButton} code={code} />
100
+ </div>
101
+ </div>
102
+ </Container>
103
+ );
104
+ }