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

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 (549) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +39 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/getSwizzleConfig.js +243 -0
  5. package/lib/index.js +42 -52
  6. package/lib/nprogress.css +41 -0
  7. package/lib/nprogress.js +46 -0
  8. package/lib/prism-include-languages.js +9 -5
  9. package/lib/theme-classic.d.ts +1279 -0
  10. package/lib/translations.js +52 -36
  11. package/lib/validateThemeConfig.js +298 -248
  12. package/lib-next/theme/Admonition/index.js +101 -0
  13. package/lib-next/theme/AnnouncementBar/index.js +8 -16
  14. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  15. package/lib-next/theme/BackToTopButton/index.js +33 -0
  16. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  17. package/lib-next/theme/BlogArchivePage/index.js +84 -0
  18. package/lib-next/theme/BlogLayout/index.js +33 -0
  19. package/lib-next/theme/BlogListPage/index.js +45 -35
  20. package/lib-next/theme/BlogListPaginator/index.js +27 -33
  21. package/lib-next/theme/BlogPostAuthor/index.js +49 -0
  22. package/lib-next/theme/BlogPostAuthors/index.js +44 -0
  23. package/{lib/theme/Toggle → lib-next/theme/BlogPostAuthors}/styles.module.css +11 -7
  24. package/lib-next/theme/BlogPostItem/index.js +96 -98
  25. package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
  26. package/lib-next/theme/BlogPostPage/index.js +84 -37
  27. package/lib-next/theme/BlogPostPaginator/index.js +27 -37
  28. package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
  29. package/{lib/theme/BlogSidebar → lib-next/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  30. package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
  31. package/lib-next/theme/BlogSidebar/index.js +11 -33
  32. package/lib-next/theme/BlogTagsListPage/index.js +24 -65
  33. package/lib-next/theme/BlogTagsPostsPage/index.js +45 -48
  34. package/lib-next/theme/CodeBlock/Container/index.js +29 -0
  35. package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
  36. package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
  37. package/lib-next/theme/CodeBlock/Content/String.js +104 -0
  38. package/{lib/theme/CodeBlock → lib-next/theme/CodeBlock/Content}/styles.module.css +45 -27
  39. package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
  40. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  41. package/lib-next/theme/CodeBlock/Line/index.js +49 -0
  42. package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
  43. package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
  44. package/{lib/theme/BlogPostItem → lib-next/theme/CodeBlock/WordWrapButton}/styles.module.css +5 -8
  45. package/lib-next/theme/CodeBlock/index.js +28 -256
  46. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  47. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  48. package/lib-next/theme/Details/index.js +21 -0
  49. package/lib-next/theme/Details/styles.module.css +13 -0
  50. package/lib-next/theme/DocBreadcrumbs/index.js +120 -0
  51. package/{lib/theme/Heading/styles.css → lib-next/theme/DocBreadcrumbs/styles.module.css} +9 -13
  52. package/lib-next/theme/DocCard/index.js +93 -0
  53. package/lib-next/theme/DocCard/styles.module.css +34 -0
  54. package/lib-next/theme/DocCardList/index.js +33 -0
  55. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +75 -0
  56. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  57. package/lib-next/theme/DocItem/index.js +98 -85
  58. package/lib-next/theme/DocItem/styles.module.css +12 -10
  59. package/lib-next/theme/DocItemFooter/index.js +79 -0
  60. package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
  61. package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
  62. package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
  63. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  64. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  65. package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
  66. package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  67. package/lib-next/theme/DocPage/Layout/index.js +34 -0
  68. package/{lib/theme/IconExternalLink/styles.module.css → lib-next/theme/DocPage/Layout/index.module.css} +7 -4
  69. package/lib-next/theme/DocPage/index.js +39 -159
  70. package/lib-next/theme/DocPaginator/index.js +28 -40
  71. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  72. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  73. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  74. package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  75. package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
  76. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  77. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  78. package/lib-next/theme/DocSidebar/index.js +13 -340
  79. package/lib-next/theme/DocSidebarItem/Category.js +197 -0
  80. package/lib-next/theme/DocSidebarItem/Html.js +27 -0
  81. package/lib-next/theme/DocSidebarItem/Html.module.css +13 -0
  82. package/lib-next/theme/DocSidebarItem/Link.js +53 -0
  83. package/{lib/theme/MDXPage/styles.module.css → lib-next/theme/DocSidebarItem/Link.module.css} +2 -2
  84. package/lib-next/theme/DocSidebarItem/index.js +23 -0
  85. package/lib-next/theme/DocSidebarItems/index.js +23 -0
  86. package/lib-next/theme/DocTagDocListPage/index.js +96 -0
  87. package/lib-next/theme/DocTagsListPage/index.js +40 -0
  88. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  89. package/lib-next/theme/DocVersionBanner/index.js +33 -16
  90. package/lib-next/theme/EditThisPage/index.js +6 -1
  91. package/lib-next/theme/ErrorPageContent.js +35 -0
  92. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  93. package/lib-next/theme/Footer/Layout/index.js +26 -0
  94. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  95. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  96. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  97. package/lib-next/theme/Footer/Links/index.js +17 -0
  98. package/lib-next/theme/Footer/Logo/index.js +38 -0
  99. package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  100. package/lib-next/theme/Footer/index.js +12 -100
  101. package/lib-next/theme/Heading/index.js +31 -54
  102. package/lib-next/theme/Heading/styles.module.css +25 -5
  103. package/lib-next/theme/IconArrow/index.js +2 -5
  104. package/lib-next/theme/IconClose/index.js +23 -0
  105. package/lib-next/theme/IconDarkMode/index.js +17 -0
  106. package/lib-next/theme/IconEdit/index.js +2 -5
  107. package/lib-next/theme/IconExternalLink/index.js +2 -5
  108. package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
  109. package/lib-next/theme/IconHome/index.js +17 -0
  110. package/lib-next/theme/IconLanguage/index.js +5 -8
  111. package/lib-next/theme/IconLightMode/index.js +17 -0
  112. package/lib-next/theme/IconMenu/index.js +7 -5
  113. package/lib-next/theme/LastUpdated/index.js +4 -2
  114. package/lib-next/theme/Layout/index.js +19 -16
  115. package/lib-next/theme/LayoutProviders/index.js +16 -9
  116. package/lib-next/theme/Logo/index.js +25 -24
  117. package/lib-next/theme/{ThemeContext.js → MDXComponents/A.js} +4 -2
  118. package/lib-next/theme/MDXComponents/Code.js +28 -0
  119. package/lib-next/theme/MDXComponents/Details.js +20 -0
  120. package/lib-next/theme/MDXComponents/Head.js +26 -0
  121. package/lib-next/theme/MDXComponents/Heading.js +11 -0
  122. package/lib-next/theme/MDXComponents/Img.js +24 -0
  123. package/{lib/theme/hooks/styles.css → lib-next/theme/MDXComponents/Img.module.css} +2 -2
  124. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  125. package/lib-next/theme/MDXComponents/Ul.js +21 -0
  126. package/lib-next/theme/MDXComponents/index.js +22 -42
  127. package/lib-next/theme/MDXContent/index.js +12 -0
  128. package/lib-next/theme/MDXPage/index.js +37 -34
  129. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  130. package/lib-next/theme/Navbar/Content/index.js +75 -0
  131. package/{lib/theme/TOCInline → lib-next/theme/Navbar/Content}/styles.module.css +7 -4
  132. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  133. package/{lib/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -6
  134. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  135. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  136. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  137. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  138. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  139. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  140. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  141. package/lib-next/theme/Navbar/Search/index.js +11 -0
  142. package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
  143. package/lib-next/theme/Navbar/index.js +7 -137
  144. package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
  145. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +32 -202
  146. package/lib-next/theme/NavbarItem/DocNavbarItem.js +16 -30
  147. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +41 -0
  148. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +54 -44
  149. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -6
  150. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +167 -0
  151. package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
  152. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +16 -22
  153. package/lib-next/theme/{hooks/styles.css → NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
  154. package/lib-next/theme/NavbarItem/NavbarNavLink.js +84 -0
  155. package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
  156. package/lib-next/theme/NavbarItem/index.js +17 -24
  157. package/lib-next/{prism-include-languages.js → theme/NavbarItem/utils.js} +3 -4
  158. package/lib-next/theme/NotFound.js +39 -37
  159. package/lib-next/theme/PaginatorNavLink/index.js +23 -0
  160. package/lib-next/theme/SearchBar.js +1 -1
  161. package/lib-next/theme/SearchMetadata/index.js +34 -0
  162. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +31 -50
  163. package/lib-next/theme/SkipToContent/index.js +7 -32
  164. package/lib-next/theme/SkipToContent/styles.module.css +7 -0
  165. package/lib-next/theme/TOC/index.js +12 -39
  166. package/lib-next/theme/TOC/styles.module.css +1 -1
  167. package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
  168. package/lib-next/theme/TOCCollapsible/CollapseButton.module.css +29 -0
  169. package/lib-next/theme/TOCCollapsible/index.js +42 -0
  170. package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
  171. package/lib-next/theme/TOCInline/index.js +10 -31
  172. package/lib-next/theme/TOCItems/Tree.js +40 -0
  173. package/lib-next/theme/TOCItems/index.js +54 -0
  174. package/lib-next/theme/TabItem/index.js +4 -5
  175. package/{lib/theme/IconEdit → lib-next/theme/TabItem}/styles.module.css +2 -3
  176. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  177. package/lib-next/theme/Tabs/index.js +111 -53
  178. package/lib-next/theme/Tabs/styles.module.css +4 -13
  179. package/lib-next/theme/Tag/index.js +23 -0
  180. package/lib-next/theme/Tag/styles.module.css +70 -0
  181. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  182. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  183. package/lib-next/theme/TagsListInline/index.js +31 -0
  184. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  185. package/lib-next/theme/ThemedImage/index.js +9 -12
  186. package/lib-next/theme/ThemedImage/styles.module.css +2 -2
  187. package/lib-next/theme/prism-include-languages.js +17 -15
  188. package/package.json +37 -32
  189. package/src/admonitions.css +39 -0
  190. package/src/deps.d.ts +13 -0
  191. package/src/getSwizzleConfig.ts +252 -0
  192. package/src/index.ts +48 -71
  193. package/src/nprogress.css +41 -0
  194. package/src/nprogress.ts +31 -0
  195. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  196. package/src/theme/Admonition/index.tsx +106 -0
  197. package/src/theme/AnnouncementBar/index.tsx +9 -15
  198. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  199. package/src/theme/BackToTopButton/index.tsx +34 -0
  200. package/src/theme/BackToTopButton/styles.module.css +44 -0
  201. package/src/theme/BlogArchivePage/index.tsx +92 -0
  202. package/src/theme/BlogLayout/index.tsx +38 -0
  203. package/src/theme/BlogListPage/index.tsx +45 -35
  204. package/src/theme/BlogListPaginator/index.tsx +27 -32
  205. package/src/theme/BlogPostAuthor/index.tsx +50 -0
  206. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  207. package/src/theme/{Toggle → BlogPostAuthors}/styles.module.css +11 -7
  208. package/src/theme/BlogPostItem/index.tsx +86 -92
  209. package/src/theme/BlogPostItem/styles.module.css +9 -0
  210. package/src/theme/BlogPostPage/index.tsx +84 -38
  211. package/src/theme/BlogPostPaginator/index.tsx +27 -36
  212. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  213. package/{lib-next/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
  214. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  215. package/src/theme/BlogSidebar/index.tsx +10 -33
  216. package/src/theme/BlogTagsListPage/index.tsx +24 -66
  217. package/src/theme/BlogTagsPostsPage/index.tsx +49 -47
  218. package/src/theme/CodeBlock/Container/index.tsx +35 -0
  219. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  220. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  221. package/src/theme/CodeBlock/Content/String.tsx +111 -0
  222. package/{lib-next/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +45 -27
  223. package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
  224. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  225. package/src/theme/CodeBlock/Line/index.tsx +48 -0
  226. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  227. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  228. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  229. package/src/theme/CodeBlock/index.tsx +29 -253
  230. package/src/theme/ColorModeToggle/index.tsx +67 -0
  231. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  232. package/src/theme/Details/index.tsx +25 -0
  233. package/src/theme/Details/styles.module.css +13 -0
  234. package/src/theme/DocBreadcrumbs/index.tsx +140 -0
  235. package/src/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
  236. package/src/theme/DocCard/index.tsx +116 -0
  237. package/src/theme/DocCard/styles.module.css +34 -0
  238. package/src/theme/DocCardList/index.tsx +36 -0
  239. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
  240. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
  241. package/src/theme/DocItem/index.tsx +91 -77
  242. package/src/theme/DocItem/styles.module.css +12 -10
  243. package/src/theme/DocItemFooter/index.tsx +91 -0
  244. package/{lib-next/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
  245. package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
  246. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  247. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  248. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  249. package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  250. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  251. package/src/theme/DocPage/Layout/index.module.css +15 -0
  252. package/src/theme/DocPage/Layout/index.tsx +39 -0
  253. package/src/theme/DocPage/index.tsx +39 -165
  254. package/src/theme/DocPaginator/index.tsx +28 -39
  255. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  256. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  257. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  258. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  259. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  260. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  261. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  262. package/src/theme/DocSidebar/index.tsx +14 -350
  263. package/src/theme/DocSidebarItem/Category.tsx +210 -0
  264. package/src/theme/DocSidebarItem/Html.module.css +13 -0
  265. package/src/theme/DocSidebarItem/Html.tsx +34 -0
  266. package/src/theme/DocSidebarItem/Link.module.css +10 -0
  267. package/src/theme/DocSidebarItem/Link.tsx +58 -0
  268. package/src/theme/DocSidebarItem/index.tsx +27 -0
  269. package/src/theme/DocSidebarItems/index.tsx +27 -0
  270. package/src/theme/DocTagDocListPage/index.tsx +96 -0
  271. package/src/theme/DocTagsListPage/index.tsx +44 -0
  272. package/src/theme/DocVersionBadge/index.tsx +35 -0
  273. package/src/theme/DocVersionBanner/index.tsx +53 -27
  274. package/src/theme/EditThisPage/index.tsx +6 -1
  275. package/src/theme/ErrorPageContent.tsx +41 -0
  276. package/src/theme/Footer/Copyright/index.tsx +20 -0
  277. package/src/theme/Footer/Layout/index.tsx +34 -0
  278. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  279. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  280. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  281. package/src/theme/Footer/Links/index.tsx +21 -0
  282. package/src/theme/Footer/Logo/index.tsx +41 -0
  283. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
  284. package/src/theme/Footer/index.tsx +13 -113
  285. package/src/theme/Heading/index.tsx +31 -58
  286. package/src/theme/Heading/styles.module.css +25 -5
  287. package/src/theme/IconArrow/index.tsx +2 -4
  288. package/src/theme/IconClose/index.tsx +26 -0
  289. package/src/theme/IconDarkMode/index.tsx +20 -0
  290. package/src/theme/IconEdit/index.tsx +5 -4
  291. package/src/theme/IconExternalLink/index.tsx +3 -5
  292. package/src/theme/IconExternalLink/styles.module.css +0 -2
  293. package/src/theme/IconHome/index.tsx +20 -0
  294. package/src/theme/IconLanguage/index.tsx +6 -8
  295. package/src/theme/IconLightMode/index.tsx +20 -0
  296. package/src/theme/IconMenu/index.tsx +3 -5
  297. package/src/theme/LastUpdated/index.tsx +4 -2
  298. package/src/theme/Layout/index.tsx +19 -15
  299. package/src/theme/LayoutProviders/index.tsx +16 -9
  300. package/src/theme/Logo/index.tsx +21 -19
  301. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  302. package/src/theme/MDXComponents/Code.tsx +37 -0
  303. package/src/theme/MDXComponents/Details.tsx +25 -0
  304. package/src/theme/MDXComponents/Head.tsx +29 -0
  305. package/src/theme/MDXComponents/Heading.tsx +14 -0
  306. package/src/theme/MDXComponents/Img.module.css +10 -0
  307. package/src/theme/MDXComponents/Img.tsx +26 -0
  308. package/src/theme/MDXComponents/Pre.tsx +22 -0
  309. package/src/theme/MDXComponents/Ul.tsx +24 -0
  310. package/src/theme/MDXComponents/index.tsx +23 -42
  311. package/src/theme/MDXContent/index.tsx +15 -0
  312. package/src/theme/MDXPage/index.tsx +37 -34
  313. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  314. package/src/theme/Navbar/Content/index.tsx +86 -0
  315. package/src/theme/Navbar/Content/styles.module.css +15 -0
  316. package/src/theme/Navbar/Layout/index.tsx +57 -0
  317. package/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -6
  318. package/src/theme/Navbar/Logo/index.tsx +19 -0
  319. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  320. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  321. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  322. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  323. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  324. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  325. package/src/theme/Navbar/Search/index.tsx +15 -0
  326. package/src/theme/Navbar/Search/styles.module.css +20 -0
  327. package/src/theme/Navbar/index.tsx +7 -147
  328. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  329. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -207
  330. package/src/theme/NavbarItem/DocNavbarItem.tsx +18 -38
  331. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +44 -0
  332. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +59 -51
  333. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
  334. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +193 -0
  335. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  336. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +19 -17
  337. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  338. package/src/theme/NavbarItem/NavbarNavLink.tsx +80 -0
  339. package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
  340. package/src/theme/NavbarItem/index.tsx +22 -29
  341. package/src/theme/NavbarItem/utils.ts +13 -0
  342. package/src/theme/NotFound.tsx +39 -36
  343. package/src/theme/PaginatorNavLink/index.tsx +26 -0
  344. package/src/theme/SearchBar.tsx +2 -1
  345. package/src/theme/SearchMetadata/index.tsx +43 -0
  346. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -44
  347. package/src/theme/SkipToContent/index.tsx +7 -32
  348. package/src/theme/SkipToContent/styles.module.css +7 -0
  349. package/src/theme/TOC/index.tsx +13 -44
  350. package/src/theme/TOC/styles.module.css +1 -1
  351. package/src/theme/TOCCollapsible/CollapseButton.module.css +29 -0
  352. package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
  353. package/src/theme/TOCCollapsible/index.module.css +31 -0
  354. package/src/theme/TOCCollapsible/index.tsx +45 -0
  355. package/src/theme/TOCInline/index.tsx +14 -35
  356. package/src/theme/TOCItems/Tree.tsx +46 -0
  357. package/src/theme/TOCItems/index.tsx +61 -0
  358. package/src/theme/TabItem/index.tsx +12 -4
  359. package/src/theme/TabItem/styles.module.css +10 -0
  360. package/src/theme/Tabs/index.tsx +120 -62
  361. package/src/theme/Tabs/styles.module.css +4 -13
  362. package/src/theme/Tag/index.tsx +27 -0
  363. package/src/theme/Tag/styles.module.css +70 -0
  364. package/src/theme/TagsListByLetter/index.tsx +43 -0
  365. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  366. package/src/theme/TagsListInline/index.tsx +35 -0
  367. package/src/theme/TagsListInline/styles.module.css +15 -0
  368. package/src/theme/ThemedImage/index.tsx +10 -11
  369. package/src/theme/ThemedImage/styles.module.css +2 -2
  370. package/src/theme/prism-include-languages.ts +20 -15
  371. package/src/theme-classic.d.ts +1279 -0
  372. package/src/translations.ts +84 -58
  373. package/src/validateThemeConfig.ts +448 -0
  374. package/babel.config.js +0 -35
  375. package/codeTranslations/README.md +0 -20
  376. package/codeTranslations/ar.json +0 -57
  377. package/codeTranslations/base.json +0 -112
  378. package/codeTranslations/bn.json +0 -56
  379. package/codeTranslations/da.json +0 -57
  380. package/codeTranslations/de.json +0 -57
  381. package/codeTranslations/es.json +0 -57
  382. package/codeTranslations/fa.json +0 -57
  383. package/codeTranslations/fil.json +0 -57
  384. package/codeTranslations/fr.json +0 -57
  385. package/codeTranslations/he.json +0 -57
  386. package/codeTranslations/hi.json +0 -57
  387. package/codeTranslations/ja.json +0 -57
  388. package/codeTranslations/ko.json +0 -57
  389. package/codeTranslations/pl.json +0 -57
  390. package/codeTranslations/pt-BR.json +0 -57
  391. package/codeTranslations/pt-PT.json +0 -57
  392. package/codeTranslations/ru.json +0 -57
  393. package/codeTranslations/tr.json +0 -57
  394. package/codeTranslations/vi.json +0 -57
  395. package/codeTranslations/zh-Hans.json +0 -57
  396. package/codeTranslations/zh-Hant.json +0 -57
  397. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  398. package/lib/__tests__/translations.test.js +0 -112
  399. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  400. package/lib/theme/AnnouncementBar/index.js +0 -72
  401. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  402. package/lib/theme/BlogListPage/index.js +0 -71
  403. package/lib/theme/BlogListPaginator/index.js +0 -63
  404. package/lib/theme/BlogPostItem/index.js +0 -161
  405. package/lib/theme/BlogPostPage/index.js +0 -69
  406. package/lib/theme/BlogPostPaginator/index.js +0 -64
  407. package/lib/theme/BlogSidebar/index.js +0 -51
  408. package/lib/theme/BlogTagsListPage/index.js +0 -76
  409. package/lib/theme/BlogTagsPostsPage/index.js +0 -100
  410. package/lib/theme/CodeBlock/index.js +0 -253
  411. package/lib/theme/DocItem/index.js +0 -129
  412. package/lib/theme/DocPage/index.js +0 -173
  413. package/lib/theme/DocPage/styles.module.css +0 -86
  414. package/lib/theme/DocPaginator/index.js +0 -63
  415. package/lib/theme/DocSidebar/index.js +0 -306
  416. package/lib/theme/DocSidebar/styles.module.css +0 -124
  417. package/lib/theme/DocVersionBanner/index.js +0 -128
  418. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  419. package/lib/theme/EditThisPage/index.js +0 -31
  420. package/lib/theme/Footer/index.js +0 -108
  421. package/lib/theme/Footer/styles.module.css +0 -15
  422. package/lib/theme/Heading/index.js +0 -76
  423. package/lib/theme/Heading/styles.module.css +0 -15
  424. package/lib/theme/IconArrow/index.js +0 -28
  425. package/lib/theme/IconEdit/index.js +0 -34
  426. package/lib/theme/IconExternalLink/index.js +0 -30
  427. package/lib/theme/IconLanguage/index.js +0 -29
  428. package/lib/theme/IconMenu/index.js +0 -30
  429. package/lib/theme/LastUpdated/index.js +0 -61
  430. package/lib/theme/Layout/index.js +0 -64
  431. package/lib/theme/Layout/styles.css +0 -27
  432. package/lib/theme/LayoutHead/index.js +0 -144
  433. package/lib/theme/LayoutProviders/index.js +0 -36
  434. package/lib/theme/Logo/index.js +0 -60
  435. package/lib/theme/MDXComponents/index.js +0 -65
  436. package/lib/theme/MDXPage/index.js +0 -66
  437. package/lib/theme/Navbar/index.js +0 -147
  438. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
  439. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
  440. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
  441. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  442. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  443. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  444. package/lib/theme/NavbarItem/index.js +0 -54
  445. package/lib/theme/NotFound.js +0 -57
  446. package/lib/theme/SearchBar.js +0 -15
  447. package/lib/theme/SearchMetadatas/index.js +0 -33
  448. package/lib/theme/Seo/index.js +0 -49
  449. package/lib/theme/SkipToContent/index.js +0 -63
  450. package/lib/theme/SkipToContent/styles.module.css +0 -14
  451. package/lib/theme/TOC/index.js +0 -59
  452. package/lib/theme/TOC/styles.module.css +0 -23
  453. package/lib/theme/TOCInline/index.js +0 -53
  454. package/lib/theme/TabItem/index.js +0 -32
  455. package/lib/theme/Tabs/index.js +0 -150
  456. package/lib/theme/Tabs/styles.module.css +0 -23
  457. package/lib/theme/ThemeContext.js +0 -21
  458. package/lib/theme/ThemeProvider/index.js +0 -38
  459. package/lib/theme/ThemedImage/index.js +0 -49
  460. package/lib/theme/ThemedImage/styles.module.css +0 -18
  461. package/lib/theme/Toggle/index.js +0 -94
  462. package/lib/theme/Toggle/styles.css +0 -103
  463. package/lib/theme/UserPreferencesContext.js +0 -18
  464. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  465. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  466. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  467. package/lib/theme/hooks/useDocs.js +0 -18
  468. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  469. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  470. package/lib/theme/hooks/useLocationHash.js +0 -28
  471. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  472. package/lib/theme/hooks/usePrismTheme.js +0 -36
  473. package/lib/theme/hooks/useScrollPosition.js +0 -49
  474. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  475. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  476. package/lib/theme/hooks/useTheme.js +0 -99
  477. package/lib/theme/hooks/useThemeContext.js +0 -31
  478. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  479. package/lib/theme/hooks/useWindowSize.js +0 -55
  480. package/lib/theme/prism-include-languages.js +0 -39
  481. package/lib/types.d.ts +0 -598
  482. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  483. package/lib-next/__tests__/translations.test.js +0 -128
  484. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  485. package/lib-next/index.js +0 -221
  486. package/lib-next/theme/DocPage/styles.module.css +0 -86
  487. package/lib-next/theme/DocSidebar/styles.module.css +0 -124
  488. package/lib-next/theme/DocVersionSuggestions/index.js +0 -126
  489. package/lib-next/theme/Heading/styles.css +0 -23
  490. package/lib-next/theme/Navbar/styles.module.css +0 -20
  491. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  492. package/lib-next/theme/Seo/index.js +0 -36
  493. package/lib-next/theme/ThemeProvider/index.js +0 -25
  494. package/lib-next/theme/Toggle/index.js +0 -80
  495. package/lib-next/theme/Toggle/styles.css +0 -103
  496. package/lib-next/theme/UserPreferencesContext.js +0 -9
  497. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  498. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  499. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  500. package/lib-next/theme/hooks/useDocs.js +0 -10
  501. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  502. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  503. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  504. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  505. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  506. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  507. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  508. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  509. package/lib-next/theme/hooks/useTheme.js +0 -82
  510. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  511. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  512. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  513. package/lib-next/translations.js +0 -145
  514. package/lib-next/types.d.ts +0 -598
  515. package/lib-next/validateThemeConfig.js +0 -317
  516. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  517. package/src/__tests__/translations.test.ts +0 -116
  518. package/src/__tests__/validateThemeConfig.test.js +0 -333
  519. package/src/theme/BlogSidebar/styles.module.css +0 -44
  520. package/src/theme/CodeBlock/styles.module.css +0 -68
  521. package/src/theme/DocPage/styles.module.css +0 -86
  522. package/src/theme/DocSidebar/styles.module.css +0 -124
  523. package/src/theme/SearchMetadatas/index.tsx +0 -28
  524. package/src/theme/Seo/index.tsx +0 -46
  525. package/src/theme/ThemeProvider/index.tsx +0 -24
  526. package/src/theme/Toggle/index.tsx +0 -100
  527. package/src/theme/Toggle/styles.css +0 -103
  528. package/src/theme/UserPreferencesContext.ts +0 -12
  529. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  530. package/src/theme/hooks/styles.css +0 -10
  531. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  532. package/src/theme/hooks/useDocs.ts +0 -11
  533. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  534. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  535. package/src/theme/hooks/useLocationHash.ts +0 -25
  536. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  537. package/src/theme/hooks/usePrismTheme.ts +0 -22
  538. package/src/theme/hooks/useScrollPosition.ts +0 -45
  539. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  540. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  541. package/src/theme/hooks/useTheme.ts +0 -92
  542. package/src/theme/hooks/useThemeContext.ts +0 -23
  543. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  544. package/src/theme/hooks/useWindowSize.ts +0 -51
  545. package/src/types.d.ts +0 -598
  546. package/src/validateThemeConfig.js +0 -317
  547. package/tsconfig.json +0 -12
  548. package/update-code-translations.js +0 -240
  549. package/update-code-translations.test.js +0 -33
package/README.md CHANGED
@@ -24,8 +24,8 @@ module.exports = {
24
24
 
25
25
  ## Swizzling components
26
26
 
27
- ```shell
27
+ ```bash
28
28
  $ npm swizzle @docusaurus/theme-classic [component name]
29
29
  ```
30
30
 
31
- All components used by this theme can be found [here](https://github.com/facebook/docusaurus/tree/master/packages/docusaurus-theme-classic/src/theme)
31
+ All components used by this theme can be found [here](https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-classic/src/theme)
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .admonition h5 {
9
+ margin-top: 0;
10
+ margin-bottom: 8px;
11
+ text-transform: uppercase;
12
+ }
13
+
14
+ .admonition h5 code {
15
+ text-transform: none;
16
+ }
17
+
18
+ .admonition-icon {
19
+ display: inline-block;
20
+ vertical-align: middle;
21
+ margin-right: 0.4em;
22
+ }
23
+
24
+ .admonition-icon svg {
25
+ display: inline-block;
26
+ width: 22px;
27
+ height: 22px;
28
+ stroke-width: 0;
29
+ fill: var(--ifm-alert-foreground-color);
30
+ stroke: var(--ifm-alert-foreground-color);
31
+ }
32
+
33
+ .admonition-content > :last-child {
34
+ margin-bottom: 0;
35
+ }
36
+
37
+ .admonition {
38
+ margin-bottom: 1em;
39
+ }
package/lib/deps.d.ts ADDED
@@ -0,0 +1,13 @@
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
+ declare module 'prism-react-renderer/prism' {
9
+ import type * as PrismNamespace from 'prismjs';
10
+
11
+ const Prism: typeof PrismNamespace;
12
+ export default Prism;
13
+ }
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getSwizzleConfig;
7
+
8
+ /**
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+
15
+ /* eslint sort-keys: "error" */
16
+ function getSwizzleConfig() {
17
+ return {
18
+ components: {
19
+ CodeBlock: {
20
+ actions: {
21
+ eject: 'safe',
22
+ wrap: 'safe'
23
+ },
24
+ description: 'The component used to render multi-line code blocks, generally used in Markdown files.'
25
+ },
26
+ ColorModeToggle: {
27
+ actions: {
28
+ eject: 'safe',
29
+ wrap: 'safe'
30
+ },
31
+ description: 'The color mode toggle to switch between light and dark mode.'
32
+ },
33
+ DocSidebar: {
34
+ actions: {
35
+ eject: 'unsafe',
36
+ // Too much technical code in sidebar, not very safe atm
37
+ wrap: 'safe'
38
+ },
39
+ description: 'The sidebar component on docs pages'
40
+ },
41
+ Footer: {
42
+ actions: {
43
+ eject: 'safe',
44
+ wrap: 'safe'
45
+ },
46
+ description: "The footer component of you site's layout"
47
+ },
48
+ 'Footer/Copyright': {
49
+ actions: {
50
+ eject: 'safe',
51
+ wrap: 'safe'
52
+ },
53
+ description: 'The footer copyright'
54
+ },
55
+ 'Footer/Layout': {
56
+ actions: {
57
+ eject: 'safe',
58
+ wrap: 'safe'
59
+ },
60
+ description: 'The footer main layout component'
61
+ },
62
+ 'Footer/LinkItem': {
63
+ actions: {
64
+ eject: 'safe',
65
+ wrap: 'safe'
66
+ },
67
+ description: 'The footer link item component'
68
+ },
69
+ 'Footer/Links': {
70
+ actions: {
71
+ eject: 'safe',
72
+ wrap: 'safe'
73
+ },
74
+ description: 'The footer component rendering the footer links'
75
+ },
76
+ 'Footer/Links/MultiColumn': {
77
+ actions: {
78
+ eject: 'safe',
79
+ wrap: 'safe'
80
+ },
81
+ description: 'The footer component rendering the footer links with a multi-column layout'
82
+ },
83
+ 'Footer/Links/Simple': {
84
+ actions: {
85
+ eject: 'safe',
86
+ wrap: 'safe'
87
+ },
88
+ description: 'The footer component rendering the footer links with a simple layout (single row)'
89
+ },
90
+ 'Footer/Logo': {
91
+ actions: {
92
+ eject: 'safe',
93
+ wrap: 'safe'
94
+ },
95
+ description: 'The footer logo'
96
+ },
97
+ IconArrow: {
98
+ actions: {
99
+ eject: 'safe',
100
+ wrap: 'safe'
101
+ },
102
+ description: 'The arrow icon component'
103
+ },
104
+ IconDarkMode: {
105
+ actions: {
106
+ eject: 'safe',
107
+ wrap: 'safe'
108
+ },
109
+ description: 'The dark mode icon component.'
110
+ },
111
+ IconEdit: {
112
+ actions: {
113
+ eject: 'safe',
114
+ wrap: 'safe'
115
+ },
116
+ description: 'The edit icon component'
117
+ },
118
+ IconLightMode: {
119
+ actions: {
120
+ eject: 'safe',
121
+ wrap: 'safe'
122
+ },
123
+ description: 'The light mode icon component.'
124
+ },
125
+ IconMenu: {
126
+ actions: {
127
+ eject: 'safe',
128
+ wrap: 'safe'
129
+ },
130
+ description: 'The menu icon component'
131
+ },
132
+ MDXComponents: {
133
+ actions: {
134
+ eject: 'safe',
135
+ wrap: 'forbidden' /// TODO allow wrapping objects???
136
+
137
+ },
138
+ description: 'The MDX components to use for rendering MDX files. Meant to be ejected.'
139
+ },
140
+ 'MDXComponents/A': {
141
+ actions: {
142
+ eject: 'safe',
143
+ wrap: 'safe'
144
+ },
145
+ description: 'The component used to render <a> tags and Markdown links in MDX'
146
+ },
147
+ 'MDXComponents/Code': {
148
+ actions: {
149
+ eject: 'safe',
150
+ wrap: 'safe'
151
+ },
152
+ description: 'The component used to render <code> tags and Markdown code blocks in MDX'
153
+ },
154
+ 'MDXComponents/Details': {
155
+ actions: {
156
+ eject: 'safe',
157
+ wrap: 'safe'
158
+ },
159
+ description: 'The component used to render <details> tags in MDX'
160
+ },
161
+ 'MDXComponents/Head': {
162
+ actions: {
163
+ eject: 'forbidden',
164
+ wrap: 'forbidden'
165
+ },
166
+ description: 'Technical component used to assign metadata (generally for SEO purpose) to the current MDX document'
167
+ },
168
+ 'MDXComponents/Heading': {
169
+ actions: {
170
+ eject: 'safe',
171
+ wrap: 'safe'
172
+ },
173
+ description: 'The component used to render heading tags (<h1>, <h2>...) and Markdown headings in MDX'
174
+ },
175
+ 'MDXComponents/Img': {
176
+ actions: {
177
+ eject: 'safe',
178
+ wrap: 'safe'
179
+ },
180
+ description: 'The component used to render <img> tags and Markdown images in MDX'
181
+ },
182
+ 'MDXComponents/Pre': {
183
+ actions: {
184
+ eject: 'safe',
185
+ wrap: 'safe'
186
+ },
187
+ description: 'The component used to render <pre> tags in MDX'
188
+ },
189
+ 'MDXComponents/Ul': {
190
+ actions: {
191
+ eject: 'safe',
192
+ wrap: 'safe'
193
+ },
194
+ description: 'The component used to render <ul> tags and Markdown unordered lists in MDX'
195
+ },
196
+ MDXContent: {
197
+ actions: {
198
+ eject: 'safe',
199
+ wrap: 'safe'
200
+ },
201
+ description: 'A component wrapping all MDX content and providing the MDXComponents to the MDX context'
202
+ },
203
+ 'NavbarItem/ComponentTypes': {
204
+ actions: {
205
+ eject: 'safe',
206
+ wrap: 'forbidden'
207
+ },
208
+ description: 'The Navbar item components mapping. Can be ejected to add custom navbar item types. See https://github.com/facebook/docusaurus/issues/7227.'
209
+ },
210
+ // TODO should probably not even appear here
211
+ 'NavbarItem/utils': {
212
+ actions: {
213
+ eject: 'forbidden',
214
+ wrap: 'forbidden'
215
+ }
216
+ },
217
+ NotFound: {
218
+ actions: {
219
+ eject: 'safe',
220
+ wrap: 'safe'
221
+ },
222
+ description: 'The global 404 page of your site, meant to be ejected and customized'
223
+ },
224
+ SearchBar: {
225
+ actions: {
226
+ eject: 'safe',
227
+ wrap: 'safe'
228
+ },
229
+ // TODO how to describe this one properly?
230
+ // By default it's an empty placeholder for the user to fill
231
+ description: 'The search bar component of your site, appearing in the navbar.'
232
+ },
233
+ 'prism-include-languages': {
234
+ actions: {
235
+ eject: 'safe',
236
+ wrap: 'forbidden' // Not a component!
237
+
238
+ },
239
+ description: 'The Prism languages to include for code block syntax highlighting. Meant to be ejected.'
240
+ }
241
+ }
242
+ };
243
+ }
package/lib/index.js CHANGED
@@ -3,25 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = docusaurusThemeClassic;
7
- exports.getSwizzleComponentList = getSwizzleComponentList;
6
+ exports.AnnouncementBarDismissStorageKey = void 0;
7
+ exports.default = themeClassic;
8
+ Object.defineProperty(exports, "getSwizzleConfig", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _getSwizzleConfig.default;
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "validateThemeConfig", {
9
15
  enumerable: true,
10
16
  get: function () {
11
17
  return _validateThemeConfig.validateThemeConfig;
12
18
  }
13
19
  });
14
- exports.AnnouncementBarDismissStorageKey = void 0;
15
20
 
16
21
  var _translations = require("./translations");
17
22
 
18
- var _path = _interopRequireDefault(require("path"));
19
-
20
- var _module = _interopRequireDefault(require("module"));
23
+ var _module = require("module");
21
24
 
22
25
  var _rtlcss = _interopRequireDefault(require("rtlcss"));
23
26
 
24
- var _utils = require("@docusaurus/utils");
27
+ var _themeTranslations = require("@docusaurus/theme-translations");
28
+
29
+ var _getSwizzleConfig = _interopRequireDefault(require("./getSwizzleConfig"));
25
30
 
26
31
  var _validateThemeConfig = require("./validateThemeConfig");
27
32
 
@@ -33,18 +38,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
33
38
  * This source code is licensed under the MIT license found in the
34
39
  * LICENSE file in the root directory of this source tree.
35
40
  */
36
- const createRequire = _module.default.createRequire || _module.default.createRequireFromPath;
37
- const requireFromDocusaurusCore = createRequire(require.resolve('@docusaurus/core/package.json'));
41
+ const requireFromDocusaurusCore = (0, _module.createRequire)(require.resolve('@docusaurus/core/package.json'));
38
42
  const ContextReplacementPlugin = requireFromDocusaurusCore('webpack/lib/ContextReplacementPlugin'); // Need to be inlined to prevent dark mode FOUC
39
- // Make sure that the 'storageKey' is the same as the one in `/theme/hooks/useTheme.js`
43
+ // Make sure the key is the same as the one in `/theme/hooks/useTheme.js`
40
44
 
41
45
  const ThemeStorageKey = 'theme';
42
46
 
43
47
  const noFlashColorMode = ({
44
48
  defaultMode,
45
49
  respectPrefersColorScheme
46
- }) => {
47
- return `(function() {
50
+ }) => `(function() {
48
51
  var defaultMode = '${defaultMode}';
49
52
  var respectPrefersColorScheme = ${respectPrefersColorScheme};
50
53
 
@@ -78,16 +81,17 @@ const noFlashColorMode = ({
78
81
  setDataThemeAttribute(defaultMode === 'dark' ? 'dark' : 'light');
79
82
  }
80
83
  }
81
- })();`;
82
- }; // Duplicated constant. Unfortunately we can't import it from theme-common, as we need to support older nodejs versions without ESM support
84
+ })();`; // Duplicated constant. Unfortunately we can't import it from theme-common, as
85
+ // we need to support older nodejs versions without ESM support
83
86
  // TODO: import from theme-common once we only support Node.js with ESM support
84
87
  // + move all those announcementBar stuff there too
85
88
 
86
89
 
87
90
  const AnnouncementBarDismissStorageKey = 'docusaurus.announcement.dismiss';
88
91
  exports.AnnouncementBarDismissStorageKey = AnnouncementBarDismissStorageKey;
89
- const AnnouncementBarDismissDataAttribute = 'data-announcement-bar-initially-dismissed'; // We always render the announcement bar html on the server, to prevent layout shifts on React hydration
90
- // The theme can use CSS + the data attribute to hide the announcement bar asap (before React hydration)
92
+ const AnnouncementBarDismissDataAttribute = 'data-announcement-bar-initially-dismissed'; // We always render the announcement bar html on the server, to prevent layout
93
+ // shifts on React hydration. The theme can use CSS + the data attribute to hide
94
+ // the announcement bar asap (before React hydration)
91
95
 
92
96
  const AnnouncementBarInlineJavaScript = `
93
97
  (function() {
@@ -104,64 +108,55 @@ function getInfimaCSSFile(direction) {
104
108
  return `infima/dist/css/default/default${direction === 'rtl' ? '-rtl' : ''}.css`;
105
109
  }
106
110
 
107
- function docusaurusThemeClassic(context, // TODO: LoadContext is missing some of properties
108
- options) {
111
+ function themeClassic(context, options) {
109
112
  const {
110
- siteConfig: {
111
- themeConfig: roughlyTypedThemeConfig
112
- },
113
113
  i18n: {
114
114
  currentLocale,
115
115
  localeConfigs
116
116
  }
117
117
  } = context;
118
- const themeConfig = roughlyTypedThemeConfig || {};
118
+ const themeConfig = context.siteConfig.themeConfig;
119
119
  const {
120
120
  announcementBar,
121
121
  colorMode,
122
122
  prism: {
123
- additionalLanguages = []
124
- } = {}
123
+ additionalLanguages
124
+ }
125
125
  } = themeConfig;
126
126
  const {
127
127
  customCss
128
- } = options || {};
128
+ } = options ?? {};
129
129
  const {
130
130
  direction
131
131
  } = localeConfigs[currentLocale];
132
132
  return {
133
133
  name: 'docusaurus-theme-classic',
134
134
 
135
- /*
136
- Does not seem needed: webpack can already hot reload theme files
137
- getPathsToWatch() {
138
- return [
139
- path.join(__dirname, '..', 'lib'),
140
- path.join(__dirname, '..', 'lib-next'),
141
- ];
142
- },
143
- */
144
135
  getThemePath() {
145
- return _path.default.join(__dirname, '..', 'lib-next', 'theme');
136
+ return '../lib-next/theme';
146
137
  },
147
138
 
148
139
  getTypeScriptThemePath() {
149
- return _path.default.resolve(__dirname, '..', 'src', 'theme');
140
+ return '../src/theme';
150
141
  },
151
142
 
152
- getTranslationFiles: async () => (0, _translations.getTranslationFiles)({
143
+ getTranslationFiles: () => (0, _translations.getTranslationFiles)({
153
144
  themeConfig
154
145
  }),
155
- translateThemeConfig: _translations.translateThemeConfig,
156
- getDefaultCodeTranslationMessages: () => {
157
- return (0, _utils.readDefaultCodeTranslationMessages)({
158
- dirPath: _path.default.resolve(__dirname, '..', 'codeTranslations'),
159
- locale: currentLocale
146
+ translateThemeConfig: params => (0, _translations.translateThemeConfig)({
147
+ themeConfig: params.themeConfig,
148
+ translationFiles: params.translationFiles
149
+ }),
150
+
151
+ getDefaultCodeTranslationMessages() {
152
+ return (0, _themeTranslations.readDefaultCodeTranslationMessages)({
153
+ locale: currentLocale,
154
+ name: 'theme-common'
160
155
  });
161
156
  },
162
157
 
163
158
  getClientModules() {
164
- const modules = [require.resolve(getInfimaCSSFile(direction)), _path.default.resolve(__dirname, './prism-include-languages')];
159
+ const modules = [require.resolve(getInfimaCSSFile(direction)), './prism-include-languages', './admonitions.css', './nprogress'];
165
160
 
166
161
  if (customCss) {
167
162
  if (Array.isArray(customCss)) {
@@ -177,9 +172,10 @@ options) {
177
172
  configureWebpack() {
178
173
  const prismLanguages = additionalLanguages.map(lang => `prism-${lang}`).join('|');
179
174
  return {
180
- ignoreWarnings: [// See https://github.com/facebook/docusaurus/pull/3382
181
- e => e.message.includes("Can't resolve '@theme-init/hooks/useDocs")],
182
- plugins: [new ContextReplacementPlugin(/prismjs[\\/]components$/, new RegExp(`^./(${prismLanguages})$`))]
175
+ plugins: [// This allows better optimization by only bundling those components
176
+ // that the user actually needs, because the modules are dynamically
177
+ // required and can't be known during compile time.
178
+ new ContextReplacementPlugin(/prismjs[\\/]components$/, new RegExp(`^./(${prismLanguages})$`))]
183
179
  };
184
180
  },
185
181
 
@@ -220,10 +216,4 @@ ${announcementBar ? AnnouncementBarInlineJavaScript : ''}
220
216
  }
221
217
 
222
218
  };
223
- }
224
-
225
- const swizzleAllowedComponents = ['CodeBlock', 'DocSidebar', 'Footer', 'NotFound', 'SearchBar', 'IconArrow', 'IconEdit', 'IconMenu', 'hooks/useTheme', 'prism-include-languages'];
226
-
227
- function getSwizzleComponentList() {
228
- return swizzleAllowedComponents;
229
219
  }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ /**
9
+ * Styles for NProgress
10
+ * Copied over to remove unused styles for the spinner.
11
+ * https://github.com/rstacruz/nprogress/blob/master/nprogress.css
12
+ */
13
+
14
+ :root {
15
+ --docusaurus-progress-bar-color: var(--ifm-color-primary);
16
+ }
17
+
18
+ #nprogress {
19
+ pointer-events: none;
20
+ }
21
+
22
+ #nprogress .bar {
23
+ background: var(--docusaurus-progress-bar-color);
24
+ position: fixed;
25
+ z-index: 1031;
26
+ top: 0;
27
+ left: 0;
28
+ width: 100%;
29
+ height: 2px;
30
+ }
31
+
32
+ #nprogress .peg {
33
+ position: absolute;
34
+ right: 0;
35
+ width: 100px;
36
+ height: 100%;
37
+ box-shadow: 0 0 10px var(--docusaurus-progress-bar-color),
38
+ 0 0 5px var(--docusaurus-progress-bar-color);
39
+ opacity: 1;
40
+ transform: rotate(3deg) translate(0, -4px);
41
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _nprogress = _interopRequireDefault(require("nprogress"));
9
+
10
+ require("./nprogress.css");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * Copyright (c) Facebook, Inc. and its affiliates.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+ _nprogress.default.configure({
21
+ showSpinner: false
22
+ });
23
+
24
+ const delay = 200;
25
+ const clientModule = {
26
+ onRouteUpdate({
27
+ location,
28
+ previousLocation
29
+ }) {
30
+ if (previousLocation && location.pathname !== previousLocation.pathname) {
31
+ const progressBarTimeout = window.setTimeout(() => {
32
+ _nprogress.default.start();
33
+ }, delay);
34
+ return () => window.clearTimeout(progressBarTimeout);
35
+ }
36
+
37
+ return undefined;
38
+ },
39
+
40
+ onRouteDidUpdate() {
41
+ _nprogress.default.done();
42
+ }
43
+
44
+ };
45
+ var _default = clientModule;
46
+ exports.default = _default;
@@ -1,11 +1,15 @@
1
+ "use strict";
2
+
3
+ var _prism = _interopRequireDefault(require("prism-react-renderer/prism"));
4
+
5
+ var _prismIncludeLanguages = _interopRequireDefault(require("@theme/prism-include-languages"));
6
+
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+
1
9
  /**
2
10
  * Copyright (c) Facebook, Inc. and its affiliates.
3
11
  *
4
12
  * This source code is licensed under the MIT license found in the
5
13
  * LICENSE file in the root directory of this source tree.
6
14
  */
7
-
8
- import Prism from 'prism-react-renderer/prism';
9
- import prismIncludeLanguages from '@theme/prism-include-languages';
10
-
11
- prismIncludeLanguages(Prism);
15
+ (0, _prismIncludeLanguages.default)(_prism.default);